VR-Forces 4.7 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
makVrv::DtTritonWakeUpdater Class Reference

Updater for the Kelvin wake model. More...

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

Public Member Functions

 DtTritonWakeUpdater (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtTritonWakeUpdater ()
 Virtual DTOR.
virtual void update (DtTime tNow)
 The update function called by DtTickableManager during update-ticks.
virtual bool needsUpdate (DtTime tNow)
 Check if an update is required.
virtual void setPosition (const DtVector &pos)
 Manually set the current position.
virtual void setOrientation (const DtTaitBryan &ori)
 Manually set the current orientation.
virtual void setIsAmphibious (bool isAmphibious)
 Set whether the wake needs to check to see if its over land.
- Public Member Functions inherited from makVrv::DtWakeUpdater
 DtWakeUpdater (DtDe &de, DtUniqueID id)
 CTOR.
virtual ~DtWakeUpdater ()
 Virtual DTOR.
virtual DtTime lastUpdateTime () const
 Get the time-stamp of the last update.
virtual void setWakeModel (DtModel *wakeModel)
 Set the wake model to be updated.
DtUniqueID uniqueId () const
 Returns the distributed object id of this updater.
virtual void setLODDistance (double distance)
- Public Member Functions inherited from makVrv::DtTickable
virtual ~DtTickable ()
 Virtual DTOR.
virtual void setUpdatePeriod (unsigned int period)
 Specify how often (in # of frames) this tickable should call update.
virtual unsigned int updatePeriod () const

Protected Member Functions

virtual DtTritonWakeModelwakeModel () const
 Helper method to return a properly cast version of the wake model supplied.
virtual DtVector calcWakeOriginAndSeaLevel (DtVector &currentPos, const DtTaitBryan &orientation, double wakeOffset)
 Calculate the origin of the wake and put currentPos at sea level.
virtual bool getCurrentShipKinematics (double t, DtVector &position, DtVector &velocity, DtTaitBryan &orientation) const
 Get the ship's current position, velocity, and orientation that this

wake is attached to


Protected Attributes

bool myFirstTick
DtDoubleSmoother mySpeedSmoother
DtDoubleSmoother myVelocityXSmoother
DtDoubleSmoother myVelocityYSmoother
DtDoubleSmoother myVelocityZSmoother
DtSceneObjectmyWakeModelSceneObject
 A pointer to the current scene object for the wake model.
bool mySetManually
bool myPositionUpdated
DtVector myPosition
DtVector myLastPosition
DtTaitBryan myOrientation
bool myIsAmphibious
- Protected Attributes inherited from makVrv::DtWakeUpdater
DtDemyDe
 The display engine.
DtUniqueID myUniqueId
 This distributed object's unique identifier.
DtModelmyWakeModel
 A pointer to the current wake model being updated.
DtTime myLastUpdateTime
 The last time stamp when the update() was called.
double myLODDistance
- Protected Attributes inherited from makVrv::DtTickable
DtTickableManagerInterfacemyManager
 Pointer to manager for removal during destruction.
DtSignalConnectionManager myConnections
unsigned int myFrameCounter
unsigned int myFrameToUpdate
unsigned int myUpdatePeriod

Detailed Description

Updater for the Kelvin wake model.

DtTritonWakeUpdater is a distributed object, managed by DtTickableManager. It updates the position, direction and speed of an wake-generating entity

Constructor & Destructor Documentation

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

CTOR.

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

Virtual DTOR.

Member Function Documentation

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

The update function called by DtTickableManager during update-ticks.

Parameters
[in]tNowis the current time-stamp.

Implements makVrv::DtWakeUpdater.

virtual bool makVrv::DtTritonWakeUpdater::needsUpdate ( DtTime  tNow)
virtual

Check if an update is required.

Parameters
[in]tNowis the current time-stamp.
Return values
trueif this object needs to be ticked.
falseotherwise.

Reimplemented from makVrv::DtTickable.

virtual void makVrv::DtTritonWakeUpdater::setPosition ( const DtVector pos)
virtual

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 from makVrv::DtWakeUpdater.

virtual void makVrv::DtTritonWakeUpdater::setOrientation ( const DtTaitBryan &  ori)
virtual

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 from makVrv::DtWakeUpdater.

virtual void makVrv::DtTritonWakeUpdater::setIsAmphibious ( bool  isAmphibious)
virtual

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

Reimplemented from makVrv::DtWakeUpdater.

virtual DtTritonWakeModel* makVrv::DtTritonWakeUpdater::wakeModel ( ) const
protectedvirtual

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

virtual DtVector makVrv::DtTritonWakeUpdater::calcWakeOriginAndSeaLevel ( DtVector currentPos,
const DtTaitBryan &  orientation,
double  wakeOffset 
)
protectedvirtual

Calculate the origin of the wake and put currentPos at sea level.

These two operations are combined to avoid an extra geocentic-> geodetic conversion.

Parameters
[in]currentPosis the entity's position.
[in]currentOrientationis the entity's orientation.
[in]wakeOffsetis offset of the wake start from the entity. center
[out]currentPosis modified to be at sea level
Returns
The position of the center of the circle used to generate a Kelvin wake effect.
virtual bool makVrv::DtTritonWakeUpdater::getCurrentShipKinematics ( double  t,
DtVector position,
DtVector velocity,
DtTaitBryan &  orientation 
) const
protectedvirtual

Get the ship's current position, velocity, and orientation that this

wake is attached to

Member Data Documentation

bool makVrv::DtTritonWakeUpdater::myFirstTick
protected
DtDoubleSmoother makVrv::DtTritonWakeUpdater::mySpeedSmoother
protected
DtDoubleSmoother makVrv::DtTritonWakeUpdater::myVelocityXSmoother
protected
DtDoubleSmoother makVrv::DtTritonWakeUpdater::myVelocityYSmoother
protected
DtDoubleSmoother makVrv::DtTritonWakeUpdater::myVelocityZSmoother
protected
DtSceneObject* makVrv::DtTritonWakeUpdater::myWakeModelSceneObject
protected

A pointer to the current scene object for the wake model.

bool makVrv::DtTritonWakeUpdater::mySetManually
protected
bool makVrv::DtTritonWakeUpdater::myPositionUpdated
protected
DtVector makVrv::DtTritonWakeUpdater::myPosition
protected
DtVector makVrv::DtTritonWakeUpdater::myLastPosition
protected
DtTaitBryan makVrv::DtTritonWakeUpdater::myOrientation
protected
bool makVrv::DtTritonWakeUpdater::myIsAmphibious
protected

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

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)