VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtRotorWashProcess Class Reference

DtRotorWashProcess maintains a model of the rotary wing entity's rotor wash, such as speed; dead reckoned position, intensity, and lag, e.g. More...

Public Member Functions

 DtRotorWashProcess (DtDe &de)
 CTOR. More...
 
virtual ~DtRotorWashProcess ()
 Virtual DTOR. More...
 
virtual void setHelicopterId (DtUniqueID helicopterID)
 Initializes the scene object for the object id being processed. More...
 
virtual void update (DtTime tNow)
 The update function called by DtTickableManager during update-ticks. More...
 
virtual DtVector currentHeloPosition () const
 Retrieve the current helicopter position from the scene object. More...
 
virtual DtTaitBryan currentHeloOrientation () const
 Retrieve the current helicopter orientation from the scene object. More...
 
virtual void calcRotorWashLagRelOffset (const DtTime &tNow, const DtVector &currentHeliPos, const DtTaitBryan &currentHeliOri, DtVector &outRelativeOffset, double &lagHeliAngleDistToGround)
 Lag rotorwash based on height and velocity outOffsetPos = the position of the lagged rotorwash based on current helicopter position in coordinates relative to the the helicopter and using DIS (forward, right, down) style lagHeliAngleDistToGround is the distance from the helicopter to the rotorwash at the lag posion. More...
 
virtual void setRotorWashState (const DtRotorWashState *rwState)
 Set the parameters for the current active rotorwash. More...
 
virtual DtVector currentHeliPos () const
 Accessors for the DtRotorWashProcess Current helicopter position. More...
 
virtual DtTaitBryan currentHeliOri () const
 Current helicopter orientation. More...
 
virtual DtVector offsetPos () const
 Position of rotorwash relative to helicopter. More...
 
virtual float intensity () const
 0 - no rotorwash to 1 - full rotorwash More...
 
virtual float rotorWashSpeed () const
 Rotorwash speed in meters per second (default 100 m/s) More...
 
virtual DtVector rotorWashPos () const
 Position of rotorwash on the ground in the world. More...
 
virtual DtVector rotorWashDir () const
 Direction of rotorwash on the ground in the world. More...
 

Protected Member Functions

virtual const DtRotorWashStaterotorWashState ()
 Helper method to return a properly cast version of the rotorWash model supplied. More...
 
virtual DtVector calcRotorDownDirection (const DtVector &currentPos, const DtTaitBryan &orientation)
 Calculate a normalized helo down vector. More...
 
virtual double getHeightAboveTerrain (const DtVector &pos)
 Calculate the height straight down (without regard to orientation) for the helicopter. More...
 
virtual bool getTerrainOrPropIntersection (const DtVector &startPos, const DtVector &endPos, DtVector &result)
 vrvCore version - Get an intersection with the ground to place the effect (not currently used, intersection info is from VRF) More...
 
virtual DtVector getHeliVelocity (DtTime tNow)
 Get the velocity of the helicopter. More...
 
virtual DtVector convertOffset (const DtVector &worldOffset, const DtTaitBryan &heliOri)
 Convert an offset calculated in world coordinates to a DIS style (forward, right, down) offset relative to the helicopter. More...
 

Protected Attributes

DtDemyDe
 The display engine. More...
 
DtIntersectormyIntersector
 
DtSimpleIntersectormyHATIntersector
 
DtRotorWashTrailPoints myRotorWashPoints
 
DtSceneObjectmySceneObject
 
const DtRotorWashStatemyRotorWashState
 
DtVector myCurrentHeliPos
 
DtTaitBryan myCurrentHeliOri
 
DtVector myOffsetFromHeli
 
float myIntensity
 
float myRotorWashSpeed
 
DtVector myRotorWashPos
 
DtVector myRotorWashDir
 

Private Member Functions

 DtRotorWashProcess ()
 Default Constructor not implemented – default constructor not allowed. More...
 
 DtRotorWashProcess (const DtRotorWashProcess &other)
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtRotorWashProcessoperator= (const DtRotorWashProcess &other)
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Detailed Description

DtRotorWashProcess maintains a model of the rotary wing entity's rotor wash, such as speed; dead reckoned position, intensity, and lag, e.g.

using information from the entity's parameters and data from it's

See Also
DtSceneObject. It then updates the currently active rotor wash visual model using that rotor wash's
DtRotorWashDistributor.

Constructor & Destructor Documentation

makVrv::DtRotorWashProcess::DtRotorWashProcess ( DtDe de)

CTOR.

virtual makVrv::DtRotorWashProcess::~DtRotorWashProcess ( )
virtual

Virtual DTOR.

makVrv::DtRotorWashProcess::DtRotorWashProcess ( )
private

Default Constructor not implemented – default constructor not allowed.

makVrv::DtRotorWashProcess::DtRotorWashProcess ( const DtRotorWashProcess other)
private

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

virtual void makVrv::DtRotorWashProcess::setHelicopterId ( DtUniqueID  helicopterID)
virtual

