5a849b66e8
- changed FGSubsystem::update(int) to FGSubsystem::update(delta_time_sec); the argument is now delta time in seconds rather than milliseconds - added FGSubsystem::suspend(), FGSubsystem::suspend(bool), FGSubsystem::resume(), and FGSubsystem::is_suspended(), all with default implementations; is_suspended takes account of the master freeze as well as the subsystem's individual suspended state - the FDMs now use the delta time argument the same as the rest of FlightGear; formerly, main.cxx made a special case and passed a multiloop argument - FDMs now calculate multiloop internally instead of relying on main.cxx There are probably some problems -- I've done basic testing with the major FDMs and subsystems, but we'll probably need a few weeks to sniff out bugs.
30 lines
507 B
C++
30 lines
507 B
C++
#ifndef _YASIM_HXX
|
|
#define _YASIM_HXX
|
|
|
|
#include <FDM/flight.hxx>
|
|
|
|
namespace yasim { class FGFDM; };
|
|
|
|
class YASim : public FGInterface {
|
|
public:
|
|
YASim(double dt);
|
|
|
|
// Load externally set stuff into the FDM
|
|
virtual void init();
|
|
virtual void bind();
|
|
|
|
// Run an iteration
|
|
virtual void update(double dt);
|
|
|
|
private:
|
|
void report();
|
|
void copyFromYASim();
|
|
void copyToYASim(bool copyState);
|
|
|
|
void printDEBUG();
|
|
|
|
yasim::FGFDM* _fdm;
|
|
float _dt;
|
|
};
|
|
|
|
#endif // _YASIM_HXX
|