![]() |
VR-Forces 4.8 Class Documentation
|
Class to periodically check if a location is over triton dynamic ocean or not (assumed to be land). More...

Public Member Functions | |
| DtOverWaterUpdater (DtDe &de, DtUniqueID id) | |
| Constructor. More... | |
| virtual | ~DtOverWaterUpdater () |
| Destructor. More... | |
| virtual void | slot_dynamicOceanObjectsChanged () |
| This method is connected to signals from the DtDynamicOceanManager that indicate when dynamic ocean objects are added or removed. More... | |
| virtual bool | needsUpdate (DtTime tNow) |
| DtTickable Overrides. More... | |
| virtual void | update (DtTime tNow) |
| If updateNeeded() returns true, this is called to do the actual update. More... | |
| virtual void | setLocalLocation (const DtVector &location) |
| Set/get the location that will be tested. This should be called each frame. More... | |
| virtual const DtVector & | localLocation () const |
| virtual bool | isOverWater () const |
| Get/set whether the current local location is over dynamic ocean. More... | |
| virtual void | setIsOverWater (bool isOverWater) |
| virtual bool | locationIsChanged () const |
| Set/get whether the input location has changed since the last update. More... | |
| virtual void | setLocationIsChanged (bool locationIsChanged) |
Public Member Functions inherited from makVrv::DtTickable | |
| 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 | |
| DtDe & | myDe |
| DtVector | myLocalLocation |
| bool | myLocationIsChanged |
| bool | myIsOverWater |
| DtSignalConnectionManager | mySignalConnections |
Protected Attributes inherited from makVrv::DtTickable | |
| DtTickableManagerInterface * | myManager |
| 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 | |
| DtOverWaterUpdater () | |
| (Unimplemented) Default Constructor 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 () |
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().
| 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 |
|
virtual |
Get/set whether the current local location is over dynamic ocean.
Normally set during update()
|
virtual |
|
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 |
|
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 |