VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
makVrv::DtRotorWashManager Class Reference

Manager for updating the rotorwashes. DtRotorWashManager is managed by.

See Also
DtTickableManager. When you call the addRotorWash() method, the DtRotorWashManager will create a
DtRotorWashSet if one does not yet exist. The DtRotorWashManager will manage the collection of rotorwash visual effects for the entity. The DtRotorWashManager will update the
DtRotorWashSet for each entity during the manager update.
DtEntityRotorWashVisualizer uses the
DtRotorWashObject to talk to this manager. Then the
DtRotorWashManager coordinates with the
DtRotorWashSet ->
DtRotorWashDistributor ->
DtRotorWashModel
Inheritance diagram for makVrv::DtRotorWashManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtRotorWashManager ()
 
virtual void addRotorWash (DtUniqueID helicopterID, DtUniqueID rotorWashID, const std::string &modelDef)
 
virtual void removeRotorWash (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 
virtual bool hasRotorWash (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 
virtual DtRotorWashSetgetRotorWashSet (DtUniqueID helicopterID)
 
virtual void start (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 
virtual void stop (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 
virtual void setRotorDiameter (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorDiameter)
 
virtual void setDefaultRotorDiameter (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorDiameter)
 
virtual void setRotorWindSpeed (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorWindSpeed)
 
virtual void setDefaultRotorWindSpeed (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorWindSpeed)
 
virtual void update (DtTime tNow)
 
virtual DtTime lastUpdateTime () const
 
virtual int numHelicopters ()
 
virtual void helicopterIDs (std::vector< DtUniqueID > &heliIDs)
 
virtual DtRotorWashSetcreateRotorWashSet ()
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool needsUpdate (DtTime tNow)
 
virtual bool updateIfNeeded (DtTime tNow)
 
virtual ~DtTickable ()
 
virtual void setIsThreadSafe (bool safe)
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtRotorWashManagerinstance (DtDe &de)
 

Protected Types

typedef std::map< DtUniqueID,
DtRotorWashSet * > 
HeliRotorWashMap
 

Protected Member Functions

 DtRotorWashManager (DtDe &de)
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 
 DtTickable ()
 
virtual void slot_managerAboutToBeDeleted ()
 

Protected Attributes

DtDemyDe
 
HeliRotorWashMap myHeliToRWMap
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Private Member Functions

 DtRotorWashManager ()
 
 DtRotorWashManager (const DtRotorWashManager &)
 
DtRotorWashManageroperator= (const DtRotorWashManager &)
 

Friends

class DtRotorWashManagerCreator
 

Additional Inherited Members

- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 

Member Typedef Documentation

Constructor & Destructor Documentation

virtual makVrv::DtRotorWashManager::~DtRotorWashManager ( )
virtual

DTOR.

makVrv::DtRotorWashManager::DtRotorWashManager ( DtDe de)
protected

CTOR.

Parameters
[in]deis the display engine.
makVrv::DtRotorWashManager::DtRotorWashManager ( )
private

Default Constructor not implemented – default constructor not allowed.

makVrv::DtRotorWashManager::DtRotorWashManager ( const DtRotorWashManager )
private

Copy Constructor not implemented – Copy not allowed.

Member Function Documentation

static DtRotorWashManager& makVrv::DtRotorWashManager::instance ( DtDe de)
static

Get an instance used to emit, or to connect.

virtual void makVrv::DtRotorWashManager::addRotorWash ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID,
const std::string &  modelDef 
)
virtual

Add a rotorwash for a helicopter based on unique id You can add multiple rotorwashes to a helicopter and it will switch depending on the soil type (see DtRotorWashInfo for types)

virtual void makVrv::DtRotorWashManager::removeRotorWash ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID 
)
virtual

Remove a rotorwash for a helicopter based on unique id.

virtual bool makVrv::DtRotorWashManager::hasRotorWash ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID 
)
virtual

Does the DtRotorWashManager know about this rotorwash.

virtual DtRotorWashSet* makVrv::DtRotorWashManager::getRotorWashSet ( DtUniqueID  helicopterID)
virtual

Get the set of rotor washes for a helicopter.

virtual void makVrv::DtRotorWashManager::start ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID 
)
virtual

Start a rotorwash for a helicopter based on unique id.

virtual void makVrv::DtRotorWashManager::stop ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID 
)
virtual

Stop a rotorwash for a helicopter based on unique id.

virtual void makVrv::DtRotorWashManager::setRotorDiameter ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID,
double  rotorDiameter 
)
virtual

Set the diameter of the rotors (tip to tip) generating the wake. If set, larger rotor diamtere will result in larger rotorwash.

virtual void makVrv::DtRotorWashManager::setDefaultRotorDiameter ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID,
double  rotorDiameter 
)
virtual

Set a default diameter of the rotors (tip to tip) generating the wake (if setRotorDiametere is not used)

virtual void makVrv::DtRotorWashManager::setRotorWindSpeed ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID,
double  rotorWindSpeed 
)
virtual

Set the speed of the down-draft created by the rotors. If set, larger speed will create larger rotorwashes.

virtual void makVrv::DtRotorWashManager::setDefaultRotorWindSpeed ( DtUniqueID  helicopterID,
DtUniqueID  rotorWashID,
double  rotorWindSpeed 
)
virtual

Set the default speed of the down-draft created by the rotors (if setRotorWindSpeed is not used)

virtual void makVrv::DtRotorWashManager::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.

Implements makVrv::DtTickable.

virtual DtTime makVrv::DtRotorWashManager::lastUpdateTime ( ) const
virtual

Get the time-stamp of the last update.

Returns
The last update time.
virtual int makVrv::DtRotorWashManager::numHelicopters ( )
virtual

How many helicopters is the DtRotorWashManager managing?

virtual void makVrv::DtRotorWashManager::helicopterIDs ( std::vector< DtUniqueID > &  heliIDs)
virtual

Get the list of helicopter IDs being managed.

virtual DtRotorWashSet* makVrv::DtRotorWashManager::createRotorWashSet ( )
virtual

Function to create a DtRotorWashSet in case you want to create your own derived class instead and use it with this manager when adding a rotorwash.

DtRotorWashManager& makVrv::DtRotorWashManager::operator= ( const DtRotorWashManager )
private

Assignment Operator not implemented – Copy not allowed.

Friends And Related Function Documentation

friend class DtRotorWashManagerCreator
friend

Member Data Documentation

DtDe& makVrv::DtRotorWashManager::myDe
protected

The display engine.

HeliRotorWashMap makVrv::DtRotorWashManager::myHeliToRWMap
protected

Map unique helicopter to multiple model agents Maps like this: DtUniqueID heilID -> DtRotorWashSet -> rotorwash id -> DtRotorWashDistributorAgent -> DtRotorWashModel -> DtRotorWashModelInstanceInterface -> { DtParticleRotorWashModelInstace, DtTritonRotorWashModelInstance } - depending on rotorwash type.


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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)