41 #ifndef PIDAP_HPP_INCLUDED
42 #define PIDAP_HPP_INCLUDED
44 #include <orbitersdk.h>
45 #include "../../lib/PID/PID.hpp"
46 #include "../../lib/Systems/Vect3.hpp"
51 PIDAP(
const VESSEL * vessel );
54 VECTOR3 GetVesselAngularAccelerationRatio(
const VESSEL * vessel );
56 EnjoLib::PID m_pidAPSpaceX;
57 EnjoLib::PID m_pidAPSpaceY;
58 EnjoLib::PID m_pidAPSpaceBank;
60 EnjoLib::PID m_pidAPAtmX;
61 EnjoLib::PID m_pidAPAtmY;
62 EnjoLib::PID m_pidAPAtmBankTarget;
63 EnjoLib::PID m_pidAPAtmBankWingsLevel;
65 EnjoLib::PID m_pidEngDA;
67 void SetSpaceXY(
const EnjoLib::PID & pid );
68 void SetSpaceBank(
const EnjoLib::PID & pid );
69 void SetAtmoXY(
const EnjoLib::PID & pid );
70 void SetAtmoBank(
const EnjoLib::PID & pid );
72 double GetReferenceKdForAtmo()
const;
73 const double GetAtmXYContinuousControlSwitch()
const;
74 const double GetAtmBankTargetWindsLevelSwitch()
const;
75 double GetRollAlt()
const;
76 bool IsUpsideDown()
const;
77 bool IsRollNeeded()
const;
78 void SaveConfig( FILEHANDLE fhVar )
const;
80 bool m_prevNeededPitch;
83 double timeOfSynchroBurn;
84 double dvReallyUsedSynchro;
87 void ReadVesselPIDConfig(
const VESSEL * vessel );
88 EnjoLib::PID CreatePID(
const VECTOR3 & vect )
const;
89 VECTOR3 PID2Vector(
const EnjoLib::PID & pid )
const;
92 bool m_rotationRatioNeeded;
93 double m_atmXYContinuousControlSwitch;
94 double m_atmBankTargetWindsLevelSwitch;
101 const static EnjoLib::Vect3 m_statDeltaGliderRefRotAcc;
104 #endif // PIDAP_HPP_INCLUDED