sync JSBSim and FlightGear
This commit is contained in:
parent
76fc6bc8e6
commit
815333af23
50 changed files with 165 additions and 126 deletions
|
@ -71,6 +71,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -94,7 +96,6 @@ CLASS DOCUMENTATION
|
|||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
namespace JSBSim {
|
||||
|
||||
class FGAerodynamics : public FGModel {
|
||||
|
||||
|
|
|
@ -104,6 +104,7 @@ CLASS IMPLEMENTATION
|
|||
FGAircraft::FGAircraft(FGFDMExec* fdmex) : FGModel(fdmex)
|
||||
{
|
||||
Name = "FGAircraft";
|
||||
WingSpan = 0.0;
|
||||
HTailArea = VTailArea = 0.0;
|
||||
HTailArm = VTailArm = 0.0;
|
||||
lbarh = lbarv = 0.0;
|
||||
|
|
|
@ -70,6 +70,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -109,8 +111,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGAircraft : public FGModel {
|
||||
public:
|
||||
/** Constructor
|
||||
|
|
|
@ -58,6 +58,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -82,8 +84,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
*******************************************************************************/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGAtmosphere : public FGModel {
|
||||
public:
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ CLASS IMPLEMENTATION
|
|||
FGAuxiliary::FGAuxiliary(FGFDMExec* fdmex) : FGModel(fdmex)
|
||||
{
|
||||
Name = "FGAuxiliary";
|
||||
vcas = veas = mach = qbar = pt = 0;
|
||||
vcas = veas = mach = qbar = pt = tat = 0;
|
||||
psl = rhosl = 1;
|
||||
earthPosAngle = 0.0;
|
||||
|
||||
|
|
|
@ -54,6 +54,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -75,8 +77,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGAuxiliary : public FGModel {
|
||||
public:
|
||||
/** Constructor
|
||||
|
|
|
@ -62,12 +62,12 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
DECLARATION: FGColumnVector3
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGColumnVector3 : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -62,12 +62,12 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
DECLARATION: FGColumnVector4
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGColumnVector4 : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -82,6 +82,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -104,8 +106,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGConfigFile : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -69,12 +69,12 @@ DEFINITIONS
|
|||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGFDMExec;
|
||||
class FGState;
|
||||
class FGAtmosphere;
|
||||
|
|
|
@ -80,6 +80,7 @@ FGFCS::FGFCS(FGFDMExec* fdmex) : FGModel(fdmex)
|
|||
PTrimCmd = YTrimCmd = RTrimCmd = 0.0;
|
||||
GearCmd = GearPos = 1; // default to gear down
|
||||
LeftBrake = RightBrake = CenterBrake = 0.0;
|
||||
APAttitudeSetPt = APAltitudeSetPt = APHeadingSetPt = APAirspeedSetPt = 0.0;
|
||||
DoNormalize=true;
|
||||
|
||||
eMode = mNone;
|
||||
|
|
|
@ -58,6 +58,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -113,8 +115,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGFDMExec : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -65,6 +65,12 @@ INCLUDES
|
|||
#include "FGColumnVector3.h"
|
||||
#include "FGColumnVector4.h"
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -217,8 +223,6 @@ and vMn, the moments, can be made directly. Otherwise, the usage is similar.<br>
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGForce : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -61,12 +61,12 @@ INCLUDES
|
|||
|
||||
#define ID_GROUNDREACTIONS "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGGroundReactions : public FGModel
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -61,13 +61,12 @@ INCLUDES
|
|||
|
||||
#define ID_INERTIAL "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGInertial : public FGModel {
|
||||
|
||||
public:
|
||||
|
|
|
@ -488,23 +488,23 @@ void FGLGear::Report(ReportType repType)
|
|||
case erLand:
|
||||
cout << endl << "Touchdown report for " << name << endl;
|
||||
cout << " Sink rate at contact: " << SinkRate << " fps, "
|
||||
<< SinkRate*0.3408 << " mps" << endl;
|
||||
<< SinkRate*0.3048 << " mps" << endl;
|
||||
cout << " Contact ground speed: " << GroundSpeed*.5925 << " knots, "
|
||||
<< GroundSpeed*0.3408 << " mps" << endl;
|
||||
<< GroundSpeed*0.3048 << " mps" << endl;
|
||||
cout << " Maximum contact force: " << MaximumStrutForce << " lbs, "
|
||||
<< MaximumStrutForce*4.448 << " Newtons" << endl;
|
||||
cout << " Maximum strut travel: " << MaximumStrutTravel*12.0 << " inches, "
|
||||
<< MaximumStrutTravel*30.48 << " cm" << endl;
|
||||
cout << " Distance traveled: " << LandingDistanceTraveled << " ft, "
|
||||
<< LandingDistanceTraveled*0.3408 << " meters" << endl;
|
||||
<< LandingDistanceTraveled*0.3048 << " meters" << endl;
|
||||
LandingReported = true;
|
||||
break;
|
||||
case erTakeoff:
|
||||
cout << endl << "Takeoff report for " << name << endl;
|
||||
cout << " Distance traveled: " << TakeoffDistanceTraveled
|
||||
<< " ft, " << TakeoffDistanceTraveled*0.3408 << " meters" << endl;
|
||||
<< " ft, " << TakeoffDistanceTraveled*0.3048 << " meters" << endl;
|
||||
cout << " Distance traveled (over 50'): " << TakeoffDistanceTraveled50ft
|
||||
<< " ft, " << TakeoffDistanceTraveled50ft*0.3408 << " meters" << endl;
|
||||
<< " ft, " << TakeoffDistanceTraveled50ft*0.3048 << " meters" << endl;
|
||||
TakeoffReported = true;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -48,12 +48,12 @@ INCLUDES
|
|||
|
||||
#define ID_MASSBALANCE "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGMassBalance : public FGModel
|
||||
{
|
||||
|
||||
|
|
|
@ -94,6 +94,7 @@ FGModel::FGModel(FGFDMExec* fdmex)
|
|||
PropertyManager = FDMExec->GetPropertyManager();
|
||||
|
||||
exe_ctr = 1;
|
||||
rate = 1;
|
||||
|
||||
if (debug_lvl & 2) cout << " FGModel Base Class" << endl;
|
||||
}
|
||||
|
|
|
@ -50,6 +50,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -69,8 +71,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGNozzle : public FGThruster {
|
||||
|
||||
public:
|
||||
|
|
|
@ -545,7 +545,7 @@ bool FGOutput::Load(FGConfigFile* AC_cfg)
|
|||
OutputProperties.push_back(PropertyManager->GetNode(property));
|
||||
}
|
||||
|
||||
if (Output_cfg->GetNextConfigLine() == "EOF") break;
|
||||
if (parameter == "EOF") break;
|
||||
}
|
||||
|
||||
OutRate = OutRate>120?120:(OutRate<0?0:OutRate);
|
||||
|
@ -590,6 +590,7 @@ void FGOutput::Debug(int from)
|
|||
cout << " " << "Output parameters read inline" << endl;
|
||||
else
|
||||
cout << " Output parameters read from file: " << outputInFileName << endl;
|
||||
|
||||
if (Filename == "cout" || Filename == "COUT") {
|
||||
scratch = " Log output goes to screen console";
|
||||
} else if (!Filename.empty()) {
|
||||
|
@ -603,6 +604,20 @@ void FGOutput::Debug(int from)
|
|||
cout << " No log output" << endl;
|
||||
break;
|
||||
}
|
||||
|
||||
if (SubSystems & ssSimulation) cout << " Simulation parameters logged" << endl;
|
||||
if (SubSystems & ssAerosurfaces) cout << " Aerosurface parameters logged" << endl;
|
||||
if (SubSystems & ssRates) cout << " Rate parameters logged" << endl;
|
||||
if (SubSystems & ssVelocities) cout << " Velocity parameters logged" << endl;
|
||||
if (SubSystems & ssForces) cout << " Force parameters logged" << endl;
|
||||
if (SubSystems & ssMoments) cout << " Moments parameters logged" << endl;
|
||||
if (SubSystems & ssAtmosphere) cout << " Atmosphere parameters logged" << endl;
|
||||
if (SubSystems & ssMassProps) cout << " Mass parameters logged" << endl;
|
||||
if (SubSystems & ssCoefficients) cout << " Coefficient parameters logged" << endl;
|
||||
if (SubSystems & ssPosition) cout << " Position parameters logged" << endl;
|
||||
if (SubSystems & ssGroundReactions) cout << " Ground parameters logged" << endl;
|
||||
if (SubSystems & ssFCS) cout << " FCS parameters logged" << endl;
|
||||
if (SubSystems & ssPropulsion) cout << " Propulsion parameters logged" << endl;
|
||||
}
|
||||
}
|
||||
if (debug_lvl & 2 ) { // Instantiation/Destruction notification
|
||||
|
|
|
@ -58,12 +58,12 @@ INCLUDES
|
|||
|
||||
#define ID_OUTPUT "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGOutput : public FGModel
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -57,6 +57,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -80,8 +82,6 @@ DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGPiston : public FGEngine
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -53,6 +53,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -74,8 +76,6 @@ DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGPosition : public FGModel {
|
||||
public:
|
||||
/** Constructor
|
||||
|
|
|
@ -53,6 +53,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -75,7 +77,7 @@ CLASS DOCUMENTATION
|
|||
Full Scale Propellers Having 2, 3, and 4 Blades of Clark Y and R.A.F. 6
|
||||
Airfoil Sections", NACA Report TN-640, 1938 (?)</li>
|
||||
<li>Various NACA Technical Notes and Reports</li>
|
||||
<ul>
|
||||
</ul>
|
||||
@author Jon S. Berndt
|
||||
@version $Id$
|
||||
@see FGEngine
|
||||
|
@ -91,8 +93,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGPropeller : public FGThruster {
|
||||
|
||||
public:
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
INCLUDES
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
#include <simgear/props/props.hxx>
|
||||
#include <simgear/misc/props.hxx>
|
||||
#include "FGPropertyManager.h"
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
|
|
@ -36,7 +36,7 @@ INCLUDES
|
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
#include <string>
|
||||
#include <simgear/props/props.hxx>
|
||||
#include <simgear/misc/props.hxx>
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
DEFINITIONS
|
||||
|
@ -50,6 +50,8 @@ FORWARD DECLARATIONS
|
|||
|
||||
using namespace std;
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -70,8 +72,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGPropertyManager : public SGPropertyNode {
|
||||
public:
|
||||
/// Constructor
|
||||
|
|
|
@ -72,6 +72,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -99,8 +101,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGPropulsion : public FGModel
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -51,6 +51,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -104,8 +106,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGRocket : public FGEngine
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -74,12 +74,12 @@ INCLUDES
|
|||
|
||||
#define ID_ROTATION "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGRotation : public FGModel
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -46,12 +46,12 @@ INCLUDES
|
|||
|
||||
#define ID_ROTOR "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGRotor : public FGThruster {
|
||||
|
||||
public:
|
||||
|
|
|
@ -52,6 +52,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -133,8 +135,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGScript : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -87,6 +87,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -108,8 +110,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGState : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -51,6 +51,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -75,9 +77,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGTable : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -70,12 +70,12 @@ DEFINES
|
|||
|
||||
#define ID_TANK "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGTank : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -47,6 +47,8 @@ INCLUDES
|
|||
|
||||
#define ID_THRUSTER "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -64,8 +66,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGThruster : public FGForce {
|
||||
|
||||
public:
|
||||
|
|
|
@ -78,12 +78,12 @@ INCLUDES
|
|||
|
||||
#define ID_TRANSLATION "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGTranslation : public FGModel {
|
||||
public:
|
||||
FGTranslation(FGFDMExec*);
|
||||
|
|
|
@ -49,12 +49,12 @@ INCLUDES
|
|||
|
||||
#define ID_TURBINE "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGTurbine : public FGEngine
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -46,12 +46,12 @@ DEFINES
|
|||
|
||||
#define ID_UTILITY "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGFDMExec;
|
||||
class FGState;
|
||||
|
||||
|
|
|
@ -82,14 +82,14 @@ DEFINITIONS
|
|||
|
||||
#define ID_FDMSOCKET "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
using std::string;
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGfdmSocket : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -53,7 +53,7 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
#include <simgear/props/props.hxx>
|
||||
#include <simgear/misc/props.hxx>
|
||||
|
||||
#include <FDM/JSBSim/FGFDMExec.h>
|
||||
|
||||
|
|
|
@ -46,9 +46,9 @@ libJSBSim_a_SOURCES = \
|
|||
FGEngine.cpp FGEngine.h \
|
||||
FGTank.cpp FGTank.h \
|
||||
FGfdmSocket.cpp FGfdmSocket.h \
|
||||
FGTurbine.cpp FGTurbine.h \
|
||||
FGPropertyManager.cpp FGPropertyManager.h \
|
||||
FGSimTurbine.cpp FGSimTurbine.h \
|
||||
FGTurbine.cpp FGTurbine.h \
|
||||
FGPropertyManager.cpp FGPropertyManager.h \
|
||||
FGSimTurbine.cpp FGSimTurbine.h \
|
||||
JSBSim.cxx JSBSim.hxx
|
||||
|
||||
|
||||
|
|
|
@ -75,13 +75,13 @@ FGCondition::FGCondition(FGConfigFile* AC_cfg, FGPropertyManager* PropertyManage
|
|||
if (AC_cfg->GetValue("CONDITION_GROUP").empty()) { // define a condition
|
||||
|
||||
*AC_cfg >> property1 >> conditional >> property2;
|
||||
TestParam1 = PropertyManager->GetNode(property1);
|
||||
TestParam1 = PropertyManager->GetNode(property1, true);
|
||||
Comparison = mComparison[conditional];
|
||||
|
||||
if (property2.find_first_not_of("-.0123456789eE") == string::npos) {
|
||||
TestValue = atof(property2.c_str());
|
||||
} else {
|
||||
TestParam2 = PropertyManager->GetNode(property2);
|
||||
TestParam2 = PropertyManager->GetNode(property2, true);
|
||||
}
|
||||
|
||||
isGroup = false;
|
||||
|
@ -253,4 +253,6 @@ void FGCondition::Debug(int from)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace JSBSim
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@ DEFINITIONS
|
|||
|
||||
#define ID_CONDITION "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -62,8 +64,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGCondition : public FGJSBBase
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -114,21 +114,22 @@ public:
|
|||
FGPropertyManager* resolveSymbol(string token);
|
||||
|
||||
protected:
|
||||
/// Pilot/Aircraft, FCS, Autopilot inputs
|
||||
enum eInputType {itPilotAC, itFCS, itAP, itBias} InputType;
|
||||
FGFCS* fcs;
|
||||
FGPropertyManager* PropertyManager;
|
||||
FGPropertyManager* treenode;
|
||||
string Type;
|
||||
string Name;
|
||||
vector <FGPropertyManager*> InputNodes;
|
||||
vector <float> InputSigns;
|
||||
double Input;
|
||||
FGPropertyManager* OutputNode;
|
||||
double Output;
|
||||
bool IsOutput;
|
||||
virtual void Debug(int from);
|
||||
};
|
||||
}
|
||||
|
||||
} //namespace JSBSim
|
||||
|
||||
#include "../FGFCS.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -50,6 +50,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -61,24 +63,26 @@ CLASS DOCUMENTATION
|
|||
/** Encapsulates a filter for the flight control system.
|
||||
Filters are modeled using the Tustin Substitution method. These types of
|
||||
filters can currently be modeled:
|
||||
<ol><li>Lag</li>
|
||||
<li>Lead-Lag</li>
|
||||
<li>Washout</li>
|
||||
<li>Integrator</li></ol>
|
||||
|
||||
- Lag
|
||||
- Lead-Lag
|
||||
- Washout
|
||||
- Integrator
|
||||
- Second order
|
||||
|
||||
The filter is specified in the config file like this:
|
||||
<pre>
|
||||
|
||||
<COMPONENT NAME="Elevator Filter" TYPE="LAG_FILTER">
|
||||
INPUT 15
|
||||
C1 600
|
||||
OUTPUT FG_ELEVATOR_POS
|
||||
</COMPONENT>
|
||||
\<COMPONENT NAME="{name}" TYPE="{LAG_FILTER}"\><BR>
|
||||
INPUT 15<BR>
|
||||
C1 600<BR>
|
||||
OUTPUT fcs/elevator-pos-rad<BR>
|
||||
\</COMPONENT\>
|
||||
</pre>
|
||||
@author Jon S. Berndt
|
||||
@version $Id$
|
||||
@see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGFilter.h?rev=HEAD&content-type=text/vnd.viewcvs-markup">
|
||||
@see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGFilter.h?rev=HEAD">
|
||||
Header File </a>
|
||||
@see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGFilter.cpp?rev=HEAD&content-type=text/vnd.viewcvs-markup">
|
||||
@see <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jsbsim/JSBSim/FGFilter.cpp?rev=HEAD">
|
||||
Source File </a>
|
||||
*/
|
||||
|
||||
|
@ -86,8 +90,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGFilter : public FGFCSComponent
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -62,12 +62,12 @@ DEFINES
|
|||
|
||||
#define ID_FLAPS "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGKinemat : public FGFCSComponent {
|
||||
public:
|
||||
FGKinemat(FGFCS* fcs, FGConfigFile* AC_cfg);
|
||||
|
|
|
@ -68,6 +68,14 @@ FGSummer::FGSummer(FGFCS* fcs, FGConfigFile* AC_cfg) : FGFCSComponent(fcs),
|
|||
if (token == "INPUT") {
|
||||
token = AC_cfg->GetValue("INPUT");
|
||||
*AC_cfg >> token;
|
||||
|
||||
if (token[0] == '-') {
|
||||
InputSigns.push_back(-1.0);
|
||||
token.erase(0,1);
|
||||
} else {
|
||||
InputSigns.push_back( 1.0);
|
||||
}
|
||||
|
||||
InputNodes.push_back( resolveSymbol(token) );
|
||||
} else if (token == "CLIPTO") {
|
||||
*AC_cfg >> clipmin >> clipmax;
|
||||
|
@ -105,7 +113,7 @@ bool FGSummer::Run(void )
|
|||
Output = 0.0;
|
||||
|
||||
for (idx=0; idx<InputNodes.size(); idx++) {
|
||||
Output += InputNodes[idx]->getDoubleValue();
|
||||
Output += InputNodes[idx]->getDoubleValue()*InputSigns[idx];
|
||||
}
|
||||
|
||||
if (clip) {
|
||||
|
@ -169,4 +177,6 @@ void FGSummer::Debug(int from)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace JSBSim
|
||||
|
||||
|
|
|
@ -62,6 +62,8 @@ DEFINITIONS
|
|||
FORWARD DECLARATIONS
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -85,8 +87,6 @@ CLASS DOCUMENTATION
|
|||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
class FGSummer : public FGFCSComponent
|
||||
{
|
||||
public:
|
||||
|
|
|
@ -266,4 +266,6 @@ void FGSwitch::Debug(int from)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} //namespace JSBSim
|
||||
|
||||
|
|
|
@ -47,6 +47,8 @@ DEFINITIONS
|
|||
|
||||
#define ID_SWITCH "$Id$"
|
||||
|
||||
namespace JSBSim {
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
COMMENTS, REFERENCES, and NOTES [use "class documentation" below for API docs]
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
|
@ -82,28 +84,28 @@ Within a TEST, a CONDITION_GROUP can be specified. A CONDITION_GROUP allows for
|
|||
complex groupings of logical comparisons. Each CONDITION_GROUP contains
|
||||
additional conditions, as well as possibly additional CONDITION_GROUPs.
|
||||
|
||||
<COMPONENT NAME="switch1" TYPE="SWITCH">
|
||||
<TEST LOGIC="{AND|OR|DEFAULT}" OUTPUT="{property|value}">
|
||||
{property} {conditional} {property|value}
|
||||
<CONDITION_GROUP LOGIC="{AND|OR}">
|
||||
{property} {conditional} {property|value}
|
||||
...
|
||||
</CONDITION_GROUP>
|
||||
...
|
||||
</TEST>
|
||||
<TEST LOGIC="{AND|OR}" OUTPUT="{property|value}">
|
||||
{property} {conditional} {property|value}
|
||||
...
|
||||
</TEST>
|
||||
...
|
||||
</COMPONENT>
|
||||
<pre>
|
||||
\<COMPONENT NAME="switch1" TYPE="SWITCH"\><BR>
|
||||
\<TEST LOGIC="{AND|OR|DEFAULT}" OUTPUT="{property|value}"\><BR>
|
||||
{property} {conditional} {property|value}<BR>
|
||||
\<CONDITION_GROUP LOGIC="{AND|OR}"\><BR>
|
||||
{property} {conditional} {property|value}<BR>
|
||||
...<BR>
|
||||
\</CONDITION_GROUP\><BR>
|
||||
...<BR>
|
||||
\</TEST><BR>
|
||||
\<TEST LOGIC="{AND|OR}" OUTPUT="{property|value}"\><BR>
|
||||
{property} {conditional} {property|value}<BR>
|
||||
...<BR>
|
||||
\</TEST\><BR>
|
||||
...<BR>
|
||||
\</COMPONENT\>
|
||||
</pre>
|
||||
*/
|
||||
|
||||
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
CLASS DECLARATION
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
|
||||
namespace JSBSim {
|
||||
|
||||
|
||||
class FGSwitch : public FGFCSComponent
|
||||
{
|
||||
|
@ -119,7 +121,6 @@ private:
|
|||
|
||||
enum eLogic {elUndef=0, eAND, eOR, eDefault};
|
||||
enum eComparison {ecUndef=0, eEQ, eNE, eGT, eGE, eLT, eLE};
|
||||
map <const string, eComparison> mComparison;
|
||||
|
||||
struct test {
|
||||
vector <FGCondition> conditions;
|
||||
|
|
Loading…
Add table
Reference in a new issue