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

Abstract particle collision object updater interface. More...

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

Public Member Functions

 DtParticleCollisionObjectUpdater (DtDe &de, DtUniqueID id)
 CTOR. More...
 
virtual ~DtParticleCollisionObjectUpdater ()
 Virtual DTOR. More...
 
virtual void update (DtTime tNow)=0
 The update function called by DtTickableManager during update-ticks. More...
 
virtual void setCollisionObjectModel (DtModel *collisionObjectModel)
 Set the particle collision object to be updated. More...
 
DtUniqueID uniqueId () const
 Returns the distributed object id of this updater. 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...
 

Protected Attributes

DtDemyDe
 The display engine. More...
 
DtUniqueID myUniqueId
 This distributed object's unique identifier. More...
 
DtModelmyCollisionObjectModel
 A pointer to the current particle collision object being updated. 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

 DtParticleCollisionObjectUpdater (const DtParticleCollisionObjectUpdater &other)
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtParticleCollisionObjectUpdateroperator= (const DtParticleCollisionObjectUpdater &other)
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

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...
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 CTOR. More...
 
 DtTickable ()
 Unimplemented default CTOR. More...
 
virtual void slot_managerAboutToBeDeleted ()
 

Detailed Description

Abstract particle collision object updater interface.

DtParticleCollisionObjectUpdaters are distributed objects, managed by DtTickableManager. They update the collision object (sphere, ellipse) usually associated with a rotor wash during the manager 'tick' update.

Constructor & Destructor Documentation

makVrv::DtParticleCollisionObjectUpdater::DtParticleCollisionObjectUpdater ( DtDe de,
DtUniqueID  id 
)

CTOR.

Parameters
[in]deis the display engine.
[in]idis a unique identifier for this distributed object.
virtual makVrv::DtParticleCollisionObjectUpdater::~DtParticleCollisionObjectUpdater ( )
virtual

Virtual DTOR.

makVrv::DtParticleCollisionObjectUpdater::DtParticleCollisionObjectUpdater ( const DtParticleCollisionObjectUpdater other)
private

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

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

Assignment Operator Not implemented – Assignment Not Allowed.

virtual void makVrv::DtParticleCollisionObjectUpdater::update ( DtTime  tNow)
pure virtual

The update function called by DtTickableManager during update-ticks.

Parameters
[in]tNowis the current time-stamp.
Note
Derived classes should update the particle collision object at the end of their implementation of this function.

Implements makVrv::DtTickable.

Implemented in makVrv::DtFxParticleCollisionObjectUpdater.

virtual void makVrv::DtParticleCollisionObjectUpdater::setCollisionObjectModel ( DtModel collisionObjectModel)
virtual

Set the particle collision object to be updated.

Parameters
[in]collisionObjectModelis a pointer to the model to be updated
DtUniqueID makVrv::DtParticleCollisionObjectUpdater::uniqueId ( ) const

Returns the distributed object id of this updater.

Member Data Documentation

DtDe& makVrv::DtParticleCollisionObjectUpdater::myDe
protected

The display engine.

DtUniqueID makVrv::DtParticleCollisionObjectUpdater::myUniqueId
protected

This distributed object's unique identifier.

DtModel* makVrv::DtParticleCollisionObjectUpdater::myCollisionObjectModel
protected

A pointer to the current particle collision object being updated.


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)