From: <mk...@us...> - 2003-07-18 21:01:00
|
Update of /cvsroot/csp/APPLICATIONS/CSPSim/Include In directory sc8-pr-cvs1:/tmp/cvs-serv24973/Include Modified Files: AircraftObject.h Log Message: Index: AircraftObject.h =================================================================== RCS file: /cvsroot/csp/APPLICATIONS/CSPSim/Include/AircraftObject.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** AircraftObject.h 26 Jun 2003 09:25:45 -0000 1.14 --- AircraftObject.h 18 Jul 2003 21:00:57 -0000 1.15 *************** *** 1,3 **** ! // Combat Simulator Project - FlightSim Demo // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net --- 1,3 ---- ! // Combat Simulator Project - CSPSim // Copyright (C) 2002 The Combat Simulator Project // http://csp.sourceforge.net *************** *** 31,51 **** #include "HID.h" #include "LandingGear.h" ! #include "PrimaryAeroDynamics.h" class AircraftDynamics: public simdata::Object { ! simdata::Link<PrimaryAeroDynamics> m_PrimaryAeroDynamics; simdata::Link<GearDynamics> m_GearDynamics; simdata::Link<EngineDynamics> m_EngineDynamics; public: ! SIMDATA_OBJECT(AircraftDynamics, 3, 0) BEGIN_SIMDATA_XML_INTERFACE(AircraftDynamics) ! SIMDATA_XML("primary_aero_dynamics", AircraftDynamics::m_PrimaryAeroDynamics, true) SIMDATA_XML("gear_dynamics", AircraftDynamics::m_GearDynamics, true) SIMDATA_XML("engine_dynamics", AircraftDynamics::m_EngineDynamics, true) END_SIMDATA_XML_INTERFACE simdata::Ref<PrimaryAeroDynamics> getAeroDynamics() const { return m_PrimaryAeroDynamics; } simdata::Ref<GearDynamics> getGearDynamics() const { return m_GearDynamics; --- 31,64 ---- #include "HID.h" #include "LandingGear.h" ! //#include "PrimaryAeroDynamics.h" ! #include "FlightDynamics.h" ! ! ! class FlightModel; ! class AnimationValueChannel; class AircraftDynamics: public simdata::Object { ! //simdata::Link<PrimaryAeroDynamics> m_PrimaryAeroDynamics; ! simdata::Ref<FlightDynamics> m_FlightDynamics; ! simdata::Link<FlightModel> m_FlightModel; simdata::Link<GearDynamics> m_GearDynamics; simdata::Link<EngineDynamics> m_EngineDynamics; public: ! SIMDATA_OBJECT(AircraftDynamics, 4, 0) BEGIN_SIMDATA_XML_INTERFACE(AircraftDynamics) ! //SIMDATA_XML("primary_aero_dynamics", AircraftDynamics::m_PrimaryAeroDynamics, true) ! SIMDATA_XML("flight_model", AircraftDynamics::m_FlightModel, true) SIMDATA_XML("gear_dynamics", AircraftDynamics::m_GearDynamics, true) SIMDATA_XML("engine_dynamics", AircraftDynamics::m_EngineDynamics, true) END_SIMDATA_XML_INTERFACE + /* simdata::Ref<PrimaryAeroDynamics> getAeroDynamics() const { return m_PrimaryAeroDynamics; } + */ + simdata::Ref<FlightDynamics> getFlightDynamics() const { + return m_FlightDynamics; + } simdata::Ref<GearDynamics> getGearDynamics() const { return m_GearDynamics; *************** *** 57,60 **** --- 70,74 ---- void pack(simdata::Packer& p) const; void unpack(simdata::UnPacker& p); + void postCreate(); }; *************** *** 76,79 **** --- 90,95 ---- SIMDATA_XML("rudder_min", AircraftObject::m_RudderMin, true) SIMDATA_XML("rudder_max", AircraftObject::m_RudderMax, true) + SIMDATA_XML("airbrake_max", AircraftObject::m_AirbrakeMax, true) + SIMDATA_XML("airbrake_rate", AircraftObject::m_AirbrakeRate, true) SIMDATA_XML("aircraft_dynamics", AircraftObject::m_AircraftDynamics, true) END_SIMDATA_XML_INTERFACE *************** *** 83,86 **** --- 99,103 ---- AXIS_INTERFACE(AircraftObject, setAileron); AXIS_INTERFACE(AircraftObject, setElevator); + AXIS_INTERFACE(AircraftObject, setAirbrake); ACTION_INTERFACE(AircraftObject, IncElevator); ACTION_INTERFACE(AircraftObject, noIncElevator); *************** *** 107,110 **** --- 124,131 ---- ACTION_INTERFACE(AircraftObject, GearToggle); ACTION_INTERFACE(AircraftObject, MarkersToggle); + ACTION_INTERFACE(AircraftObject, OpenAirbrake); + ACTION_INTERFACE(AircraftObject, CloseAirbrake); + ACTION_INTERFACE(AircraftObject, IncAirbrake); + ACTION_INTERFACE(AircraftObject, DecAirbrake); AircraftObject(); *************** *** 127,141 **** void setComplexPhysics(bool flag) { m_ComplexPhysics = flag; } ! double getAngleOfAttack() const { ! return m_PrimaryAeroDynamics->getAngleOfAttack(); } ! double getSideSlip() const { ! return m_PrimaryAeroDynamics->getSideSlip(); } ! virtual double getGForce() const { ! return m_PrimaryAeroDynamics->getGForce(); } ! virtual double getSpeed() const { ! return m_PrimaryAeroDynamics->getSpeed(); } --- 148,166 ---- void setComplexPhysics(bool flag) { m_ComplexPhysics = flag; } ! inline double getAngleOfAttack() const { ! //return m_PrimaryAeroDynamics->getAngleOfAttack(); ! return m_FlightDynamics->getAngleOfAttack(); } ! inline double getSideSlip() const { ! //return m_PrimaryAeroDynamics->getSideSlip(); ! return m_FlightDynamics->getSideSlip(); } ! inline double getGForce() const { ! //return m_PrimaryAeroDynamics->getGForce(); ! return m_FlightDynamics->getGForce(); } ! inline double getSpeed() const { ! //return m_PrimaryAeroDynamics->getSpeed(); ! return m_FlightDynamics->getSpeed(); } *************** *** 151,158 **** virtual void unpack(simdata::UnPacker& p); virtual void postCreate(); virtual void setGearStatus(bool on); bool isGearRetracted() const; ! // dynamic properties double m_Roll; --- 176,193 ---- virtual void unpack(simdata::UnPacker& p); virtual void postCreate(); + virtual void convertXML(); + + virtual void bindAnimations(); + simdata::Ref<AnimationValueChannel> m_AnimateRudder; + simdata::Ref<AnimationValueChannel> m_AnimateElevator; + simdata::Ref<AnimationValueChannel> m_AnimateAileron; + simdata::Ref<AnimationValueChannel> m_AnimateAirbrake; virtual void setGearStatus(bool on); bool isGearRetracted() const; ! ! // data recording ! virtual void initDataRecorder(); ! // dynamic properties double m_Roll; *************** *** 165,168 **** --- 200,204 ---- double m_RudderInput; double m_ThrottleInput; + double m_AirbrakeInput; // keyboard inputs *************** *** 184,187 **** --- 220,224 ---- double m_Rudder; double m_Throttle; + double m_Airbrake; // control surface limits *************** *** 192,195 **** --- 229,234 ---- double m_RudderMin; double m_RudderMax; + double m_AirbrakeMax; + double m_AirbrakeRate; simdata::Ref<AircraftPhysicsModel> m_AircraftPhysicsModel; *************** *** 197,201 **** // various torques simdata::Link<AircraftDynamics> m_AircraftDynamics; ! simdata::Ref<PrimaryAeroDynamics> m_PrimaryAeroDynamics; simdata::Ref<GearDynamics> m_GearDynamics; simdata::Ref<GroundCollisionDynamics> m_GroundCollisionDynamics; --- 236,241 ---- // various torques simdata::Link<AircraftDynamics> m_AircraftDynamics; ! //simdata::Ref<PrimaryAeroDynamics> m_PrimaryAeroDynamics; ! simdata::Ref<FlightDynamics> m_FlightDynamics; simdata::Ref<GearDynamics> m_GearDynamics; simdata::Ref<GroundCollisionDynamics> m_GroundCollisionDynamics; *************** *** 204,207 **** --- 244,256 ---- bool m_PhysicsInitialized; bool m_ComplexPhysics; + + private: + enum { + CH_AILERON_DEFLECTION, + CH_ELEVATOR_DEFLECTION, + CH_RUDDER_DEFLECTION, + }; + RecorderInterface m_Recorder; + }; |