VR-Forces 4.0.4 Class Documentation
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
DtFixedWingEntityStateRepository Class Reference

This repository holds all information that is common to all the forms of local fixed wing entities within the system. More...

Inheritance diagram for DtFixedWingEntityStateRepository:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtFixedWingEntityStateRepository (DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, const DtString &name, DtReaderWriterRegistry *parentRegistry=0)
 Constructor with parameters to set up read/writability correctly.
 DtFixedWingEntityStateRepository (const DtFixedWingEntityStateRepository &orig, const DtString &rwName=DtString::nullString(), DtReaderWriterRegistry *parentRegistry=0)
 copy constructor
const
DtFixedWingEntityStateRepository
operator= (const DtFixedWingEntityStateRepository &orig)
 assignment operator
virtual ~DtFixedWingEntityStateRepository ()
 destructor
virtual bool init ()
 Our 'virtual' constructor. Calls all the create<>() methods.
virtual DtString type () const
 Returns the string type of the repository, as defined in vrfSRTypes.h.
virtual const int vrfMovingObjectStateRepositorySubType () const
 Returns DtVrfMovingObjectStateRepositorySubTypeFixedWing.
virtual const int fixedWingEntityStateRepositorySubType () const
 Returns DtFixedWingEntityStateRepositorySubTypeBase.
virtual bool createParameters ()
virtual void initializeFromParameters ()
virtual const
DtFixedWingEntityParameters
fixedWingEntityParameters () const
virtual DtReal AOA () const
 Current angle of attack.
virtual void setAOA (DtReal aoa)
virtual DtReal minLiftSpeed () const
 Parameters: Min-lift-speed - below this speed no lift is generated.
virtual void setMinLiftSpeed (DtReal minLiftSpeed)
virtual DtReal maxAltitude () const
 Max-altitude - above this altitude no lift is generated.
virtual void setMaxAltitude (DtReal maxAltitude)
virtual DtReal maxYawRate () const
 Max-yaw-rate - the maximum, in rad/s, this plane can rotate about its Z axis (due to pedal).
virtual void setMaxYawRate (DtReal maxYawRate)
virtual DtReal maxPitchRate () const
 Max-pitch-rate - the maximum rate this plane can pitch down or up about its Y axis (due to stick).
virtual void setMaxPitchRate (DtReal maxPitchRate)
virtual DtReal maxRollRate () const
 Max-roll-rate - the maximum rate this plane can rotate about its X axis (due to stick).
virtual void setMaxRollRate (DtReal maxRollRate)
virtual DtReal maxClimbRate () const
 Max-Angle-Of-Attack - above this AOA, no lift is generated.
virtual void setMaxClimbRate (DtReal maxClimbRate)
virtual DtReal orderedAltitude () const
 As specifeed by a setAltitude command, or the Z parameter of a destination waypoint.
virtual void setOrderedAltitude (DtReal orderedAltitude)
virtual DtReal orderedGroundSpeed () const
virtual void setOrderedGroundSpeed (DtReal orderedGroundSpeed)
virtual DtReal maxGroundSpeed () const
virtual void setMaxGroundSpeed (DtReal maxGroundSpeed)
virtual DtReal maxGroundStoppingDeceleration () const
virtual void setMaxGroundStoppingDeceleration (DtReal maxGroundStoppingDeceleration)
virtual DtReal groundTurningRadius () const
virtual void setGroundTurningRadius (DtReal groundTurningRadius)
virtual DtReal maxGroundSlope () const
virtual void setMaxGroundSlope (DtReal maxGroundSlope)
virtual bool onGround () const
 The specifies whether or not the entity is on the ground.
virtual void setOnGround (bool onGround)
 NOTE: Calls updateCurrentStateVars() automatically every time this is called in order to ensure the current state variables match the current state of the plane.
virtual void setCurrentOrderedSpeed (const double currentOrderedSpeed)
 These variables are the "current state variables." They represent what the properties of the entity are for the appropriate state, on the ground or in the air.
