FlightGear next
FGAIBase Class Reference

#include <AIBase.hxx>

Inherits SGReferenced.

Inherited by FGAIBallistic, FGAIBaseAircraft, FGAIMultiplayer, FGAIShip, FGAIStatic, FGAIStorm, and FGAIThermal.

Public Types

enum class  object_type {
  otNull = 0 , otAircraft , otShip , otCarrier ,
  otBallistic , otRocket , otStorm , otThermal ,
  otStatic , otWingman , otGroundVehicle , otEscort ,
  otMultiplayer , MAX_OBJECTS
}
 
enum class  ModelSearchOrder { DATA_ONLY , PREFER_AI , PREFER_DATA }
 

Public Member Functions

 FGAIBase (object_type ot, bool enableHot)
 
virtual ~FGAIBase ()
 
virtual void readFromScenario (SGPropertyNode *scFileNode)
 
virtual bool init (ModelSearchOrder searchOrder)
 
virtual void initModel ()
 
virtual void update (double dt)
 
virtual void bind ()
 
virtual void unbind ()
 
virtual void reinit ()
 
virtual double getDefaultModelRadius ()
 
void updateLOD ()
 update LOD properties of the model
 
void updateInterior ()
 
void setManager (FGAIManager *mgr, SGPropertyNode *p)
 
void setPath (const char *model)
 
void setPathLowres (std::string model)
 
void setFallbackModelIndex (const int i)
 
void setSMPath (const std::string &p)
 
void setCallSign (const std::string &)
 
void setSpeed (double speed_KTAS)
 
void setMaxSpeed (double kts)
 
void setAltitude (double altitude_ft)
 
void setAltitudeAGL (double altitude_agl_ft)
 
void setHeading (double heading)
 
void setLatitude (double latitude)
 
void setLongitude (double longitude)
 
void setBank (double bank)
 
void setPitch (double newpitch)
 
void setRadius (double radius)
 
void setXoffset (double x_offset)
 
void setYoffset (double y_offset)
 
void setZoffset (double z_offset)
 
void setPitchoffset (double x_offset)
 
void setRolloffset (double y_offset)
 
void setYawoffset (double z_offset)
 
void setServiceable (bool serviceable)
 
bool getDie ()
 
void setDie (bool die)
 
bool isValid () const
 
void setCollisionData (bool i, double lat, double lon, double elev)
 
void setImpactData (bool d)
 
void setImpactLat (double lat)
 
void setImpactLon (double lon)
 
void setImpactElev (double e)
 
void setName (const std::string &n)
 
bool setParentNode ()
 
void setParentName (const std::string &p)
 
void setCollisionLength (int range)
 
void setCollisionHeight (int height)
 
void calcRangeBearing (double lat, double lon, double lat2, double lon2, double &range, double &bearing) const
 
double calcRelBearingDeg (double bearing, double heading)
 
double calcTrueBearingDeg (double bearing, double heading)
 
double calcRecipBearingDeg (double bearing)
 
int getID () const
 
int _getSubID () const
 
void setFlightPlan (std::unique_ptr< FGAIFlightPlan > f)
 
SGGeod getGeodPos () const
 
void setGeodPos (const SGGeod &pos)
 
SGVec3d getCartPosAt (const SGVec3d &off) const
 
SGVec3d getCartPos () const
 
bool getGroundElevationM (const SGGeod &pos, double &elev, const simgear::BVHMaterial **material) const
 
SGPropertyNode * getPositionFromNode (SGPropertyNode *scFileNode, const std::string &key, SGVec3d &position)
 
double getTrueHeadingDeg () const
 
double _getCartPosX () const
 
double _getCartPosY () const
 
double _getCartPosZ () const
 
osg::LOD * getSceneBranch () const
 
virtual int getCollisionHeight () const
 
virtual int getCollisionLength () const
 
bool modelLoaded () const
 
void setScenarioPath (const std::string &scenarioPath)
 
object_type getType ()
 
virtual std::string_view getTypeString (void) const
 
bool isa (object_type otype)
 
void _setVS_fps (double _vs)
 
void _setAltitude (double _alt)
 
void _setLongitude (double longitude)
 
void _setLatitude (double latitude)
 
void _setSubID (int s)
 
double _getAltitudeAGL (SGGeod inpos, double start)
 
double _getVS_fps () const
 
double _getAltitude () const
 
double _getLongitude () const
 
double _getLatitude () const
 
double _getElevationFt () const
 
double _getRdot () const
 
double _getH_offset () const
 
double _getV_offset () const
 
double _getX_shift () const
 
double _getY_shift () const
 
double _getRotation () const
 
double _getSpeed () const
 
double _getRoll () const
 