Initializes the scene object for the object id being processed.

virtual void makVrv::DtRotorWashProcess::update ( DtTime  tNow)
virtual

The update function called by DtTickableManager during update-ticks.

Parameters
[in]tNowis the current time-stamp.
Note
Derived classes should update the rotorWash at the end of their implementation of this function.
virtual DtVector makVrv::DtRotorWashProcess::currentHeloPosition ( ) const
virtual

Retrieve the current helicopter position from the scene object.

virtual DtTaitBryan makVrv::DtRotorWashProcess::currentHeloOrientation ( ) const
virtual

Retrieve the current helicopter orientation from the scene object.

virtual void makVrv::DtRotorWashProcess::calcRotorWashLagRelOffset ( const DtTime tNow,
const DtVector currentHeliPos,
const DtTaitBryan &  currentHeliOri,
DtVector outRelativeOffset,
double lagHeliAngleDistToGround 
)
virtual

Lag rotorwash based on height and velocity outOffsetPos = the position of the lagged rotorwash based on current helicopter position in coordinates relative to the the helicopter and using DIS (forward, right, down) style lagHeliAngleDistToGround is the distance from the helicopter to the rotorwash at the lag posion.

virtual void makVrv::DtRotorWashProcess::setRotorWashState ( const DtRotorWashState rwState)
virtual

Set the parameters for the current active rotorwash.

virtual DtVector makVrv::DtRotorWashProcess::currentHeliPos ( ) const
virtual

Accessors for the DtRotorWashProcess Current helicopter position.

virtual DtTaitBryan makVrv::DtRotorWashProcess::currentHeliOri ( ) const
virtual

Current helicopter orientation.

virtual DtVector makVrv::DtRotorWashProcess::offsetPos ( ) const
virtual

Position of rotorwash relative to helicopter.

virtual float makVrv::DtRotorWashProcess::intensity ( ) const
virtual

0 - no rotorwash to 1 - full rotorwash

virtual float makVrv::DtRotorWashProcess::rotorWashSpeed ( ) const
virtual

Rotorwash speed in meters per second (default 100 m/s)

virtual DtVector makVrv::DtRotorWashProcess::rotorWashPos ( ) const
virtual

Position of rotorwash on the ground in the world.

virtual DtVector makVrv::DtRotorWashProcess::rotorWashDir ( ) const
virtual

Direction of rotorwash on the ground in the world.

DtRotorWashProcess& makVrv::DtRotorWashProcess::operator= ( const DtRotorWashProcess other)
private

Assignment Operator Not implemented – Assignment Not Allowed.

virtual const DtRotorWashState* makVrv::DtRotorWashProcess::rotorWashState ( )
protectedvirtual

Helper method to return a properly cast version of the rotorWash model supplied.

virtual DtVector makVrv::DtRotorWashProcess::calcRotorDownDirection ( const DtVector currentPos,
const DtTaitBryan &  orientation 
)
protectedvirtual

Calculate a normalized helo down vector.

virtual double makVrv::DtRotorWashProcess::getHeightAboveTerrain ( const DtVector pos)
protectedvirtual

Calculate the height straight down (without regard to orientation) for the helicopter.

virtual bool makVrv::DtRotorWashProcess::getTerrainOrPropIntersection ( const DtVector startPos,
const DtVector endPos,
DtVector result 
)
protectedvirtual

vrvCore version - Get an intersection with the ground to place the effect (not currently used, intersection info is from VRF)

virtual DtVector makVrv::DtRotorWashProcess::getHeliVelocity ( DtTime  tNow)
protectedvirtual

Get the velocity of the helicopter.

virtual DtVector makVrv::DtRotorWashProcess::convertOffset ( const DtVector worldOffset,
const DtTaitBryan &  heliOri 
)
protectedvirtual

Convert an offset calculated in world coordinates to a DIS style (forward, right, down) offset relative to the helicopter.

Member Data Documentation

DtDe& makVrv::DtRotorWashProcess::myDe
protected

The display engine.

DtIntersector* makVrv::DtRotorWashProcess::myIntersector
protected
DtSimpleIntersector* makVrv::DtRotorWashProcess::myHATIntersector
protected
DtRotorWashTrailPoints makVrv::DtRotorWashProcess::myRotorWashPoints
protected
DtSceneObject* makVrv::DtRotorWashProcess::mySceneObject
protected
const DtRotorWashState* makVrv::DtRotorWashProcess::myRotorWashState
protected
DtVector makVrv::DtRotorWashProcess::myCurrentHeliPos
protected
DtTaitBryan makVrv::DtRotorWashProcess::myCurrentHeliOri
protected
DtVector makVrv::DtRotorWashProcess::myOffsetFromHeli
protected
float makVrv::DtRotorWashProcess::myIntensity
protected
float makVrv::DtRotorWashProcess::myRotorWashSpeed
protected
DtVector makVrv::DtRotorWashProcess::myRotorWashPos
protected
DtVector makVrv::DtRotorWashProcess::myRotorWashDir
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)