virtual const double currentOrderedSpeed () const
virtual void setCurrentMaxSpeed (const double currentMaxSpeed)
virtual const double currentMaxSpeed () const
virtual void setCurrentMaxStoppingDeceleration (const double currentMaxStoppingDeceleration)
virtual const double currentMaxStoppingDeceleration () const
virtual void setCurrentTurningRadius (const double currentTurningRadius)
virtual const double currentTurningRadius () const
virtual void setCurrentMaxSlope (const double currentMaxSlope)
virtual const double currentMaxSlope () const
virtual void setOnGroundTolerance (double)
virtual double onGroundTolerance () const
virtual void place (const DtVector &location, const DtReal heading, bool clampToGroundFlag=true, bool *dataAvailable=0, bool requireAllData=false)
 Places the entity at the specified location and heading.
virtual void placeAtAltitude (const DtVector &location, const DtReal heading)
 Places entity at altitude regardless of terrain.
virtual void updateCurrentStateVars ()
 Sets the proper values for the "current..." state vars depending on whether or not the plane is on the ground.
virtual const
DtGroundInteractionPt
noseSupport () const
 These are used to alias the base class otherSupport member - to help remind modelers that the 3rd support point for an air vehicle is supposed to represent the nose wheel.
virtual DtGroundInteractionPtnoseSupport ()
virtual void setNoseSupport (const DtVector &noseSupport)
virtual void restoreEntity ()
 Override to set default altitude when restored.
virtual void updateAppearanceFromState ()
 Updates attributes based on entity state.

Static Public Member Functions

static DtVrfObjectStateRepositorycreator (const DtString &name, DtVrfObject *vrfObject, const DtObjectType &objectType, DtVrfObjectParameters *parameters, DtReaderWriterRegistry *parentRegistry)
static
DtFixedWingEntityStateRepository
isFixedWingEntityStateRepository (DtSimObjectStateRepository *repository)
 Returns a the pointer the repository, if the repository passed in is of type DtFixedWingEntityStateRepository, 0 if not.
static const
DtFixedWingEntityStateRepository
isFixedWingEntityStateRepository (const DtSimObjectStateRepository *repository)

Protected Member Functions

 DtFixedWingEntityStateRepository ()
 default constructor cannot be used

Protected Attributes

DtRwReal myAOA
DtRwReal myMinLiftSpeed
DtRwReal myMaxAltitude
DtRwReal myOrderedAltitude
DtRwReal myMaxClimbRate
DtRwReal myMaxYawRate
DtRwReal myMaxPitchRate
DtRwReal myMaxRollRate
DtRwReal myOrderedGroundSpeed
DtRwReal myMaxGroundSpeed
DtRwReal myMaxGroundStoppingDeceleration
DtRwReal myGroundTurningRadius
DtRwReal myMaxGroundSlope
DtRwBoolean myOnGround
DtRwReal myCurrentOrderedSpeed
 These variables are used to represent the values for the current state of the FWE - for flying or driving on the ground.
DtRwReal myCurrentMaxSpeed
DtRwReal myCurrentMaxStoppingDeceleration
DtRwReal myCurrentTurningRadius
DtRwReal myCurrentMaxSlope
DtRwReal myOnGroundTolerance
 The value (in meters) that if a fixed wing is within this tolerance and the ground, it is considered on ground.

Detailed Description

This repository holds all information that is common to all the forms of local fixed wing entities within the system.

It contains a pointer to the fixed wing entity parameters, and provides accessors and mutators for all parameter values.


Constructor & Destructor Documentation

default constructor cannot be used

DtFixedWingEntityStateRepository::DtFixedWingEntityStateRepository ( DtVrfObject vrfObject,
const DtObjectType objectType,
DtVrfObjectParameters parameters,
const DtString name,
DtReaderWriterRegistry parentRegistry = 0 
)

Constructor with parameters to set up read/writability correctly.

DtFixedWingEntityStateRepository::DtFixedWingEntityStateRepository ( const DtFixedWingEntityStateRepository orig,
const DtString rwName = DtString::nullString(),
DtReaderWriterRegistry parentRegistry = 0 
)

