FlightGear next
JSBSim Namespace Reference

Classes

class  aFunc
 
class  aFunc< func_t, 0 >
 
class  BaseException
 
class  Element
 
class  FGAccelerations
 
class  FGAccelerometer
 Encapsulates a Accelerometer component for the flight control system. More...
 
class  FGActuator
 Encapsulates an Actuator component for the flight control system. More...
 
class  FGAerodynamics
 Encapsulates the aerodynamic calculations. More...
 
class  FGAircraft
 Encapsulates an Aircraft and its systems. More...
 
class  FGAngles
 Provides a way to determine the smallest included angle. More...
 
class  FGAtmosphere
 
class  FGAuxiliary
 Encapsulates various uncategorized scheduled functions. More...
 
class  FGBallonet
 Models a ballonet inside a gas cell. More...
 
class  FGBuoyantForces
 Encapsulates the Buoyant forces calculations. More...
 
class  FGColumnVector3
 This class implements a 3 element column vector. More...
 
class  FGCondition
 Encapsulates a condition, which is used in parts of JSBSim including switches. More...
 
class  FGDeadBand
 Models a deadband object. More...
 
class  FGDefaultGroundCallback
 
class  FGDistributor
 Encapsulates a distributor for the flight control system. More...
 
class  FGElectric
 Models an electric motor. More...
 
class  FGEngine
 Base class for all engines. More...
 
class  FGExternalForce
 Encapsulates code that models an individual arbitrary force, moment or a combination thereof. More...
 
class  FGExternalReactions
 Manages the external and/or arbitrary forces and moments. More...
 
class  FGFCS
 
class  FGFCSChannel
 
class  FGFCSComponent
 Base class for JSBSim Flight Control System Components. More...
 
class  FGFCSFunction
 Models a FCSFunction object. More...
 
class  FGFDMExec
 
class  FGfdmSocket
 Encapsulates an object that enables JSBSim to communicate via socket (input and/or output). More...
 
class  FGFilter
 Encapsulates a filter for the flight control system. More...
 
class  FGForce
 Utility class that aids in the conversion of forces between coordinate systems and calculation of moments. More...
 
class  FGFunction
 Represents a mathematical function. More...
 
class  FGFunctionValue
 Represents a property value on which a function is applied. More...
 
class  FGGain
 Encapsulates a gain component for the flight control system. More...
 
class  FGGasCell
 Models a gas cell. More...
 
class  FGGroundCallback
 This class provides callback slots to get ground specific data. More...
 
class  FGGroundReactions
 Manages ground reactions modeling. More...
 
class  FGGyro
 Encapsulates a Gyro component for the flight control system. More...
 
