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

Abstract wake object updater interface.

DtWakeUpdaters are distributed objects, managed by DtTickableManager. They update the wake of DtWakeModels

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

Public Member Functions

 DtWakeUpdater (DtDe &de, DtUniqueID id)
 
virtual ~DtWakeUpdater ()
 
virtual void update (DtTime tNow)=0
 
virtual void setWakeModel (DtModel *wakeModel)
 
DtUniqueID uniqueId () const
 
virtual void setPosition (const DtVector &pos)
 
virtual void setOrientation (const DtTaitBryan &ori)
 
virtual void setIsAmphibious (bool isAmphibious)
 
virtual void setLODDistance (double distance)
 
virtual void setFrozen (bool froze)
 
virtual void setMaxRenderAngle (double angle)
 
virtual void setSpeedRenderCuttof (double cutoff)
 
- Public Member Functions inherited from makVrv::DtTickable
virtual bool needsUpdate (DtTime tNow)
 
virtual bool updateIfNeeded (DtTime tNow)
 
virtual ~DtTickable ()
 
virtual void setTickableEnabled (bool enabled)
 
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 adaptiveTickLodEnabled () const
 

Protected Attributes

DtDemyDe
 
DtUniqueID myUniqueId
 
DtModelmyWakeModel
 
double myMaxRenderAngle
 
double mySpeedRenderCuttoff
 
double myLODDistance
 
bool myFrozenFlag
 
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 
DtSignalConnectionManager myConnections
 
unsigned int myFrameCounter
 
unsigned int myFrameToUpdate
 
unsigned int myUpdatePeriod
 
unsigned int myTickableIndex
 
DtTime myLastUpdateTime
 
bool myIsThreadSafe
 
TickableListState myTickableListState
 

Additional Inherited Members

- Public Types inherited from makVrv::DtTickable
enum  TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList }
 
- Protected Member Functions inherited from makVrv::DtTickable
 DtTickable (DtTickableManagerInterface *manager)
 
 DtTickable ()=delete
 
virtual void slot_managerAboutToBeDeleted ()
 

Constructor & Destructor Documentation

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

CTOR.

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

Virtual DTOR.

Member Function Documentation

virtual void makVrv::DtWakeUpdater::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 wake at the end of their implementation of this function.

Implements makVrv::DtTickable.

Implemented in makVrv::DtTritonWakeUpdater.

virtual void makVrv::DtWakeUpdater::setWakeModel ( DtModel wakeModel)
virtual

Set the wake model to be updated.

Parameters
[in]wakeModelis a pointer to the model to be updated
DtUniqueID makVrv::DtWakeUpdater::uniqueId ( ) const
inline

Returns the distributed object id of this updater.

virtual void makVrv::DtWakeUpdater::setPosition ( const DtVector pos)
inlinevirtual

Manually set the current position.

Parameters
[in]posis the position to set.
Note
Only used when ships kinematics cannot be found, such as when creating a wake as a separate entity.
See Also
getCurrentShipKinematics()

Reimplemented in makVrv::DtTritonWakeUpdater.

virtual void makVrv::DtWakeUpdater::setOrientation ( const DtTaitBryan &  ori)
inlinevirtual

Manually set the current orientation.

Parameters
[in]oriis the orientation to set.
Note
Only used when ships kinematics cannot be found, such as when creating a wake as a separate entity.
See Also
getCurrentShipKinematics()

Reimplemented in makVrv::DtTritonWakeUpdater.

virtual void makVrv::DtWakeUpdater::setIsAmphibious ( bool  isAmphibious)
inlinevirtual

Set whether the wake needs to check to see if its over land.

Reimplemented in makVrv::DtTritonWakeUpdater.

virtual void makVrv::DtWakeUpdater::setLODDistance ( double  distance)
virtual
virtual void makVrv::DtWakeUpdater::setFrozen ( bool  froze)
virtual

If an entity is in the frozen state, use 0 for velocity regardless of what it might send.

virtual void makVrv::DtWakeUpdater::setMaxRenderAngle ( double  angle)
virtual

Maximum angle between the ship's heading and the wakes direction before the wake is NOT rendereed. Radians.

virtual void makVrv::DtWakeUpdater::setSpeedRenderCuttof ( double  cutoff)
virtual

Loweest speed that the wake will render with.

Member Data Documentation

DtDe& makVrv::DtWakeUpdater::myDe
protected

The display engine.

DtUniqueID makVrv::DtWakeUpdater::myUniqueId
protected

This distributed object's unique identifier.

DtModel* makVrv::DtWakeUpdater::myWakeModel
protected

A pointer to the current wake model being updated.

double makVrv::DtWakeUpdater::myMaxRenderAngle
protected
double makVrv::DtWakeUpdater::mySpeedRenderCuttoff
protected
double makVrv::DtWakeUpdater::myLODDistance
protected
bool makVrv::DtWakeUpdater::myFrozenFlag
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)