![]() |
VR-Forces Developer's Guide
|
Class to periodically check if a location is over triton dynamic ocean or not (assumed to be land). DtOverWaterUpdater uses an intersector to make this determination; if a dynamic terrain object exists and the test height is <= the current sea level height set for the dynamic ocean layer, then isOverWater() will return true. Because intersectors are computationally expensive, this class makes use of the DtTickableManager's ability to spread out ticking tickables that have an update period > 1. By default, DtOverWaterUpdater will check every 60 frames to see if its input location is over water; this can be changed by calling DtTickable::setUpdatePeriod().

Private Member Functions | |
| DtOverWaterUpdater () | |
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 () |
| makVrv::DtOverWaterUpdater::DtOverWaterUpdater | ( | DtDe & | de, |
| DtUniqueID | id | ||
| ) |
Constructor. This uses the pattern for distributable objects; although no agents are provided for this class, they could be easily added. Typically, one of these updaters is created locally by an already distributed object, such as the rotor wash updater and surface clamping updater.
|
virtual |
Destructor.
|
private |
(Unimplemented) Default Constructor
DtTickable Overrides.
Called by the tickable manager to determine if the updater needs to be updated. This checks the myLocationIsChanged flag, preventing updates for non-moving objects
Reimplemented from makVrv::DtTickable.
|
virtual |
If updateNeeded() returns true, this is called to do the actual update. It will set the isOverWater flag to true or false.
Implements makVrv::DtTickable.
|
virtual |
Set/get the location that will be tested. This should be called each frame.
|
virtual |
Set/get the location that will be tested. This should be called each frame.
|
virtual |
Get/set whether the current local location is over dynamic ocean. Normally set during update()
|
virtual |
Get/set whether the current local location is over dynamic ocean. Normally set during update()
|
virtual |
Set/get whether the input location has changed since the last update. Normally set to true in setLocalLocation (if the input differs from myLocalLocation) and set to false in update().
|
virtual |
Set/get whether the input location has changed since the last update. Normally set to true in setLocalLocation (if the input differs from myLocalLocation) and set to false in update().
|
virtual |
This method is connected to signals from the DtDynamicOceanManager that indicate when dynamic ocean objects are added or removed. It just sets myLocationIsChanged to true to force an update the next scheduled frame.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |