![]() |
VR-Forces 5.0.3 Developer's Guide
|
A nav interface is a software component of an object that maintains the object's presence in the navigation areas in the terrain. As VRF objects move, change shape, or change status (e.g. become destroyed), the nav interfaces update their position or status in the nav mesh. I.e., state changes in VRF must be pushed into the navigation areas by these interfaces. This update happens in the nav interface tick functions.
For example, one important function of a nav interface for moving objects is to update the position of the object (as provided by the object state repository) in the nav area. The object can then be seen by Gameware dynamic obstacle avoidance functions (so other objects can avoid this one). Another example is that objects that are dynamic obstacles are converted to static obstacles in the nav mesh when they are stationary for a period of time.
Subclasses of this class define specific interfaces, and include DtActiveBotNavInterface, DtCoverPointNavInterface, DtDynamicObstacleNavInterface, DtNavEdgeNavInterface, DtStaticObstacleNavInterface, and DtTagVolumeNavInterface.
The type of nav interface used for a particular type of object is defined in the .ope file for the object, in the local-objects and remote-objects sections, in the nav-interface parameter.

Public Member Functions | |
| virtual bool | ableToNavigate () const |
| virtual void | postObjectInit () |
| virtual void | tick () |
| virtual void | firstTick () |
| virtual | ~DtVrfObjectNavInterface ()=0 |
| virtual void | addNavAreaChangedCallback (DtNoArgumentCallbackList::DtCallbackFunctionType callback, void *usr) const |
| virtual void | removeNavAreaChangedCallback (DtNoArgumentCallbackList::DtCallbackFunctionType callback, void *usr) const |
| virtual void | invokeNavAreaChangedCallbacks () |
| virtual void | changingNavArea (DtNavArea *newNavArea) |
| virtual void | setWaitingForLoad (bool isLoading) |
| virtual bool | isWaitingForLoad () const |
Protected Member Functions | |
| DtVrfObjectNavInterface (DtLocalObject *vrfObject) | |
| virtual bool | init () |
| virtual bool | isCollidableWhenDestroyed () const |
Protected Attributes | |
| DtLocalObject * | myVrfObject |
| DtNavArea * | myCurrentNavArea |
| bool | myFirstTick |
| bool | myIsWaitingForNavLoad |
| DtNoArgumentCallbackList | myChangedNavAreaCallbackList |
Private Member Functions | |
| DtVrfObjectNavInterface () | |
| DtVrfObjectNavInterface (const DtVrfObjectNavInterface &orig) | |
| DtVrfObjectNavInterface & | operator= (const DtVrfObjectNavInterface &orig) |
|
private |
Not Implemented.
|
private |
Not Implemented.
|
protected |
Use the create() method instead of calling the constructor.
|
pure virtual |
|
private |
Not Implemented.
|
virtual |
Generic call. Basic nav interfaces are not able to navigate.
Reimplemented in DtActiveBotNavInterface.
|
protectedvirtual |
Virtual init, called from the create() method.
Reimplemented in DtActiveBotNavInterface, DtNavEdgeNavInterface, DtCoverPointNavInterface, DtDynamicObstacleNavInterface, DtTagVolumeNavInterface, and DtStaticObstacleNavInterface.
|
inlinevirtual |
Perform additional initialization after the object has been initialized. Default behavior is to do nothing, must be implemented in subclass.
Reimplemented in DtNavEdgeNavInterface, DtActiveBotNavInterface, DtCoverPointNavInterface, DtTagVolumeNavInterface, DtDynamicObstacleNavInterface, and DtStaticObstacleNavInterface.
|
virtual |
|
virtual |
Reimplemented in DtActiveBotNavInterface, and DtTagVolumeNavInterface.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Called when about to change to a new navArea.
Reimplemented in DtActiveBotNavInterface, DtNavEdgeNavInterface, DtCoverPointNavInterface, DtTagVolumeNavInterface, and DtDynamicObstacleNavInterface.
|
virtual |
Indicates that there is nav data for this entity's location, but its still being loaded.
|
virtual |
|
protectedvirtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |