VR-Forces Developer's Guide
 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 | 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. Nav edges can connect disparate points in the nav data that are not otherwise connected by any nav data.

Inheritance diagram for DtNavEdgeNavInterface:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtNavEdgeNavInterface ()
 
virtual void postObjectInit ()
 
virtual void tick ()
 
virtual DtNavAreanavArea ()
 
- Public Member Functions inherited from DtVrfObjectNavInterface
virtual bool ableToNavigate () const
 
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 setWaitingForLoad (bool isLoading)
 
virtual bool isWaitingForLoad () const
 

Static Public Member Functions

static DtVrfObjectNavInterfacecreate (DtLocalObject *vrfObject)
 

Protected Member Functions

 DtNavEdgeNavInterface (DtLocalObject *vrfObject)
 
virtual bool init ()
 
virtual void changingNavArea (DtNavArea *newNavArea)
 
virtual void processVerticesChanged ()
 
bool createNavEdge ()
 
virtual bool createNavEdgeLadder (const DtString &navigationProfile, const DtInputNavTag &navTag, const DtInputNavTag &entryExitNavTag)
 
void removeNavEdge ()
 
bool adjustToNearestVertexLinkPoint (const DtString &, const double, const double, const DtVector &, DtVector &) const
 
- Protected Member Functions inherited from DtVrfObjectNavInterface
 DtVrfObjectNavInterface (DtLocalObject *vrfObject)
 
 DtVrfObjectNavInterface (DtSimObjectReference vrfObject)
 
virtual bool isCollidableWhenDestroyed () const
 

Protected Attributes

DtNavAreamyNavArea
 
DtNavAreamyNewNavArea
 
bool myUpdatePointsRequired
 
bool myChangingNavArea
 
unsigned myNavEdgeIndex
 
boost::signals2::scoped_connection mySetLocationConnection
 
boost::signals2::scoped_connection myCurrentPitchedChangedConnection
 
- Protected Attributes inherited from DtVrfObjectNavInterface
DtLocalObjectmyVrfObject
 
DtSimObjectReference mySimObjectReference
 
DtSimulationServicesmySimulationServices
 
DtNavAreamyCurrentNavArea
 
bool myFirstTick
 
bool myIsWaitingForNavLoad
 
DtNoArgumentCallbackList myChangedNavAreaCallbackList
 

Private Member Functions

 DtNavEdgeNavInterface ()
 
 DtNavEdgeNavInterface (const DtNavEdgeNavInterface &orig)
 
DtNavEdgeNavInterfaceoperator= (const DtNavEdgeNavInterface &orig)
 

Constructor & Destructor Documentation

DtNavEdgeNavInterface::DtNavEdgeNavInterface ( )
private

Not Implemented.

DtNavEdgeNavInterface::DtNavEdgeNavInterface ( const DtNavEdgeNavInterface orig)
private

Not Implemented.

DtNavEdgeNavInterface::DtNavEdgeNavInterface ( DtLocalObject 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 ( DtLocalObject 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.

virtual void DtNavEdgeNavInterface::processVerticesChanged ( )
protectedvirtual

Callback to handle the changing of nav edge vertices.

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
boost::signals2::scoped_connection DtNavEdgeNavInterface::mySetLocationConnection
protected
boost::signals2::scoped_connection DtNavEdgeNavInterface::myCurrentPitchedChangedConnection
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)