VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtNavEdgeNavInterface Class Reference

This is the DtVrfObjectNavInterface subclass for objects which insert themselves as nav edges into the nav areas to affect the path finding behavior of active entities. More...

Inheritance diagram for DtNavEdgeNavInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtNavEdgeNavInterface ()
 
virtual void postObjectInit ()
 Perform additional initialization after the object has been initialized. More...
 
virtual void tick ()
 
virtual DtNavAreanavArea ()
 
- Public Member Functions inherited from DtVrfObjectNavInterface
virtual bool ableToNavigate () const
 Generic call. Basic nav interfaces are not able to navigate. More...
 
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 ()
 

Static Public Member Functions

static DtVrfObjectNavInterfacecreate (DtSharedVrfObjectReference vrfObject)
 

Protected Member Functions

 DtNavEdgeNavInterface (DtSharedVrfObjectReference vrfObject)
 Use the create() method instead of calling the constructor. More...
 
virtual bool init ()
 Virtual init, called from the create() method. More...
 
virtual void changingNavArea (DtNavArea *newNavArea)
 Called when the objects position is in a navArea that it was not on the previous check. More...
 
virtual void processVerticesChanged (const DtVrfObject *obj)
 
bool createNavEdge ()
 Creates a nav edge that matches the current geometry of this object. More...
 
virtual bool createNavEdgeLadder (const DtString &navigationProfile, const DtInputNavTag &navTag, const DtInputNavTag &entryExitNavTag)
 Performs the special logic for ladders when making a NavEdge (called by createNavEdge) More...
 
void removeNavEdge ()
 Removes the current nav edge. More...
 
bool adjustToNearestVertexLinkPoint (const DtString &, const double, const double, const DtVector &, DtVector &) const
 Attempt to modify the given DtVector to a point that is "navigable" within the given point profile radius. More...
 
- Protected Member Functions inherited from DtVrfObjectNavInterface
 DtVrfObjectNavInterface (DtSharedVrfObjectReference vrfObject)
 Use the create() method instead of calling the constructor. More...
 
virtual bool isCollidableWhenDestroyed () const
 

Static Protected Member Functions

static void verticesChangedCallback (const DtVrfObject *obj, void *usr)
 Callback to handle the changing of nav edge vertices. More...
 

Protected Attributes

DtNavAreamyNavArea
 
DtNavAreamyNewNavArea
 
bool myUpdatePointsRequired
 
bool myChangingNavArea
 
unsigned myNavEdgeIndex
 
- Protected Attributes inherited from DtVrfObjectNavInterface
DtSharedVrfObjectReference myVrfObject
 
bool myFirstTick
 
DtNavAreamyCurrentNavArea
 
DtNoArgumentCallbackList myChangedNavAreaCallbackList
 

Private Member Functions

 DtNavEdgeNavInterface ()
 Not Implemented. More...
 
 DtNavEdgeNavInterface (const DtNavEdgeNavInterface &orig)
 Not Implemented. More...
 
DtNavEdgeNavInterfaceoperator= (const DtNavEdgeNavInterface &orig)
 Not Implemented. More...
 

Detailed Description

This is the DtVrfObjectNavInterface subclass for objects which insert themselves as nav edges into the nav areas to affect the path finding behavior of active entities.

Nav edges can connect disparate points in the nav data that are not otherwise connected by any nav data.

Constructor & Destructor Documentation

DtNavEdgeNavInterface::DtNavEdgeNavInterface ( )
private

Not Implemented.

DtNavEdgeNavInterface::DtNavEdgeNavInterface ( const DtNavEdgeNavInterface orig)
private

Not Implemented.

DtNavEdgeNavInterface::DtNavEdgeNavInterface ( DtSharedVrfObjectReference  vrfObject)
protected

Use the create() method instead of calling the constructor.

virtual DtNavEdgeNavInterface::~DtNavEdgeNavInterface ( )
virtual

Member Function Documentation

DtNavEdgeNavInterface& DtNavEdgeNavInterface::operator= ( const DtNavEdgeNavInterface orig)
private

Not Implemented.

static DtVrfObjectNavInterface* DtNavEdgeNavInterface::create ( DtSharedVrfObjectReference  vrfObject)
static
virtual bool DtNavEdgeNavInterface::init ( )
protectedvirtual

Virtual init, called from the create() method.

Reimplemented from DtVrfObjectNavInterface.

virtual void DtNavEdgeNavInterface::postObjectInit ( )
virtual

Perform additional initialization after the object has been initialized.

Ensures the nav edge is created prior to ticking sim components.

Reimplemented from DtVrfObjectNavInterface.

virtual void DtNavEdgeNavInterface::tick ( )
virtual

Reimplemented from DtVrfObjectNavInterface.

virtual DtNavArea* DtNavEdgeNavInterface::navArea ( )
virtual
virtual void DtNavEdgeNavInterface::changingNavArea ( DtNavArea newNavArea)
protectedvirtual

Called when the objects position is in a navArea that it was not on the previous check.

Reimplemented from DtVrfObjectNavInterface.

static void DtNavEdgeNavInterface::verticesChangedCallback ( const DtVrfObject obj,
void *  usr 
)
staticprotected

Callback to handle the changing of nav edge vertices.

virtual void DtNavEdgeNavInterface::processVerticesChanged ( const DtVrfObject obj)
protectedvirtual
bool DtNavEdgeNavInterface::createNavEdge ( )
protected

Creates a nav edge that matches the current geometry of this object.

Returns whether it has finished creating the NavEdge (true means nothing more needs to be created, false means it will attempt to finish creating on next tick)

virtual bool DtNavEdgeNavInterface::createNavEdgeLadder ( const DtString navigationProfile,
const DtInputNavTag navTag,
const DtInputNavTag entryExitNavTag 
)
protectedvirtual

Performs the special logic for ladders when making a NavEdge (called by createNavEdge)

void DtNavEdgeNavInterface::removeNavEdge ( )
protected

Removes the current nav edge.

bool DtNavEdgeNavInterface::adjustToNearestVertexLinkPoint ( const DtString ,
const double  ,
const double  ,
const DtVector ,
DtVector  
) const
protected

Attempt to modify the given DtVector to a point that is "navigable" within the given point profile radius.

Returns true if it actually modified the vector

Member Data Documentation

DtNavArea* DtNavEdgeNavInterface::myNavArea
protected
DtNavArea* DtNavEdgeNavInterface::myNewNavArea
protected
bool DtNavEdgeNavInterface::myUpdatePointsRequired
protected
bool DtNavEdgeNavInterface::myChangingNavArea
protected
unsigned DtNavEdgeNavInterface::myNavEdgeIndex
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)