double _getPitch () const
 
double _getHeading () const
 
double _get_speed_east_fps () const
 
double _get_speed_north_fps () const
 
double _get_SubPath () const
 
double _getImpactLat () const
 
double _getImpactLon () const
 
double _getImpactElevFt () const
 
double _getImpactHdg () const
 
double _getImpactPitch () const
 
double _getImpactRoll () const
 
double _getImpactSpeed () const
 
double _getXOffset () const
 
double _getYOffset () const
 
double _getZOffset () const
 
bool _getServiceable () const
 
bool _getFirstTime () const
 
bool _getImpact ()
 
bool _getImpactData ()
 
bool _getCollisionData ()
 
bool _getExpiryData ()
 
SGPropertyNode * _getProps () const
 
const char * _getPath () const
 
const char * _getSMPath () const
 
const char * _getCallsign () const
 
const char * _getTriggerNode () const
 
const char * _getName () const
 
const char * _getSubmodel () const
 
int _getFallbackModelIndex () const
 
double _getRange () const
 
double _getBearing () const
 
const std::string & getCallSign () const
 
ModelSearchOrder getSearchOrder () const
 

Static Public Member Functions

static bool _isNight ()
 

Static Public Attributes

static const double e = 2.71828183
 
static const double lbs_to_slugs = 0.031080950172
 

Protected Member Functions

template<typename T>
void tie (const char *aRelPath, const SGRawValue< T > &aRawValue)
 Tied-properties helper, record nodes which are tied for easy un-tie-ing.
 
void Transform ()
 
double UpdateRadar (FGAIManager *manager)
 
void removeModel ()
 Cleanly remove the model and let the scenery database pager do the clean-up work.
 
void removeSoundFx ()
 

Static Protected Member Functions

static int _newAIModelID ()
 

Protected Attributes

double _elevation_m = 0.0
 
double _x_offset
 
double _y_offset
 
double _z_offset
 
double _pitch_offset
 
double _roll_offset
 
double _yaw_offset
 
double _max_speed = 300.0
 
int collisionHeight = 0
 
int collisionLength = 0
 
std::string _path
 
std::string _callsign
 
std::string _submodel
 
std::string _name
 
std::string _parent
 
std::string _scenarioPath
 
simgear::TiedPropertyList _tiedProperties
 
SGPropertyNode_ptr _selected_ac
 
SGPropertyNode_ptr props
 
SGPropertyNode_ptr trigger_node
 
SGPropertyNode_ptr replay_time
 
SGPropertyNode_ptr model_removed
 
FGAIManagermanager = nullptr
 
SGGeod pos
 
double hdg
 
double roll
 
double pitch
 
double speed
 
double speed_fps = 0.0
 
double altitude_ft
 
double vs_fps
 
double speed_north_deg_sec
 
double speed_east_deg_sec
 
double turn_radius_ft
 
double altitude_agl_ft = 0.0
 
double ft_per_deg_lon
 
double ft_per_deg_lat
 
double tgt_heading
 
double tgt_altitude_ft
 
double tgt_speed
 
double tgt_roll
 
double tgt_pitch
 
double tgt_yaw
 
double tgt_vs
 
bool in_range
 
double bearing
 
double elevation
 
double range
 
double rdot
 
double horiz_offset
 
double vert_offset
 
double x_shift
 
double y_shift
 
double rotation
 
double ht_diff
 
std::string model_path
 
std::string model_path_lowres
 
int _fallback_model_index = 0
 
SGModelPlacement aip
 
bool delete_me
 
bool invisible = false
 
bool no_roll
 
bool serviceable
 
bool _installed = false
 
int _subID = 0
 
double life
 
std::unique_ptr< FGAIFlightPlanfp
 
bool _impact_reported
 
bool _collision_reported
 
bool _expiry_reported
 
double _impact_lat
 
double _impact_lon
 
double _impact_elev
 
double _impact_hdg
 
double _impact_pitch
 
double _impact_roll
 
double _impact_speed
 
ModelSearchOrder _searchOrder = ModelSearchOrder::DATA_ONLY
 

Detailed Description

Definition at line 38 of file AIBase.hxx.

Member Enumeration Documentation

◆ ModelSearchOrder

enum class FGAIBase::ModelSearchOrder
strong
Enumerator
DATA_ONLY 
PREFER_AI 
PREFER_DATA 

Definition at line 63 of file AIBase.hxx.

◆ object_type

enum class FGAIBase::object_type
strong
Enumerator
otNull 
otAircraft 
otShip 
otCarrier 
otBallistic 
otRocket 
otStorm 
otThermal 
otStatic 
otWingman 
otGroundVehicle 
otEscort 
otMultiplayer 
MAX_OBJECTS 

Definition at line 41 of file AIBase.hxx.

Constructor & Destructor Documentation

◆ FGAIBase()

FGAIBase::FGAIBase ( object_type ot,
bool enableHot )

Definition at line 146 of file AIBase.cxx.

◆ ~FGAIBase()

FGAIBase::~FGAIBase ( )
virtual

Definition at line 200 of file AIBase.cxx.

Member Function Documentation

◆ _get_speed_east_fps()

double FGAIBase::_get_speed_east_fps ( ) const

Definition at line 1014 of file AIBase.cxx.

◆ _get_speed_north_fps()

double FGAIBase::_get_speed_north_fps ( ) const

Definition at line 1018 of file AIBase.cxx.

◆ _get_SubPath()

double FGAIBase::_get_SubPath ( ) const

◆ _getAltitude()

double FGAIBase::_getAltitude ( ) const

Definition at line 1026 of file AIBase.cxx.

◆ _getAltitudeAGL()

double FGAIBase::_getAltitudeAGL ( SGGeod inpos,
double start )

Definition at line 1030 of file AIBase.cxx.

◆ _getBearing()

double FGAIBase::_getBearing ( ) const
inline

Definition at line 363 of file AIBase.hxx.

◆ _getCallsign()

const char * FGAIBase::_getCallsign ( ) const

Definition at line 1140 of file AIBase.cxx.

◆ _getCartPosX()

double FGAIBase::_getCartPosX ( ) const

Definition at line 926 of file AIBase.cxx.

◆ _getCartPosY()

double FGAIBase::_getCartPosY ( ) const

Definition at line 931 of file AIBase.cxx.

◆ _getCartPosZ()

double FGAIBase::_getCartPosZ ( ) const

Definition at line 936 of file AIBase.cxx.

◆ _getCollisionData()

bool FGAIBase::_getCollisionData ( )

Definition at line 1052 of file AIBase.cxx.

◆ _getElevationFt()

double FGAIBase::_getElevationFt ( ) const

Definition at line 1002 of file AIBase.cxx.

◆ _getExpiryData()

bool FGAIBase::_getExpiryData ( )

Definition at line 1056 of file AIBase.cxx.

◆ _getFallbackModelIndex()

int FGAIBase::_getFallbackModelIndex ( ) const

Definition at line 1148 of file AIBase.cxx.

◆ _getFirstTime()

bool FGAIBase::_getFirstTime ( ) const

◆ _getH_offset()

double FGAIBase::_getH_offset ( ) const

◆ _getHeading()

double FGAIBase::_getHeading ( ) const

Definition at line 1112 of file AIBase.cxx.

◆ _getImpact()

bool FGAIBase::_getImpact ( )

◆ _getImpactData()

bool FGAIBase::_getImpactData ( )

Definition at line 1060 of file AIBase.cxx.

◆ _getImpactElevFt()

double FGAIBase::_getImpactElevFt ( ) const

Definition at line 1072 of file AIBase.cxx.

◆ _getImpactHdg()

double FGAIBase::_getImpactHdg ( ) const

Definition at line 1084 of file AIBase.cxx.

◆ _getImpactLat()

double FGAIBase::_getImpactLat ( ) const

Definition at line 1064 of file AIBase.cxx.

◆ _getImpactLon()

double FGAIBase::_getImpactLon ( ) const

Definition at line 1068 of file AIBase.cxx.

◆ _getImpactPitch()

double FGAIBase::_getImpactPitch ( ) const

Definition at line 1076 of file AIBase.cxx.

◆ _getImpactRoll()

double FGAIBase::_getImpactRoll ( ) const

Definition at line 1080 of file AIBase.cxx.

◆ _getImpactSpeed()

double FGAIBase::_getImpactSpeed ( ) const

Definition at line 1088 of file AIBase.cxx.

◆ _getLatitude()

double FGAIBase::_getLatitude ( ) const

Definition at line 998 of file AIBase.cxx.

◆ _getLongitude()

double FGAIBase::_getLongitude ( ) const

Definition at line 994 of file AIBase.cxx.

◆ _getName()

const char * FGAIBase::_getName ( ) const

Definition at line 1136 of file AIBase.cxx.

◆ _getPath()

const char * FGAIBase::_getPath ( ) const

Definition at line 1128 of file AIBase.cxx.

◆ _getPitch()

double FGAIBase::_getPitch ( ) const

Definition at line 1108 of file AIBase.cxx.

◆ _getProps()

SGPropertyNode * FGAIBase::_getProps ( ) const

Definition at line 1040 of file AIBase.cxx.

◆ _getRange()

double FGAIBase::_getRange ( ) const
inline