copy constructor

destructor


Member Function Documentation

const DtFixedWingEntityStateRepository& DtFixedWingEntityStateRepository::operator= ( const DtFixedWingEntityStateRepository orig)

assignment operator

Our 'virtual' constructor. Calls all the create<>() methods.

Reimplemented from DtVrfObjectStateRepository.

virtual DtString DtFixedWingEntityStateRepository::type ( ) const [virtual]

Returns the string type of the repository, as defined in vrfSRTypes.h.

Reimplemented from DtVrfMovingObjectStateRepository.

Returns DtVrfMovingObjectStateRepositorySubTypeFixedWing.

Reimplemented from DtVrfMovingObjectStateRepository.

Returns DtFixedWingEntityStateRepositorySubTypeBase.

Reimplemented from DtVrfMovingObjectStateRepository.

Reimplemented from DtVrfMovingObjectStateRepository.

virtual DtReal DtFixedWingEntityStateRepository::AOA ( ) const [virtual]

Current angle of attack.

virtual void DtFixedWingEntityStateRepository::setAOA ( DtReal  aoa) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::minLiftSpeed ( ) const [virtual]

Parameters: Min-lift-speed - below this speed no lift is generated.

virtual void DtFixedWingEntityStateRepository::setMinLiftSpeed ( DtReal  minLiftSpeed) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxAltitude ( ) const [virtual]

Max-altitude - above this altitude no lift is generated.

virtual void DtFixedWingEntityStateRepository::setMaxAltitude ( DtReal  maxAltitude) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxYawRate ( ) const [virtual]

Max-yaw-rate - the maximum, in rad/s, this plane can rotate about its Z axis (due to pedal).

virtual void DtFixedWingEntityStateRepository::setMaxYawRate ( DtReal  maxYawRate) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxPitchRate ( ) const [virtual]

Max-pitch-rate - the maximum rate this plane can pitch down or up about its Y axis (due to stick).

virtual void DtFixedWingEntityStateRepository::setMaxPitchRate ( DtReal  maxPitchRate) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxRollRate ( ) const [virtual]

Max-roll-rate - the maximum rate this plane can rotate about its X axis (due to stick).

virtual void DtFixedWingEntityStateRepository::setMaxRollRate ( DtReal  maxRollRate) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxClimbRate ( ) const [virtual]

Max-Angle-Of-Attack - above this AOA, no lift is generated.

virtual void DtFixedWingEntityStateRepository::setMaxClimbRate ( DtReal  maxClimbRate) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::orderedAltitude ( ) const [virtual]

As specifeed by a setAltitude command, or the Z parameter of a destination waypoint.

virtual void DtFixedWingEntityStateRepository::setOrderedAltitude ( DtReal  orderedAltitude) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::orderedGroundSpeed ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setOrderedGroundSpeed ( DtReal  orderedGroundSpeed) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxGroundSpeed ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setMaxGroundSpeed ( DtReal  maxGroundSpeed) [virtual]
virtual void DtFixedWingEntityStateRepository::setMaxGroundStoppingDeceleration ( DtReal  maxGroundStoppingDeceleration) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::groundTurningRadius ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setGroundTurningRadius ( DtReal  groundTurningRadius) [virtual]
virtual DtReal DtFixedWingEntityStateRepository::maxGroundSlope ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setMaxGroundSlope ( DtReal  maxGroundSlope) [virtual]
virtual bool DtFixedWingEntityStateRepository::onGround ( ) const [virtual]

The specifies whether or not the entity is on the ground.

It does NOT specify whether or not the entity is at the same altitude as the terrain or below it or at 0 altitude.

virtual void DtFixedWingEntityStateRepository::setOnGround ( bool  onGround) [virtual]

NOTE: Calls updateCurrentStateVars() automatically every time this is called in order to ensure the current state variables match the current state of the plane.

