- public:
- FGAIMultiplayer();
- ~FGAIMultiplayer();
-
- bool init();
- virtual void bind();
- virtual void unbind();
- void update(double dt);
-
-
- void setSpeedN(double sn);
- void setSpeedE(double se);
- void setSpeedD(double sd);
- void setAccN(double an);
- void setAccE(double ae);
- void setAccD(double ad);
- void setRateH(double rh);
- void setRateR(double rr);
- void setRateP(double rp);
- void setRudder( double r ) { rudder = r;}
- void setElevator( double e ) { elevator = e; }
- void setLeftAileron( double la ) { left_aileron = la; }
- void setRightAileron( double ra ) { right_aileron = ra; }
- void setTimeStamp();
-
- inline SGPropertyNode *FGAIMultiplayer::getProps() { return props; }
-
- void setAcType(string ac) { acType = ac; };
- void setCompany(string comp);
-
- virtual const char* getTypeString(void) const { return "multiplayer"; }
-
- double dt;
- double speedN, speedE, speedD;
- double rateH, rateR, rateP;
- double raw_hdg , raw_roll , raw_pitch ;
- double raw_speed_north_deg_sec, raw_speed_east_deg_sec;
- double raw_lat, damp_lat, lat_constant;
- double raw_lon, damp_lon, lon_constant;
- double raw_alt, damp_alt, alt_constant;
- double hdg_constant, roll_constant, pitch_constant;
- double speed_north_deg_sec_constant, speed_east_deg_sec_constant;
- double speed_north_deg_sec, speed_east_deg_sec;
- double accN, accE, accD;
- double rudder, elevator, left_aileron, right_aileron;
- double time_stamp, last_time_stamp;
-
- SGPropertyNode_ptr _time_node;
-
- void Run(double dt);
- inline double sign(double x) { return (x < 0.0) ? -1.0 : 1.0; }
-
- string acType;
- string company;
-};
+ void setAllowExtrapolation(bool allowExtrapolation)
+ { mAllowExtrapolation = allowExtrapolation; }
+ bool getAllowExtrapolation(void) const
+ { return mAllowExtrapolation; }
+ void setLagAdjustSystemSpeed(double lagAdjustSystemSpeed)
+ {
+ if (lagAdjustSystemSpeed < 0)
+ lagAdjustSystemSpeed = 0;
+ mLagAdjustSystemSpeed = lagAdjustSystemSpeed;
+ }
+ double getLagAdjustSystemSpeed(void) const
+ { return mLagAdjustSystemSpeed; }
+
+ void addPropertyId(unsigned id, const char* name)
+ { mPropertyMap[id] = props->getNode(name, true); }
+
+ SGPropertyNode* getPropertyRoot()
+ { return props; }
+
+ virtual const char* getTypeString(void) const { return "multiplayer"; }