Definition at line 362 of file AIBase.hxx.

◆ _getRdot()

double FGAIBase::_getRdot ( ) const

Definition at line 1006 of file AIBase.cxx.

◆ _getRoll()

double FGAIBase::_getRoll ( ) const

Definition at line 1104 of file AIBase.cxx.

◆ _getRotation()

double FGAIBase::_getRotation ( ) const

◆ _getServiceable()

bool FGAIBase::_getServiceable ( ) const

Definition at line 1036 of file AIBase.cxx.

◆ _getSMPath()

const char * FGAIBase::_getSMPath ( ) const

Definition at line 1132 of file AIBase.cxx.

◆ _getSpeed()

double FGAIBase::_getSpeed ( ) const

Definition at line 1100 of file AIBase.cxx.

◆ _getSubID()

int FGAIBase::_getSubID ( ) const

Definition at line 1096 of file AIBase.cxx.

◆ _getSubmodel()

const char * FGAIBase::_getSubmodel ( ) const

Definition at line 1144 of file AIBase.cxx.

◆ _getTriggerNode()

const char * FGAIBase::_getTriggerNode ( ) const

◆ _getV_offset()

double FGAIBase::_getV_offset ( ) const

◆ _getVS_fps()

double FGAIBase::_getVS_fps ( ) const

Definition at line 1010 of file AIBase.cxx.

◆ _getX_shift()

double FGAIBase::_getX_shift ( ) const

◆ _getXOffset()

double FGAIBase::_getXOffset ( ) const

Definition at line 1116 of file AIBase.cxx.

◆ _getY_shift()

double FGAIBase::_getY_shift ( ) const

◆ _getYOffset()

double FGAIBase::_getYOffset ( ) const

Definition at line 1120 of file AIBase.cxx.

◆ _getZOffset()

double FGAIBase::_getZOffset ( ) const

Definition at line 1124 of file AIBase.cxx.

◆ _isNight()

bool FGAIBase::_isNight ( )
static

Definition at line 1048 of file AIBase.cxx.

◆ _newAIModelID()

int FGAIBase::_newAIModelID ( )
staticprotected

Definition at line 1152 of file AIBase.cxx.

◆ _setAltitude()

void FGAIBase::_setAltitude ( double _alt)

Definition at line 1044 of file AIBase.cxx.

◆ _setLatitude()

void FGAIBase::_setLatitude ( double latitude)

Definition at line 945 of file AIBase.cxx.

◆ _setLongitude()

void FGAIBase::_setLongitude ( double longitude)

Definition at line 941 of file AIBase.cxx.

◆ _setSubID()

void FGAIBase::_setSubID ( int s)

Definition at line 949 of file AIBase.cxx.

◆ _setVS_fps()

void FGAIBase::_setVS_fps ( double _vs)

Definition at line 1022 of file AIBase.cxx.

◆ bind()

void FGAIBase::bind ( )
virtual

◆ calcRangeBearing()

void FGAIBase::calcRangeBearing ( double lat,
double lon,
double lat2,
double lon2,
double & range,
double & bearing ) const
inline

Definition at line 512 of file AIBase.hxx.

◆ calcRecipBearingDeg()

double FGAIBase::calcRecipBearingDeg ( double bearing)
inline

Definition at line 535 of file AIBase.hxx.

◆ calcRelBearingDeg()

double FGAIBase::calcRelBearingDeg ( double bearing,
double heading )
inline

Definition at line 521 of file AIBase.hxx.

◆ calcTrueBearingDeg()

double FGAIBase::calcTrueBearingDeg ( double bearing,
double heading )
inline

Definition at line 528 of file AIBase.hxx.

◆ getCallSign()

const std::string & FGAIBase::getCallSign ( ) const
inline

Definition at line 367 of file AIBase.hxx.

◆ getCartPos()

SGVec3d FGAIBase::getCartPos ( ) const

Definition at line 899 of file AIBase.cxx.

◆ getCartPosAt()

SGVec3d FGAIBase::getCartPosAt ( const SGVec3d & off) const

Definition at line 881 of file AIBase.cxx.

◆ getCollisionHeight()

int FGAIBase::getCollisionHeight ( ) const
inlinevirtual

Definition at line 576 of file AIBase.hxx.

◆ getCollisionLength()

int FGAIBase::getCollisionLength ( ) const
inlinevirtual

Definition at line 583 of file AIBase.hxx.

◆ getDefaultModelRadius()

virtual double FGAIBase::getDefaultModelRadius ( )
inlinevirtual

Reimplemented in FGAICarrier, and FGAIShip.

Definition at line 77 of file AIBase.hxx.

◆ getDie()

bool FGAIBase::getDie ( )
inline

Definition at line 508 of file AIBase.hxx.

◆ getGeodPos()

SGGeod FGAIBase::getGeodPos ( ) const

Definition at line 1182 of file AIBase.cxx.

◆ getGroundElevationM()

bool FGAIBase::getGroundElevationM ( const SGGeod & pos,
double & elev,
const simgear::BVHMaterial ** material ) const

Definition at line 904 of file AIBase.cxx.

◆ getID()

int FGAIBase::getID ( ) const

Definition at line 1092 of file AIBase.cxx.

◆ getPositionFromNode()

SGPropertyNode * FGAIBase::getPositionFromNode ( SGPropertyNode * scFileNode,
const std::string & key,
SGVec3d & position )

Definition at line 910 of file AIBase.cxx.

◆ getSceneBranch()

osg::LOD * FGAIBase::getSceneBranch ( ) const

Definition at line 1172 of file AIBase.cxx.

◆ getSearchOrder()

ModelSearchOrder FGAIBase::getSearchOrder ( ) const
inline

Definition at line 368 of file AIBase.hxx.

◆ getTrueHeadingDeg()

double FGAIBase::getTrueHeadingDeg ( ) const
inline

Definition at line 152 of file AIBase.hxx.

◆ getType()

FGAIBase::object_type FGAIBase::getType ( )
inline

Definition at line 510 of file AIBase.hxx.

◆ getTypeString()

virtual std::string_view FGAIBase::getTypeString ( void ) const
inlinevirtual

◆ init()

bool FGAIBase::init ( ModelSearchOrder searchOrder)
virtual

◆ initModel()

void FGAIBase::initModel ( )
virtual

Definition at line 687 of file AIBase.cxx.

◆ isa()

bool FGAIBase::isa ( object_type otype)

Definition at line 709 of file AIBase.cxx.

◆ isValid()

bool FGAIBase::isValid ( ) const

Definition at line 1166 of file AIBase.cxx.

◆ modelLoaded()

bool FGAIBase::modelLoaded ( ) const
Returns
true if at least one model (either low_res or high_res) is loaded

Definition at line 1177 of file AIBase.cxx.

◆ readFromScenario()

void FGAIBase::readFromScenario ( SGPropertyNode * scFileNode)
virtual

◆ reinit()

virtual void FGAIBase::reinit ( )
inlinevirtual

Reimplemented in FGAIBallistic, FGAIEscort, FGAIGroundVehicle, FGAIShip, and FGAIWingman.

Definition at line 74 of file AIBase.hxx.

◆ removeModel()

void FGAIBase::removeModel ( )
protected

Cleanly remove the model and let the scenery database pager do the clean-up work.

Definition at line 218 of file AIBase.cxx.

◆ removeSoundFx()

void FGAIBase::removeSoundFx ( )
protected

Definition at line 808 of file AIBase.cxx.

◆ setAltitude()

void FGAIBase::setAltitude ( double altitude_ft)
inline

Definition at line 419 of file AIBase.hxx.

◆ setAltitudeAGL()

void FGAIBase::setAltitudeAGL ( double altitude_agl_ft)
inline

Definition at line 425 of file AIBase.hxx.

◆ setBank()

void FGAIBase::setBank ( double bank)
inline

Definition at line 430 of file AIBase.hxx.

◆ setCallSign()

void FGAIBase::setCallSign ( const std::string & s)
inline

Definition at line 451 of file AIBase.hxx.

◆ setCollisionData()

void FGAIBase::setCollisionData ( bool i,
double lat,
double lon,
double elev )

◆ setCollisionHeight()

void FGAIBase::setCollisionHeight ( int height)
inline

Definition at line 501 of file AIBase.hxx.

◆ setCollisionLength()

void FGAIBase::setCollisionLength ( int range)
inline

Definition at line 496 of file AIBase.hxx.

◆ setDie()

void FGAIBase::setDie ( bool die)
inline

Definition at line 506 of file AIBase.hxx.

◆ setFallbackModelIndex()

void FGAIBase::setFallbackModelIndex ( const int i)
inline

Definition at line 389 of file AIBase.hxx.

◆ setFlightPlan()

void FGAIBase::setFlightPlan ( std::unique_ptr< FGAIFlightPlan > f)

Definition at line 1161 of file AIBase.cxx.

◆ setGeodPos()

void FGAIBase::setGeodPos ( const SGGeod & pos)

Definition at line 1187 of file AIBase.cxx.

◆ setHeading()

void FGAIBase::setHeading ( double heading)
inline

Definition at line 414 of file AIBase.hxx.

◆ setImpactData()

void FGAIBase::setImpactData ( bool d)

◆ setImpactElev()

void FGAIBase::setImpactElev ( double e)

◆ setImpactLat()

void FGAIBase::setImpactLat ( double lat)

◆ setImpactLon()

void FGAIBase::setImpactLon ( double lon)

◆ setLatitude()

void FGAIBase::setLatitude ( double latitude)
inline

Definition at line 446 of file AIBase.hxx.

◆ setLongitude()

void FGAIBase::setLongitude ( double longitude)
inline

Definition at line 441 of file AIBase.hxx.

◆ setManager()

void FGAIBase::setManager ( FGAIManager * mgr,
SGPropertyNode * p )
inline

Definition at line 373 of file AIBase.hxx.

◆ setMaxSpeed()

void FGAIBase::setMaxSpeed ( double kts)
inline

Definition at line 542 of file AIBase.hxx.

◆ setName()

void FGAIBase::setName ( const std::string & n)
inline

Definition at line 491 of file AIBase.hxx.

◆ setParentName()

void FGAIBase::setParentName ( const std::string & p)
inline

Definition at line 486 of file AIBase.hxx.

◆ setParentNode()

bool FGAIBase::setParentNode ( )

Definition at line 953 of file AIBase.cxx.

◆ setPath()

void FGAIBase::setPath ( const char * model)
inline

Definition at line 379 of file AIBase.hxx.

◆ setPathLowres()

void FGAIBase::setPathLowres ( std::string model)
inline

Definition at line 384 of file AIBase.hxx.

◆ setPitch()

void FGAIBase::setPitch ( double newpitch)
inline

Definition at line 436 of file AIBase.hxx.

◆ setPitchoffset()

void FGAIBase::setPitchoffset ( double x_offset)
inline

Definition at line 471 of file AIBase.hxx.

◆ setRadius()

void FGAIBase::setRadius ( double radius)
inline

Definition at line 409 of file AIBase.hxx.

◆ setRolloffset()

void FGAIBase::setRolloffset ( double y_offset)
inline

Definition at line 476 of file AIBase.hxx.

◆ setScenarioPath()

void FGAIBase::setScenarioPath ( const std::string & scenarioPath)

Definition at line 244 of file AIBase.cxx.

◆ setServiceable()

void FGAIBase::setServiceable ( bool serviceable)
inline

Definition at line 399 of file AIBase.hxx.

◆ setSMPath()

void FGAIBase::setSMPath ( const std::string & p)
inline

Definition at line 394 of file AIBase.hxx.

◆ setSpeed()

void FGAIBase::setSpeed ( double speed_KTAS)
inline

Definition at line 404 of file AIBase.hxx.

◆ setXoffset()

void FGAIBase::setXoffset ( double x_offset)
inline

Definition at line 456 of file AIBase.hxx.

◆ setYawoffset()

void FGAIBase::setYawoffset ( double z_offset)
inline

Definition at line 481 of file AIBase.hxx.

◆ setYoffset()

void FGAIBase::setYoffset ( double y_offset)
inline

Definition at line 461 of file AIBase.hxx.

◆ setZoffset()

void FGAIBase::setZoffset ( double z_offset)
inline

Definition at line 466 of file AIBase.hxx.

◆ tie()

template<typename T>
void FGAIBase::tie ( const char * aRelPath,
const SGRawValue< T > & aRawValue )
inlineprotected

Tied-properties helper, record nodes which are tied for easy un-tie-ing.

Definition at line 198 of file AIBase.hxx.

◆ Transform()

void FGAIBase::Transform ( )
protected

Definition at line 518 of file AIBase.cxx.

◆ unbind()

void FGAIBase::unbind ( )
virtual

Reimplemented in FGAIAircraft.

Definition at line 800 of file AIBase.cxx.

◆ update()

void FGAIBase::update ( double dt)
virtual

◆ updateInterior()

void FGAIBase::updateInterior ( )

Definition at line 365 of file AIBase.cxx.

◆ updateLOD()

void FGAIBase::updateLOD ( )

update LOD properties of the model

Definition at line 388 of file AIBase.cxx.

◆ UpdateRadar()

double FGAIBase::UpdateRadar ( FGAIManager * manager)
protected

Definition at line 819 of file AIBase.cxx.

Member Data Documentation

◆ _callsign

std::string FGAIBase::_callsign
protected

Definition at line 188 of file AIBase.hxx.

◆ _collision_reported

bool FGAIBase::_collision_reported
protected

Definition at line 267 of file AIBase.hxx.

◆ _elevation_m

double FGAIBase::_elevation_m = 0.0
protected

Definition at line 172 of file AIBase.hxx.

◆ _expiry_reported

bool FGAIBase::_expiry_reported
protected

Definition at line 268 of file AIBase.hxx.