class  FGInertial
 Models inertial forces (e.g. More...
 
class  FGInitialCondition
 
class  FGInput
 Handles simulation input. More...
 
class  FGInputSocket
 Implements the input from a socket. More...
 
class  FGInputType
 Abstract class to provide functions generic to all the input directives. More...
 
class  FGJSBBase
 JSBSim Base class. More...
 
class  FGKinemat
 Encapsulates a kinematic (mechanical) component for the flight control system. More...
 
class  FGLGear
 Landing gear model. More...
 
class  FGLinearActuator
 Models a flight control system summing component. More...
 
class  FGLocation
 FGLocation holds an arbitrary location in the Earth centered Earth fixed reference frame (ECEF). More...
 
class  FGMagnetometer
 Encapsulates a magnetometer component for the flight control system. More...
 
class  FGMassBalance
 Models weight, balance and moment of inertia information. More...
 
class  FGMatrix33
 Handles matrix math operations. More...
 
class  FGModel
 Base class for all scheduled JSBSim models. More...
 
class  FGModelFunctions
 The model functions class provides the capability for loading, storing, and executing arbitrary functions. More...
 
class  FGModelLoader
 
class  FGNozzle
 Models a rocket nozzle. More...
 
class  FGOutput
 Handles simulation output. More...
 
class  FGOutputFG
 Implements the output to a FlightGear socket. More...
 
class  FGOutputFile
 Abstract class that provide functions that are generic to all the outputs that are directed to a file. More...
 
class  FGOutputSocket
 Implements the output to a socket. More...
 
class  FGOutputTextFile
 Implements the output to a human readable text file. More...
 
class  FGOutputType
 Abstract class to provide functions generic to all the output directives. More...
 
class  FGParameter
 Represents various types of parameters. More...
 
class  FGParameterValue
 Represents a either a real value or a property value. More...
 
class  FGPID
 Encapsulates a PID control component for the flight control system. More...
 
class  FGPiston
 Models a Supercharged Piston engine. More...
 
class  FGPropagate
 Models the EOM and integration/propagation of state. More...
 
class  FGPropeller
 FGPropeller models a propeller given the tabular data for Ct (thrust) and Cp (power), indexed by the advance ratio "J". More...
 
class  FGPropertyManager
 
class  FGPropertyNode
 Class wrapper for property handling. More...
 
class  FGPropertyReader
 
class  FGPropertyValue
 Represents a property value which can use late binding. More...
 
class  FGPropertyVector3
 
class  FGPropulsion
 Propulsion management class. More...
 
class  FGQuaternion
 Models the Quaternion representation of rotations. More...
 
class  FGRealValue
 Represents a real value. More...
 
class  FGRK4
 Classical RK4. More...
 
class  FGRKFehlberg
 Runge-Kutta-Fehlberg method. More...
 
class  FGRocket
 Models a generic rocket engine. More...
 
class  FGRotor
 Models a helicopter rotor. More...
 
class  FGRungeKutta
 Abstract base. More...
 
class  FGRungeKuttaProblem
 Minimalistic implementation of some Runge-Kutta methods. More...
 
class  FGScript
 Encapsulates the JSBSim scripting capability. More...
 
class  FGSensor
 Encapsulates a Sensor component for the flight control system. More...
 
class  FGSensorOrientation
 Encapsulates a SensorOrientation capability for a sensor. More...
 
class  FGSpoolUp
 
class  FGStandardAtmosphere
 
class  FGSummer
 Models a flight control system summing component. More...
 
class  FGSurface
 Base class for all surface properties. More...
 
class  FGSwitch
 Encapsulates a switch for the flight control system. More...
 
class  FGTable
 Lookup table class. More...
 
class  FGTank
 Models a fuel tank. More...
 
class  FGTemplateFunc
 
class  FGThruster
 Base class for specific thrusting devices such as propellers, nozzles, etc. More...
 
class  FGTransmission
 Utility class that handles power transmission in conjunction with FGRotor. More...
 
class  FGTrim
 The trimming routine for JSBSim. More...
 
class  FGTrimAxis
 
class  FGTurbine
 This class models a turbine engine. More...
 
class  FGTurboProp
 Turboprop engine model. More...
 
class  FGUDPInputSocket
 Implements a UDP input socket. More...
 
class  FGWaypoint
 Models a Waypoint object. More...
 
class  FGWinds
 Models atmospheric disturbances: winds, gusts, turbulence, downbursts, etc. More...
 
class  FGXMLFileRead
 
class  FGXMLParse
 Encapsulates an XML parser based on the EasyXML parser from the SimGear library. More...
 
struct  LagrangeMultiplier
 
class  TrimFailureException
 
class  WrongNumberOfArguments
 

Typedefs

typedef SGSharedPtr< FGPropertyNodeFGPropertyNode_ptr
 
typedef SGSharedPtr< const FGPropertyNodeFGConstPropertyNode_ptr
 
typedef SGSharedPtr< ElementElement_ptr
 
typedef SGSharedPtr< FGParameterFGParameter_ptr
 
typedef SGSharedPtr< FGParameterValueFGParameterValue_ptr
 
typedef SGSharedPtr< FGPropertyValueFGPropertyValue_ptr
 
typedef SGSharedPtr< FGTemplateFuncFGTemplateFunc_ptr
 
typedef std::vector< FGFCSComponent * > FCSCompVec
 Represents a <channel> in a control system definition.
 

Enumerations

enum  speedset {
  setvt , setvc , setve , setmach ,
  setuvw , setned , setvg
}
 
enum  altitudeset { setasl , setagl }
 
enum  latitudeset { setgeoc , setgeod }
 
enum  TrimMode {
  tLongitudinal =0 , tFull , tGround , tPullup ,
  tCustom , tTurn , tNone
}
 
enum  State {
  tAll , tUdot , tVdot , tWdot ,
  tQdot , tPdot , tRdot , tHmgt ,
  tNlf
}
 Models an aircraft axis for purposes of trimming. More...
 
enum  Control {
  tThrottle , tBeta , tAlpha , tElevator ,
  tAileron , tRudder , tAltAGL , tTheta ,
  tPhi , tGamma , tPitchTrim , tRollTrim ,
  tYawTrim , tHeading
}
 
enum  OutputForm {
  ofRad =0 , ofDeg , ofNorm , ofMag ,
  NForms
}
 

Functions

SGPath CheckPathName (const SGPath &path, const SGPath &filename)
 
static void htond (double &x)
 
static void htonf (float &x)
 
ostream & operator<< (ostream &os, const FGColumnVector3 &col)
 Write vector to a stream.
 
double DotProduct (const FGColumnVector3 &v1, const FGColumnVector3 &v2)
 Dot product of two vectors Compute and return the euclidean dot (or scalar) product of two vectors v1 and v2.
 
FGColumnVector3 operator* (double scalar, const FGColumnVector3 &A)
 Scalar multiplication.
 
std::ostream & operator<< (std::ostream &os, const FGColumnVector3 &col)
 Write vector to a stream.
 
bool GetBinary (double val, const string &ctxMsg)
 
FGFunctionmake_MathFn (double(*math_fn)(double), FGFDMExec *fdmex, Element *el, const string &prefix, FGPropertyValue *v)
 
template<typename func_t>
FGParameter_ptr VarArgsFn (const func_t &_f, FGFDMExec *fdmex, Element *el, const string &prefix, FGPropertyValue *v)
 
shared_ptr< default_random_engine > makeRandomEngine (Element *el, FGFDMExec *fdmex)
 
FGLocation operator* (double scalar, const FGLocation &l)
 Scalar multiplication.
 
ostream & operator<< (ostream &os, const FGMatrix33 &M)
 Write matrix to a stream.
 
istream & operator>> (istream &is, FGMatrix33 &M)
 
FGMatrix33 operator* (double scalar, const FGMatrix33 &A)
 Scalar multiplication.
 
std::ostream & operator<< (std::ostream &os, const FGMatrix33 &M)
 Write matrix to a stream.
 
std::istream & operator>> (std::istream &is, FGMatrix33 &M)
 Read matrix from a stream.
 
double operator* (double v, const FGParameter_ptr &p)
 
double operator* (const FGParameter_ptr &p, double v)
 
std::ostream & operator<< (std::ostream &os, const FGQuaternion &q)
 Write quaternion to a stream.
 
FGQuaternion operator* (double scalar, const FGQuaternion &q)
 Scalar multiplication.
 
FGQuaternion QExp (const FGColumnVector3 &omega)
 Quaternion exponential.
 
unsigned int FindNumColumns (const string &test_line)
 
constexpr double sqr (double x)
 simply square a value
 
FGColumnVector3 operator* (double a, const FGPropertyVector3 &v)
 
static FGMatrix33 ReadInertiaMatrix (Element *document)
 

Variables

const std::string StateNames []
 
const std::string ControlNames []
 
const double invlog2val = 1.0/log10(2.0)
 
constexpr unsigned int MaxArgs = 9999
 
short debug_lvl
 

Typedef Documentation

◆ Element_ptr

typedef SGSharedPtr<Element> JSBSim::Element_ptr

Definition at line 137 of file FGXMLElement.h.

◆ FCSCompVec

typedef std::vector<FGFCSComponent*> JSBSim::FCSCompVec

Represents a <channel> in a control system definition.

The <channel> may be defined within a <system>, <autopilot> or <flight_control> element. Channels are a way to group sets of components that perform a specific purpose or algorithm. Created within a <system> tag, the channel is defined as follows <channel name="name" [execute="property"] [execrate="rate"]> name is the name of the channel - in the old way this would also be used to bind elements execute [optional] is the property that defines when to execute this channel; an on/off switch execrate [optional] is the rate at which the channel should execute. A value of 0 or 1 will execute the channel every frame, a value of 2 every other frame (half rate), a value of 4 is every 4th frame (quarter rate)

Definition at line 70 of file FGFCSChannel.h.

◆ FGConstPropertyNode_ptr

typedef SGSharedPtr<const FGPropertyNode> JSBSim::FGConstPropertyNode_ptr

Definition at line 352 of file FGPropertyManager.h.

◆ FGParameter_ptr

typedef SGSharedPtr<FGParameter> JSBSim::FGParameter_ptr

Definition at line 70 of file FGParameter.h.

◆ FGParameterValue_ptr

Definition at line 99 of file FGParameterValue.h.

◆ FGPropertyNode_ptr

Definition at line 351 of file FGPropertyManager.h.

◆ FGPropertyValue_ptr

Definition at line 92 of file FGPropertyValue.h.

◆ FGTemplateFunc_ptr

Definition at line 74 of file FGTemplateFunc.h.

Enumeration Type Documentation

◆ altitudeset

Enumerator
setasl 
setagl 

Definition at line 69 of file FGInitialCondition.h.

◆ Control

Enumerator
tThrottle 
tBeta 
tAlpha 
tElevator 
tAileron 
tRudder 
tAltAGL 
tTheta 
tPhi 
tGamma 
tPitchTrim 
tRollTrim 
tYawTrim 
tHeading 

Definition at line 84 of file FGTrimAxis.h.

◆ latitudeset

Enumerator
setgeoc 
setgeod 

Definition at line 70 of file FGInitialCondition.h.

◆ OutputForm

Enumerator
ofRad 
ofDeg 
ofNorm 
ofMag 
NForms 

Definition at line 56 of file FGFCS.h.

◆ speedset

Enumerator
setvt 
setvc 
setve 
setmach 
setuvw 
setned 
setvg 

Definition at line 68 of file FGInitialCondition.h.

◆ State

Models an aircraft axis for purposes of trimming.

Enumerator
tAll 
tUdot 
tVdot 
tWdot 
tQdot 
tPdot 
tRdot 
tHmgt 
tNlf 

Definition at line 83 of file FGTrimAxis.h.

◆ TrimMode

Enumerator
tLongitudinal 
tFull 
tGround 
tPullup 
tCustom 
tTurn 
tNone 

Definition at line 65 of file FGTrim.h.

Function Documentation

◆ CheckPathName()

SGPath JSBSim::CheckPathName ( const SGPath & path,
const SGPath & filename )

Definition at line 86 of file FGModelLoader.cpp.

◆ DotProduct()

double JSBSim::DotProduct ( const FGColumnVector3 & v1,
const FGColumnVector3 & v2 )
inline

Dot product of two vectors Compute and return the euclidean dot (or scalar) product of two vectors v1 and v2.

Definition at line 256 of file FGColumnVector3.h.

◆ FindNumColumns()

unsigned int JSBSim::FindNumColumns ( const string & test_line)

Definition at line 112 of file FGTable.cpp.

◆ GetBinary()

bool JSBSim::GetBinary ( double val,
const string & ctxMsg )

Definition at line 154 of file FGFunction.cpp.

◆ htond()

static void JSBSim::htond ( double & x)
static

Definition at line 80 of file FGOutputFG.cpp.

◆ htonf()

static void JSBSim::htonf ( float & x)
static

Definition at line 97 of file FGOutputFG.cpp.

◆ make_MathFn()

FGFunction * JSBSim::make_MathFn ( double(* math_fn )(double),
FGFDMExec * fdmex,
Element * el,
const string & prefix,
FGPropertyValue * v )

Definition at line 171 of file FGFunction.cpp.

◆ makeRandomEngine()

shared_ptr< default_random_engine > JSBSim::makeRandomEngine ( Element * el,
FGFDMExec * fdmex )

Definition at line 295 of file FGFunction.cpp.

◆ operator*() [1/7]

double JSBSim::operator* ( const FGParameter_ptr & p,
double v )
inline

Definition at line 76 of file FGParameter.h.

◆ operator*() [2/7]

FGColumnVector3 JSBSim::operator* ( double a,
const FGPropertyVector3 & v )
inline

Definition at line 87 of file FGExternalForce.h.

◆ operator*() [3/7]

FGColumnVector3 JSBSim::operator* ( double scalar,
const FGColumnVector3 & A )
inline

Scalar multiplication.

Parameters
scalarscalar value to multiply with.
AVector to multiply. Multiply the Vector with a scalar value. Note: At this time, this operator MUST be inlined, or a multiple definition link error will occur.

Definition at line 265 of file FGColumnVector3.h.

◆ operator*() [4/7]

FGLocation JSBSim::operator* ( double scalar,
const FGLocation & l )
inline

Scalar multiplication.

Parameters
scalarscalar value to multiply with.
lVector to multiply.

Multiply the Vector with a scalar value.

Definition at line 542 of file FGLocation.h.

◆ operator*() [5/7]

FGMatrix33 JSBSim::operator* ( double scalar,
const FGMatrix33 & A )
inline

Scalar multiplication.

Parameters
scalarscalar value to multiply with.
AMatrix to multiply.

Multiply the Matrix with a scalar value.

Definition at line 444 of file FGMatrix33.h.

◆ operator*() [6/7]

FGQuaternion JSBSim::operator* ( double scalar,
const FGQuaternion & q )
inline

Scalar multiplication.

Parameters
scalarscalar value to multiply with.
qVector to multiply.

Multiply the Vector with a scalar value.

Definition at line 539 of file FGQuaternion.h.

◆ operator*() [7/7]

double JSBSim::operator* ( double v,
const FGParameter_ptr & p )
inline

Definition at line 72 of file FGParameter.h.

◆ operator<<() [1/5]

ostream & JSBSim::operator<< ( std::ostream & os,
const FGColumnVector3 & col )

Write vector to a stream.

Parameters
osStream to write to.
colvector to write. Write the vector to a stream.

Definition at line 74 of file FGColumnVector3.cpp.

◆ operator<<() [2/5]

ostream & JSBSim::operator<< ( std::ostream & os,
const FGMatrix33 & M )

Write matrix to a stream.

Parameters
osStream to write to.
MMatrix to write.

Write the matrix to a stream.

Definition at line 194 of file FGMatrix33.cpp.

◆ operator<<() [3/5]

std::ostream & JSBSim::operator<< ( std::ostream & os,
const FGColumnVector3 & col )

Write vector to a stream.

Parameters
osStream to write to.
colvector to write. Write the vector to a stream.

Definition at line 74 of file FGColumnVector3.cpp.

◆ operator<<() [4/5]

std::ostream & JSBSim::operator<< ( std::ostream & os,
const FGMatrix33 & M )

Write matrix to a stream.

Parameters
osStream to write to.
MMatrix to write.

Write the matrix to a stream.

Definition at line 194 of file FGMatrix33.cpp.

◆ operator<<() [5/5]

std::ostream & JSBSim::operator<< ( std::ostream & os,
const FGQuaternion & q )

Write quaternion to a stream.

Parameters
osStream to write to.
qQuaternion to write. Write the quaternion to a stream.

Definition at line 251 of file FGQuaternion.cpp.

◆ operator>>() [1/2]

istream & JSBSim::operator>> ( istream & is,
FGMatrix33 & M )

Definition at line 209 of file FGMatrix33.cpp.

◆ operator>>() [2/2]

std::istream & JSBSim::operator>> ( std::istream & is,
FGMatrix33 & M )

Read matrix from a stream.

Parameters
osStream to read from.
MMatrix to initialize with the values from the stream.

Read matrix from a stream.

◆ QExp()

FGQuaternion JSBSim::QExp ( const FGColumnVector3 & omega)
inline

Quaternion exponential.

Parameters
omegarotation velocity Calculate the unit quaternion which is the result of the exponentiation of the vector 'omega'.

Definition at line 548 of file FGQuaternion.h.

◆ ReadInertiaMatrix()

static FGMatrix33 JSBSim::ReadInertiaMatrix ( Element * document)
static

Definition at line 100 of file FGMassBalance.cpp.

◆ sqr()

static double JSBSim::sqr ( double x)
inlineconstexpr

simply square a value

Definition at line 72 of file FGWinds.cpp.

◆ VarArgsFn()

template<typename func_t>
FGParameter_ptr JSBSim::VarArgsFn ( const func_t & _f,
FGFDMExec * fdmex,
Element * el,
const string & prefix,
FGPropertyValue * v )

Definition at line 186 of file FGFunction.cpp.

Variable Documentation

◆ ControlNames

const std::string JSBSim::ControlNames[]
Initial value:
= { "Throttle","Sideslip","Angle of Attack",
"Elevator","Ailerons","Rudder",
"Altitude AGL", "Pitch Angle",
"Roll Angle", "Flight Path Angle",
"Pitch Trim", "Roll Trim", "Yaw Trim",
"Heading"
}

Definition at line 62 of file FGTrimAxis.h.

◆ debug_lvl

short JSBSim::debug_lvl
extern

◆ invlog2val

const double JSBSim::invlog2val = 1.0/log10(2.0)

Definition at line 53 of file FGFunction.cpp.

◆ MaxArgs

unsigned int JSBSim::MaxArgs = 9999
constexpr

Definition at line 54 of file FGFunction.cpp.

◆ StateNames

const std::string JSBSim::StateNames[]
Initial value:
= { "all","udot","vdot","wdot","qdot","pdot",
"rdot","hmgt","nlf"
}

Definition at line 59 of file FGTrimAxis.h.