![]() |
VR-Forces Developer's Guide
|
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

Public Member Functions | |
| DtTritonWakeUpdater (DtDe &de, DtUniqueID id) | |
| virtual | ~DtTritonWakeUpdater () |
| virtual void | update (DtTime tNow) |
| virtual bool | needsUpdate (DtTime tNow) |
| virtual void | setPosition (const DtVector &pos) |
| virtual void | setOrientation (const DtTaitBryan &ori) |
| virtual void | setIsAmphibious (bool isAmphibious) |
Public Member Functions inherited from makVrv::DtWakeUpdater | |
| DtWakeUpdater (DtDe &de, DtUniqueID id) | |
| virtual | ~DtWakeUpdater () |
| virtual void | setWakeModel (DtModel *wakeModel) |
| DtUniqueID | uniqueId () const |
| 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 | 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 Member Functions | |
| virtual DtTritonWakeModel * | wakeModel () const |
| virtual DtVector | calcWakeOriginAndSeaLevel (DtVector ¤tPos, const DtTaitBryan &orientation, double wakeOffset) |
| virtual bool | getCurrentShipKinematics (double t, DtVector &position, DtVector &velocity, DtTaitBryan &orientation) const |
| virtual bool | isLodedOut (const DtVector ¤tPos) const |
| virtual void | slot_coordinateSystemChanged () |
Protected Member Functions inherited from makVrv::DtTickable | |
| DtTickable (DtTickableManagerInterface *manager) | |
| DtTickable ()=delete | |
| virtual void | slot_managerAboutToBeDeleted () |
Protected Attributes | |
| bool | myFirstTick |
| DtDoubleSmoother | mySpeedSmoother |
| DtDoubleSmoother | myVelocityXSmoother |
| DtDoubleSmoother | myVelocityYSmoother |
| DtDoubleSmoother | myVelocityZSmoother |
| DtSceneObject * | myWakeModelSceneObject |
| bool | mySetManually |
| bool | myPositionUpdated |
| DtVector | myPosition |
| DtVector | myLastPosition |
| DtVector | myHeadingVector |
| DtTaitBryan | myOrientation |
| bool | myIsAmphibious |
| DtCoordinateConverter * | myCoordinateConverter = nullptr |
Protected Attributes inherited from makVrv::DtWakeUpdater | |
| DtDe & | myDe |
| DtUniqueID | myUniqueId |
| DtModel * | myWakeModel |
| double | myMaxRenderAngle |
| double | mySpeedRenderCuttoff |
| double | myLODDistance |
| bool | myFrozenFlag |
Protected Attributes inherited from makVrv::DtTickable | |
| DtTickableManagerInterface * | myManager |
| 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 } |
| makVrv::DtTritonWakeUpdater::DtTritonWakeUpdater | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
CTOR.
| [in] | de | is the display engine. |
| [in] | id | is a unique identifier for this distributed object. |
|
virtual |
Virtual DTOR.
|
virtual |
The update function called by DtTickableManager during update-ticks.
| [in] | tNow | is the current time-stamp. |
Implements makVrv::DtWakeUpdater.
Check if an update is required.
| [in] | tNow | is the current time-stamp. |
| true | if this object needs to be ticked. |
| false | otherwise. |
Reimplemented from makVrv::DtTickable.
|
virtual |
Manually set the current position.
| [in] | pos | is the position to set. |
Reimplemented from makVrv::DtWakeUpdater.
|
virtual |
Manually set the current orientation.
| [in] | ori | is the orientation to set. |
Reimplemented from makVrv::DtWakeUpdater.
|
virtual |
Set whether the wake needs to check to see if its over land.
Reimplemented from makVrv::DtWakeUpdater.
|
protectedvirtual |
Helper method to return a properly cast version of the wake model supplied.
|
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.
| [in] | currentPos | is the entity's position. |
| [in] | currentOrientation | is the entity's orientation. |
| [in] | wakeOffset | is offset of the wake start from the entity. center |
| [out] | currentPos | is modified to be at sea level |
|
protectedvirtual |
Get the ship's current position, velocity, and orientation that this
|
protectedvirtual |
internal function to determine if wake is lod'ed out
|
protectedvirtual |
slot for when the coordinate system changes
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
A pointer to the current scene object for the wake model.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
local clone of the current system wide coordinate system converter. for thread safety.