◆ _fallback_model_index

int FGAIBase::_fallback_model_index = 0
protected

Definition at line 252 of file AIBase.hxx.

◆ _impact_elev

double FGAIBase::_impact_elev
protected

Definition at line 272 of file AIBase.hxx.

◆ _impact_hdg

double FGAIBase::_impact_hdg
protected

Definition at line 273 of file AIBase.hxx.

◆ _impact_lat

double FGAIBase::_impact_lat
protected

Definition at line 270 of file AIBase.hxx.

◆ _impact_lon

double FGAIBase::_impact_lon
protected

Definition at line 271 of file AIBase.hxx.

◆ _impact_pitch

double FGAIBase::_impact_pitch
protected

Definition at line 274 of file AIBase.hxx.

◆ _impact_reported

bool FGAIBase::_impact_reported
protected

Definition at line 266 of file AIBase.hxx.

◆ _impact_roll

double FGAIBase::_impact_roll
protected

Definition at line 275 of file AIBase.hxx.

◆ _impact_speed

double FGAIBase::_impact_speed
protected

Definition at line 276 of file AIBase.hxx.

◆ _installed

bool FGAIBase::_installed = false
protected

Definition at line 259 of file AIBase.hxx.

◆ _max_speed

double FGAIBase::_max_speed = 300.0
protected

Definition at line 182 of file AIBase.hxx.

◆ _name

std::string FGAIBase::_name
protected

Definition at line 190 of file AIBase.hxx.

◆ _parent

std::string FGAIBase::_parent
protected

Definition at line 191 of file AIBase.hxx.

◆ _path

std::string FGAIBase::_path
protected

Definition at line 187 of file AIBase.hxx.

◆ _pitch_offset

double FGAIBase::_pitch_offset
protected

Definition at line 178 of file AIBase.hxx.

◆ _roll_offset

double FGAIBase::_roll_offset
protected

Definition at line 179 of file AIBase.hxx.

◆ _scenarioPath

std::string FGAIBase::_scenarioPath
protected

Definition at line 192 of file AIBase.hxx.

◆ _searchOrder

ModelSearchOrder FGAIBase::_searchOrder = ModelSearchOrder::DATA_ONLY
protected

Definition at line 278 of file AIBase.hxx.

◆ _selected_ac

SGPropertyNode_ptr FGAIBase::_selected_ac
protected

Definition at line 204 of file AIBase.hxx.

◆ _subID

int FGAIBase::_subID = 0
protected

Definition at line 260 of file AIBase.hxx.

◆ _submodel

std::string FGAIBase::_submodel
protected

Definition at line 189 of file AIBase.hxx.

◆ _tiedProperties

simgear::TiedPropertyList FGAIBase::_tiedProperties
protected

Definition at line 203 of file AIBase.hxx.

◆ _x_offset

double FGAIBase::_x_offset
protected

Definition at line 174 of file AIBase.hxx.

◆ _y_offset

double FGAIBase::_y_offset
protected

Definition at line 175 of file AIBase.hxx.

◆ _yaw_offset

double FGAIBase::_yaw_offset
protected

Definition at line 180 of file AIBase.hxx.

◆ _z_offset

double FGAIBase::_z_offset
protected

Definition at line 176 of file AIBase.hxx.

◆ aip

SGModelPlacement FGAIBase::aip
protected

Definition at line 253 of file AIBase.hxx.

◆ altitude_agl_ft

double FGAIBase::altitude_agl_ft = 0.0
protected

Definition at line 223 of file AIBase.hxx.

◆ altitude_ft

double FGAIBase::altitude_ft
protected

Definition at line 218 of file AIBase.hxx.

◆ bearing

double FGAIBase::bearing
protected

Definition at line 239 of file AIBase.hxx.

◆ collisionHeight

int FGAIBase::collisionHeight = 0
protected

Definition at line 184 of file AIBase.hxx.

◆ collisionLength

int FGAIBase::collisionLength = 0
protected

Definition at line 185 of file AIBase.hxx.

◆ delete_me

bool FGAIBase::delete_me
protected

Definition at line 255 of file AIBase.hxx.

◆ e

const double FGAIBase::e = 2.71828183
static

Definition at line 359 of file AIBase.hxx.

◆ elevation

double FGAIBase::elevation
protected

Definition at line 240 of file AIBase.hxx.

◆ fp

std::unique_ptr<FGAIFlightPlan> FGAIBase::fp
protected

Definition at line 264 of file AIBase.hxx.

◆ ft_per_deg_lat

double FGAIBase::ft_per_deg_lat
protected

Definition at line 226 of file AIBase.hxx.

◆ ft_per_deg_lon

