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 | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Friends
makVrv::DtRotorWashManager Class Reference

Manager for updating the rotorwashes. More...

Inheritance diagram for makVrv::DtRotorWashManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtRotorWashManager ()
 DTOR. More...
 
virtual void addRotorWash (DtUniqueID helicopterID, DtUniqueID rotorWashID, std::string modelDef)
 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) More...
 
virtual void removeRotorWash (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 Remove a rotorwash for a helicopter based on unique id. More...
 
virtual bool hasRotorWash (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 Does the DtRotorWashManager know about this rotorwash. More...
 
virtual DtRotorWashSetgetRotorWashSet (DtUniqueID helicopterID)
 Get the set of rotor washes for a helicopter. More...
 
virtual void start (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 Start a rotorwash for a helicopter based on unique id. More...
 
virtual void stop (DtUniqueID helicopterID, DtUniqueID rotorWashID)
 Stop a rotorwash for a helicopter based on unique id. More...
 
virtual void setRotorDiameter (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorDiameter)
 Set the diameter of the rotors (tip to tip) generating the wake. More...
 
virtual void setDefaultRotorDiameter (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorDiameter)
 Set a default diameter of the rotors (tip to tip) generating the wake (if setRotorDiametere is not used) More...
 
virtual void setRotorWindSpeed (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorWindSpeed)
 Set the speed of the down-draft created by the rotors. More...
 
virtual void setDefaultRotorWindSpeed (DtUniqueID helicopterID, DtUniqueID rotorWashID, double rotorWindSpeed)
 Set the default speed of the down-draft created by the rotors (if setRotorWindSpeed is not used) More...
 
virtual void update (DtTime tNow)
 The update function called by DtTickableManager during update-ticks. More...
 
virtual DtTime lastUpdateTime () const
 Get the time-stamp of the last update. More...
 
virtual int numHelicopters ()
 How many helicopters is the DtRotorWashManager managing? More...
 
virtual void helicopterIDs (std::vector< DtUniqueID > &heliIDs)
 Get the list of helicopter IDs being managed. More...
 
virtual DtRotorWashSetcreateRotorWashSet ()
 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. More...
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool needsUpdate (DtTime tNow)
 The check function called by DtTickableManager to verify if an update is required. More...
 
virtual bool updateIfNeeded (DtTime tNow)
 Calls needsUpdate(), and then calls update() if needsUpdate() is true. More...
 
virtual ~DtTickable ()
 Virtual DTOR. More...
 
virtual void setIsThreadSafe (bool safe)
 Get/set whether this tickable can be updated in parallel with other tickables. More...
 
virtual bool isThreadSafe () const
 
virtual void setTickableListState (TickableListState safeList)
 Track which tickable list (if any) this tickable is on Since the tickable constructor puts ALL tickables on the main (unThreadSafe) to start we need a way to check which list a tickable is on (and this way we can request removals from the correct list instead of having to call DtTickableManager::removeTickableObject(), which tries both lists). More...
 
virtual TickableListState tickableListState () const
 
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update. More...
 
virtual unsigned int updatePeriod () const
 
virtual bool lodSystemEnabled () const
 is the update LOD system enabled, overridden by subclasses More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Static Public Member Functions

static DtRotorWashManagerinstance (DtDe &de)
 Get an instance used to emit, or to connect. More...
 

Protected Types

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

Protected Member Functions

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

Protected Attributes

DtDemyDe
 The display engine. More...
 
HeliRotorWashMap myHeliToRWMap
 Map unique helicopter to multiple model agents Maps like this: DtUniqueID heilID -> DtRotorWashSet -> rotorwash id -> DtRotorWashDistributorAgent -> DtRotorWashModel -> DtRotorWashModelInstanceInterface -> { DtParticleRotorWashModelInstace, DtTritonRotorWashModelInstance } - depending on rotorwash type. More...
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction. More...
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Private Member Functions

 DtRotorWashManager ()
 Default Constructor not implemented – default constructor not allowed. More...
 
 DtRotorWashManager (const DtRotorWashManager &)
 Copy Constructor not implemented – Copy not allowed. More...
 
DtRotorWashManageroperator= (const DtRotorWashManager &)
 Assignment Operator not implemented – Copy not allowed. More...
 

Friends

class DtRotorWashManagerCreator
 

Additional Inherited Members

- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 Enumeration used to indicate which DtTickableManager's tickable list the tickable is on, if any. More...
 

Detailed Description

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

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,
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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)