virtual void DtFixedWingEntityStateRepository::setCurrentOrderedSpeed ( const double  currentOrderedSpeed) [virtual]

These variables are the "current state variables." They represent what the properties of the entity are for the appropriate state, on the ground or in the air.

They are updated appropriately when setOnGround is called.

virtual const double DtFixedWingEntityStateRepository::currentOrderedSpeed ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setCurrentMaxSpeed ( const double  currentMaxSpeed) [virtual]
virtual const double DtFixedWingEntityStateRepository::currentMaxSpeed ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setCurrentMaxStoppingDeceleration ( const double  currentMaxStoppingDeceleration) [virtual]
virtual const double DtFixedWingEntityStateRepository::currentMaxStoppingDeceleration ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setCurrentTurningRadius ( const double  currentTurningRadius) [virtual]
virtual const double DtFixedWingEntityStateRepository::currentTurningRadius ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setCurrentMaxSlope ( const double  currentMaxSlope) [virtual]
virtual const double DtFixedWingEntityStateRepository::currentMaxSlope ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::setOnGroundTolerance ( double  ) [virtual]
virtual double DtFixedWingEntityStateRepository::onGroundTolerance ( ) const [virtual]
virtual void DtFixedWingEntityStateRepository::place ( const DtVector location,
const DtReal  heading,
bool  clampToGroundFlag = true,
bool dataAvailable = 0,
bool  requireAllData = false 
) [virtual]

Places the entity at the specified location and heading.

If the location is within, or less than, myOnGroundTolerance of the height of the terrain, or it is the first time place is being called, the entity is clamped to the ground. Otherwise, it will place it in the air by calling placeAtAltitude in which case #dataAvailable is always set to true (as there will be no terrain intersections which might block). If the altitude is greater than the maximum altitude then it will clamp it to the maximum altitude. It will also ensure all ground/air state is set appropriately. Current speed will be set appropriately for the entity, depending on state change. Air -> ground Current speed is clamped to be no more than 1 less than the minimum lift speed or the ordered ground speed, whichever is lower. Ground -> Air Current speed is set to be the greater of the minimum lift speed or the ordered speed (ordered air speed).

Parameters:
Output
dataAvailableprevents the call from blocking due to terrain paging and will get a true value if the terrain intersections are successful. See DtVrfMovingObjectStateRepository::clampToGround for more information.
requireAllDataif dataAvailable is set and requireAllData is true, when the result of any terrain intersection causes dataAvailable to be set to false no changes will be made to the object.

Reimplemented from DtVrfMovingObjectStateRepository.

virtual void DtFixedWingEntityStateRepository::placeAtAltitude ( const DtVector location,
const DtReal  heading 
) [virtual]

Places entity at altitude regardless of terrain.

Reimplemented from DtVrfMovingObjectStateRepository.

Sets the proper values for the "current..." state vars depending on whether or not the plane is on the ground.

These are used to alias the base class otherSupport member - to help remind modelers that the 3rd support point for an air vehicle is supposed to represent the nose wheel.

virtual void DtFixedWingEntityStateRepository::setNoseSupport ( const DtVector noseSupport) [virtual]
static DtVrfObjectStateRepository* DtFixedWingEntityStateRepository::creator ( const DtString name,
DtVrfObject vrfObject,
const DtObjectType objectType,
DtVrfObjectParameters parameters,
DtReaderWriterRegistry parentRegistry 
) [static]

Reimplemented from DtVrfMovingObjectStateRepository.

Returns a the pointer the repository, if the repository passed in is of type DtFixedWingEntityStateRepository, 0 if not.

Override to set default altitude when restored.

Reimplemented from DtVrfObjectStateRepository.

Updates attributes based on entity state.

Currently called when ground state changes. Will set landing light on if on ground, else do not


Member Data Documentation

These variables are used to represent the values for the current state of the FWE - for flying or driving on the ground.

They should be updated at EVERY state change to ensure they are correct.

The value (in meters) that if a fixed wing is within this tolerance and the ground, it is considered on ground.

This value defaults to 10


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)