#include "FGAerodynamics.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_AERODYNAMICS;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
+#define ID_AERODYNAMICS "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
-const char *IdSrc = "$Header$";
-const char *IdHdr = ID_AIRCRAFT;
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_AIRCRAFT;
/*******************************************************************************
************************************ CODE **************************************
aerodynamic and mass properties, landing gear, etc.
@author Jon S. Berndt
@version $Id$
+ @see
+ [1] Cooke, Zyda, Pratt, and McGhee, "NPSNET: Flight Simulation Dynamic Modeling
+ Using Quaternions", Presence, Vol. 1, No. 4, pp. 404-420 Naval Postgraduate
+ School, January 1994
+ [2] D. M. Henderson, "Euler Angles, Quaternions, and Transformation Matrices",
+ JSC 12960, July 1977
+ [3] Richard E. McFarland, "A Standard Kinematic Model for Flight Simulation at
+ NASA-Ames", NASA CR-2497, January 1975
+ [4] Barnes W. McCormick, "Aerodynamics, Aeronautics, and Flight Mechanics",
+ Wiley & Sons, 1979 ISBN 0-471-03032-5
+ [5] Bernard Etkin, "Dynamics of Flight, Stability and Control", Wiley & Sons,
+ 1982 ISBN 0-471-08936-2
*/
/*******************************************************************************
@param Executive a pointer to the parent executive object
*/
FGAircraft(FGFDMExec *Executive);
+
/// Destructor
~FGAircraft(void);
@return bool returns false if no error
*/
bool Run(void);
+
/** Loads the aircraft.
The executive calls this method to load the aircraft into JSBSim.
@param apath path to the aircraft files (e.g. "aircraft/X15/")
@return true if succesful
*/
bool LoadAircraft(string apath, string epath, string acname);
+
+ /** Retrieves the aircraft name
+ @return the name of the aircraft as a string type
+ */
inline string GetAircraftName(void) { return AircraftName; }
+
inline void SetGearUp(bool tt) { GearUp = tt; }
inline bool GetGearUp(void) { return GearUp; }
inline int GetNumGearUnits(void) { return lGear.size(); }
#include "FGDefs.h"
#include "FGMatrix.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_ATMOSPHERE;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGMatrix.h"
+#define ID_ATMOSPHERE "$Header$"
+
/*******************************************************************************
COMMENTS, REFERENCES, and NOTES
********************************************************************************
#include "FGOutput.h"
#include "FGMatrix.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_AUXILIARY;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGMatrix.h"
+#define ID_AUXILIARY "$Header"
+
/*******************************************************************************
DEFINES
*******************************************************************************/
#include "FGState.h"
#include "FGFDMExec.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_COEFFICIENT";
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_COEFFICIENT "$Header"
+
/*******************************************************************************
FORWARD DECLARATIONS
*******************************************************************************/
#include <stdlib.h>
#include <math.h>
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_CONFIGFILE";
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_CONFIGFILE "$Header"
+
using std::string;
using std::ifstream;
#include "FGControls.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_CONTROLS";
FGControls controls;
// $Log$
-// Revision 1.18 2000/10/13 21:34:57 curt
-// Panel tweaks to support "shaped" panels.
-// Additional HUD support for waypoints.
-// JSBSim updates.
+// Revision 1.19 2000/10/14 00:10:12 curt
+// Friday the 13th JSBSim update ... :-0 !!!
+//
+// Revision 1.4 2000/10/13 19:21:02 jsb
+// ** JSB ** Added version identifiers for all files
//
// Revision 1.3 2000/04/26 10:55:57 jsb
// Made changes as required by Curt to install JSBSim into FGFS
#ifndef _CONTROLS_HXX
#define _CONTROLS_HXX
-
#ifndef __cplusplus
# error This library requires C++
#endif
+#define ID_CONTROLS "$Header"
+
// Define a structure containing the control parameters
class FGControls {
// $Log$
-// Revision 1.17 2000/10/13 21:34:58 curt
-// Panel tweaks to support "shaped" panels.
-// Additional HUD support for waypoints.
-// JSBSim updates.
+// Revision 1.18 2000/10/14 00:10:12 curt
+// Friday the 13th JSBSim update ... :-0 !!!
+//
+// Revision 1.7 2000/10/13 19:21:02 jsb
+// ** JSB ** Added version identifiers for all files
//
// Revision 1.6 2000/06/03 13:59:52 jsb
// Changes for compatibility with MSVC
#include "FGOutput.h"
#include "FGDefs.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_ENGINE";
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_ENGINE "$Header"
+
using std::string;
/*******************************************************************************
#include "filtersjb/FGSummer.h"
#include "filtersjb/FGFlaps.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_FCS";
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGConfigFile.h"
+#define ID_FCS "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_FDMEXEC";
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
INCLUDES
*******************************************************************************/
+#define ID_FDMEXEC "$Header"
+
#include "FGModel.h"
#include "FGInitialCondition.h"
#include "FGDefs.h"
#include "FGForce.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = "ID_FORCE";
FGForce::FGForce(FGFDMExec *FDMExec) :
vFn(3),
INCLUDES
*******************************************************************************/
+#define ID_FORCE "$Header"
+
#include "FGFDMExec.h"
#include "FGMatrix.h"
#include "FGGroundReactions.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_GROUNDREACTIONS;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
+#define ID_GROUNDREACTIONS "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGInertial.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_INERTIAL;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGConfigFile.h"
+#define ID_INERTIAL "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGOutput.h"
#include "FGDefs.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_INITIALCONDITION;
+
FGInitialCondition::FGInitialCondition(FGFDMExec *FDMExec) {
vt=vc=ve=0;
mach=0;
#include "FGAtmosphere.h"
#include "FGMatrix.h"
+#define ID_INITIALCONDITION "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGLGear.h"
#include <algorithm>
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_LGEAR;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINITIONS
*******************************************************************************/
+#define ID_LGEAR "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGMassBalance.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_MASSBALANCE;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
+#define ID_MASSBALANCE "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGMatrix.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_MATRIX;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include <string>
+#define ID_MATRIX "$Header"
+
/*******************************************************************************
FORWARD DECLARATIONS
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_MODEL;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include <string>
+#define ID_MODEL "$Header$"
+
/*******************************************************************************
DEFINES
*******************************************************************************/
#include "FGNozzle.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_NOZZLE;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGPosition.h"
#include "FGAuxiliary.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_OUTPUT;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGfdmSocket.h"
+#define ID_OUTPUT "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGPiston.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_PISTON;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_POSITION;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGMatrix.h"
+#define ID_POSITION "$Header$"
+
+
+/*******************************************************************************
+DEFINITIONS
+*******************************************************************************/
+
+/** Models the lateral and longitudinal translational EOM.
+ @author Jon S. Berndt
+ @version $Id$
+ */
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGPropeller.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_PROPELLER;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGThruster.h"
+#define ID_PROPELLER "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGPropulsion.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_PROPULSION;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#ifndef FGPROPULSION_H
#define FGPROPULSION_H
+#declare ID_PROPULSION "$Header$"
+
/*******************************************************************************
INCLUDES
*******************************************************************************/
#include "FGRocket.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_ROCKET;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGEngine.h"
+#define ID_ROCKET "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_ROTATION;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGMatrix.h"
+#define ID_ROTATION "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGRotor.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_ROTOR;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGThruster.h"
+#define ID_ROTOR "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_STATE;
+
/*******************************************************************************
MACROS
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_STATE "$Header$"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
********************************************************************************
INCLUDES
*******************************************************************************/
+
#include "FGTank.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_TANK;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_TANK "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGThruster.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_THRUSTER;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGForce.h"
+#define ID_THRUSTER "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGAuxiliary.h"
#include "FGOutput.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_TRANSLATION;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGModel.h"
#include "FGMatrix.h"
+#define ID_TRANSLATION "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGTrim.h"
#include "FGAircraft.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_TRIM;
+
/*******************************************************************************/
FGTrim::FGTrim(FGFDMExec *FDMExec,FGInitialCondition *FGIC, TrimMode tt ) {
#include <vector.h>
+#define ID_TRIM "$Header"
/*******************************************************************************
CLASS DECLARATION
--------------------------------------------------------------------------------
7/3/00 TP Created
-
-*/
-/*******************************************************************************
+********************************************************************************
INCLUDES
*******************************************************************************/
#include "FGTrimAxis.h"
#include "FGAircraft.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_TRIMAXIS;
+
/*****************************************************************************/
FGTrimAxis::FGTrimAxis(FGFDMExec* fdex, FGInitialCondition* ic, Accel acc,
#include "FGAuxiliary.h"
#include "FGOutput.h"
+#define ID_TRIMAXIS "$Header"
const string AccelNames[6]= { "udot","vdot","wdot","qdot","pdot","rdot" };
const string ControlNames[13]= { "Throttle","Sideslip","Angle of Attack",
#include "FGTurboJet.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_TURBOJET;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGEngine.h"
+#define ID_TURBOJET "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGTurboShaft.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_TURBOSHAFT;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
#include "FGEngine.h"
+#define ID_TURBOSHAFT "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGState.h"
#include "FGFDMExec.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_UTILITY;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_UTILITY "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGfdmSocket.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_FDMSOCKET;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINITIONS
*******************************************************************************/
+#define ID_FDMSOCKET "$Header"
+
using std::cout;
using std::endl;
#include <ctime>
#endif
+static const char *IdSrc = "$Header$";
+
int main(int argc, char** argv)
{
FGFDMExec* FDMExec;
-
/*******************************************************************************
Module: FGDeadBand.cpp
- Author:
- Date started:
+ Author: Jon S. Berndt
+ Date started: 11/1999
------------- Copyright (C) 2000 -------------
#include "FGDeadBand.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_DEADBAND;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_DEADBAND "$Header"
+
class FGFCS;
/*******************************************************************************
/*******************************************************************************
Module: FGFCSComponent.cpp
- Author:
- Date started:
+ Author: Jon S. Berndt
+ Date started: 11/1999
------------- Copyright (C) 2000 -------------
#include "FGFCSComponent.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_FCSCOMPONENT;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
-// *****************************************************************************
-// Function: Constructor
-// Purpose:
-// Parameters: void
-// Comments:
-
FGFCSComponent::FGFCSComponent(FGFCS* _fcs) : fcs(_fcs)
{
Type = "";
DEFINES
*******************************************************************************/
+#define ID_FCSCOMPONENT "$Header"
+
using std::string;
class FGFCS;
/*******************************************************************************
Module: FGFilter.cpp
- Author:
- Date started:
+ Author: Jon S. Berndt
+ Date started: 11/2000
------------- Copyright (C) 2000 -------------
#include "FGFilter.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_FILTER;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
-// *****************************************************************************
-// Function: constructor
-// Purpose:
-// Parameters: void
-// Comments:
-
FGFilter::FGFilter(FGFCS* fcs, FGConfigFile* AC_cfg) : FGFCSComponent(fcs),
AC_cfg(AC_cfg)
{
DEFINES
*******************************************************************************/
+#define ID_FILTER "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
#include "FGFlaps.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_FLAPS;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_FLAPS "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
/*******************************************************************************
Module: FGGain.cpp
- Author:
- Date started:
+ Author: Jon S. Berndt
+ Date started: 4/2000
------------- Copyright (C) 2000 -------------
#include "FGGain.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_GAIN;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
DEFINES
*******************************************************************************/
+#define ID_GAIN "$Header"
+
class FGFCS;
/*******************************************************************************
-
/*******************************************************************************
Module: FGGradient.cpp
#include "FGGradient.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_GRADIENT;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
-// *****************************************************************************
-// Function: Run
-// Purpose:
-// Parameters: void
-// Comments:
-
FGGradient::FGGradient(FGFCS* fcs, FGConfigFile* AC_cfg) : FGFCSComponent(fcs),
AC_cfg(AC_cfg)
{
DEFINES
*******************************************************************************/
+#define ID_GRADIENT "$Header"
+
class FGFCS;
/*******************************************************************************
/*******************************************************************************
Module: FGSummer.cpp
- Author:
- Date started:
+ Author: Jon S. Berndt
+ Date started: 4/2000
------------- Copyright (C) 2000 -------------
#include "FGSummer.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_SUMMER;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
-// *****************************************************************************
-// Function: Constructor
-// Purpose:
-// Parameters: void
-// Comments:
-
FGSummer::FGSummer(FGFCS* fcs, FGConfigFile* AC_cfg) : FGFCSComponent(fcs),
AC_cfg(AC_cfg)
{
DEFINES
*******************************************************************************/
+#define ID_SUMMER "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/
/*******************************************************************************
Module: FGSwitch.cpp
- Author:
- Date started:
+ Author: Jon S. Berndt
+ Date started: 4/2000
------------- Copyright (C) 2000 -------------
#include "FGSwitch.h"
+static const char *IdSrc = "$Header$";
+static const char *IdHdr = ID_SWITCH;
+
/*******************************************************************************
************************************ CODE **************************************
*******************************************************************************/
-// *****************************************************************************
-// Function: constructor
-// Purpose:
-// Parameters: void
-// Comments:
-
FGSwitch::FGSwitch(FGFCS* fcs, FGConfigFile* AC_cfg) : FGFCSComponent(fcs),
AC_cfg(AC_cfg)
{
DEFINES
*******************************************************************************/
+#define ID_SWITCH "$Header"
+
/*******************************************************************************
CLASS DECLARATION
*******************************************************************************/