![]() |
VR-Forces Developer's Guide
|
This is not a typical updater, instead of the usual 1 updater per entity, the DtEntityWheelManager adds entity info to this updater which updates all the entity wheels in one update.

Classes | |
| struct | DtPerModelWheelUpdaterCache |
Public Member Functions | |
| DtEntityWheelUpdater (DtDe &de) | |
| virtual | ~DtEntityWheelUpdater () |
| virtual void | update (DtTime tNow) |
| virtual void | setWheelData (std::unordered_map< DtOsgArticulatedModel *, DtEntityWheelData > *wheelMap) |
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 |
Static Public Member Functions | |
| static void | setAutoResumeTimeout (double val) |
| static double | autoResumeTimeout () |
Protected Attributes | |
| DtDe & | myDe |
| DtCoordinateSystem * | myCoordinateSystem |
| bool | myShouldRotate |
| std::unordered_map < DtOsgArticulatedModel *, DtEntityWheelData > * | myEntityWheelMap |
| std::unordered_map < DtOsgArticulatedModel *, DtPerModelWheelUpdaterCache > | myPerModelWheelUpdaterCacheMap |
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 |
Static Protected Attributes | |
| static double | theAutoResumeTimeout |
Private Member Functions | |
| DtEntityWheelUpdater ()=delete | |
| DtEntityWheelUpdater (const DtEntityWheelUpdater &)=delete | |
| DtEntityWheelUpdater & | operator= (const DtEntityWheelUpdater &)=delete |
Additional Inherited Members | |
Public Types inherited from makVrv::DtTickable | |
| enum | TickableListState { TickableNotOnList, TickableOnMainList, TickableOnThreadSafeList } |
| makVrv::DtEntityWheelUpdater::DtEntityWheelUpdater | ( | DtDe & | de | ) |
CTOR.
|
virtual |
DTOR.
|
privatedelete |
Default Constructor not implemented – default constructor not allowed.
|
privatedelete |
Copy Constructor not implemented - Copy not allowed.
|
privatedelete |
Assignment Operator not implemented - Copy not allowed.
|
virtual |
|
virtual |
Give the updater a pointer to the manager's wheel data map.
|
static |
Sets the amount of time before auto updates will resume after a manual/nework update has been applied to a wheel part.
|
static |
Returns the amount of time before auto updates will resume after a manual/nework update has been applied to a wheel part.
|
protectedvirtual |
internal Detects if wheel data was updated by something other than this auto-updater. If wheel data was manually/network updated, then no auto updates will occur for a timeout period. Once the timeout period ends and no manual/network updates have occured, then auto updates will resume. returns true if it's okay to auto-update the wheel data.
|
protectedvirtual |
internal. update the wheels that are art parts,
|
protectedvirtual |
internal
|
protectedvirtual |
calculate the velocity of the entity Use the updater/dead reckoner of the velocity if present Else, use the last position/time (stored in wheel data common)
|
protectedvirtual |
calculate the heading of the entity
|
protectedvirtual |
internal function to calculate distance between 2 sets of wheel axles
|
protectedvirtual |
is regular vehicle?
|
protectedvirtual |
is tracked vehicle?
|
protectedvirtual |
has articulated wheels?
|
protectedvirtual |
how many set of wheels does it have? (e.g. 4 wheeler has 2 sets of wheels, a stryker has 4)
|
protectedvirtual |
calculate the steering velocity required for the first (and optionally the 2nd) set of wheels given the current time, speed returns pair<first set speed, second set speed(or 0)>
|
protectedvirtual |
calculate the linear speed of the left and right side of the tracks returns pair<first set speed, >
|
protectedvirtual |
does it have tracks? (sequences or scrollable uvs)
|
protectedvirtual |
internal function to calculate distance between the tracks of the tracked vehicle
|
protectedvirtual |
for debugging
|
protectedvirtual |
internal
|
protectedvirtual |
internal
|
protectedvirtual |
Determine if the entity is reversing.
|
protectedvirtual |
Updates the coordinate system clone when the system changes.
|
protectedvirtual |
Ensures the wheel updater does not keep references to deleted objects.
|
protectedvirtual |
Ensures the wheel updater does not keep references to deleted objects.
|
protectedvirtual |
Find the scene object and updater from the model if they exist.
|
protectedvirtual |
Helper function used by update to determine whether we need to update the wheels for the provided model Returns true if: 1) the found dead reckon updater for the model is not frozen OR 2) the 'moving' state for the model is 1 (the model is moving) Returns false otherwise.
|
protected |
|
protected |
|
protected |
|
protected |
map of entities to corresponding wheel data art parts
|
protected |
|
staticprotected |
The amount of time before auto updates will resume after a manual/nework update has been applied to a wheel part.