double FGAIBase::ft_per_deg_lon
protected

Definition at line 225 of file AIBase.hxx.

◆ hdg

double FGAIBase::hdg
protected

Definition at line 213 of file AIBase.hxx.

◆ horiz_offset

double FGAIBase::horiz_offset
protected

Definition at line 243 of file AIBase.hxx.

◆ ht_diff

double FGAIBase::ht_diff
protected

Definition at line 248 of file AIBase.hxx.

◆ in_range

bool FGAIBase::in_range
protected

Definition at line 238 of file AIBase.hxx.

◆ invisible

bool FGAIBase::invisible = false
protected

Definition at line 256 of file AIBase.hxx.

◆ lbs_to_slugs

const double FGAIBase::lbs_to_slugs = 0.031080950172
static

Definition at line 360 of file AIBase.hxx.

◆ life

double FGAIBase::life
protected

Definition at line 262 of file AIBase.hxx.

◆ manager

FGAIManager* FGAIBase::manager = nullptr
protected

Definition at line 209 of file AIBase.hxx.

◆ model_path

std::string FGAIBase::model_path
protected

Definition at line 250 of file AIBase.hxx.

◆ model_path_lowres

std::string FGAIBase::model_path_lowres
protected

Definition at line 251 of file AIBase.hxx.

◆ model_removed

SGPropertyNode_ptr FGAIBase::model_removed
protected

Definition at line 208 of file AIBase.hxx.

◆ no_roll

bool FGAIBase::no_roll
protected

Definition at line 257 of file AIBase.hxx.

◆ pitch

double FGAIBase::pitch
protected

Definition at line 215 of file AIBase.hxx.

◆ pos

SGGeod FGAIBase::pos
protected

Definition at line 212 of file AIBase.hxx.

◆ props

SGPropertyNode_ptr FGAIBase::props
protected

Definition at line 205 of file AIBase.hxx.

◆ range

double FGAIBase::range
protected

Definition at line 241 of file AIBase.hxx.

◆ rdot

double FGAIBase::rdot
protected

Definition at line 242 of file AIBase.hxx.

◆ replay_time

SGPropertyNode_ptr FGAIBase::replay_time
protected

Definition at line 207 of file AIBase.hxx.

◆ roll

double FGAIBase::roll
protected

Definition at line 214 of file AIBase.hxx.

◆ rotation

double FGAIBase::rotation
protected

Definition at line 247 of file AIBase.hxx.

◆ serviceable

bool FGAIBase::serviceable
protected

Definition at line 258 of file AIBase.hxx.

◆ speed

double FGAIBase::speed
protected

Definition at line 216 of file AIBase.hxx.

◆ speed_east_deg_sec

double FGAIBase::speed_east_deg_sec
protected

Definition at line 221 of file AIBase.hxx.

◆ speed_fps

double FGAIBase::speed_fps = 0.0
protected

Definition at line 217 of file AIBase.hxx.

◆ speed_north_deg_sec

double FGAIBase::speed_north_deg_sec
protected

Definition at line 220 of file AIBase.hxx.

◆ tgt_altitude_ft

double FGAIBase::tgt_altitude_ft
protected

Definition at line 230 of file AIBase.hxx.

◆ tgt_heading

double FGAIBase::tgt_heading
protected

Definition at line 229 of file AIBase.hxx.

◆ tgt_pitch

double FGAIBase::tgt_pitch
protected

Definition at line 233 of file AIBase.hxx.

◆ tgt_roll

double FGAIBase::tgt_roll
protected

Definition at line 232 of file AIBase.hxx.

◆ tgt_speed

double FGAIBase::tgt_speed
protected

Definition at line 231 of file AIBase.hxx.

◆ tgt_vs

double FGAIBase::tgt_vs
protected

Definition at line 235 of file AIBase.hxx.

◆ tgt_yaw

double FGAIBase::tgt_yaw
protected

Definition at line 234 of file AIBase.hxx.

◆ trigger_node

SGPropertyNode_ptr FGAIBase::trigger_node
protected

Definition at line 206 of file AIBase.hxx.

◆ turn_radius_ft

double FGAIBase::turn_radius_ft
protected

Definition at line 222 of file AIBase.hxx.

◆ vert_offset

double FGAIBase::vert_offset
protected

Definition at line 244 of file AIBase.hxx.

◆ vs_fps

double FGAIBase::vs_fps
protected

Definition at line 219 of file AIBase.hxx.

◆ x_shift

double FGAIBase::x_shift
protected

Definition at line 245 of file AIBase.hxx.

◆ y_shift

double FGAIBase::y_shift
protected

Definition at line 246 of file AIBase.hxx.


The documentation for this class was generated from the following files: