VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Protected Attributes
DtNavBot Class Referenceabstract

Classes

struct  CollisionAvoidanceConfiguration
 
struct  NavigationConfiguration
 

Public Types

enum  NavigationMethod { NavigationMethodShortcut = 0, NavigationMethodSpline = 1 }
 
enum  PathStatus {
  PathStatusInactive, PathStatusComputing, PathStatusHasPath, PathStatusArrived,
  PathStatusNoValidPath, PathStatusLeavingArea, PathStatusFindingTransitionPoint, PathStatusNoValidPathDestOutside,
  PathStatusNoValidPathStartOutside
}
 
typedef DtNavBot *(* DtNavBotCreatorFcn )()
 
typedef bool(* DtNavBotPathLocationEvalFcn )(const DtNavTag &navTag, float *costMultiplier, void *userData)
 

Public Member Functions

virtual ~DtNavBot ()
 
virtual void init (DtNavArea *world, const DtString &profile, double radius, double height, DtNavigationPriorityType queryQueuePriority, NavigationConfiguration navConfig=NavigationConfiguration(), CollisionAvoidanceConfiguration collAvoidConfig=CollisionAvoidanceConfiguration())=0
 
virtual void setPosition (const DtVector &localPos)=0
 
virtual void setPositionInvalid ()=0
 
virtual void setQueryQueuePriority (const DtNavigationPriorityType &queryQueuePriority)=0
 
virtual void botUpdate (const DtVector &localPos, double dT)=0
 
virtual void setDestination (const DtVector &localPos, bool forceOutsideArea=false)=0
 
virtual void setDesiredSpeed (double speed)=0
 
virtual void clearFollowedPath ()=0
 
virtual void clearDestination ()=0
 
virtual void moveAlongPath (const std::vector< DtVector > &)=0
 
virtual DtVector getOutputVelocity ()=0
 
virtual void setPathEvalFcn (DtNavBotPathLocationEvalFcn fcn, void *user)=0
 
virtual PathStatus pathStatus (double atDistance)=0
 
virtual DtString pathStatusString ()=0
 
virtual bool hasArrived (double arrivalDistance)=0
 
virtual bool currentPath (std::vector< DtVector > &path)=0
 
virtual bool abstractPath (std::vector< DtVector > &path)=0
 
virtual bool currentPathEdge (DtVector &edgeStart, DtVector &edgeEnd)=0
 
virtual unsigned currentAbstractPathIndex ()=0
 
virtual DtNavTag navTagAtPosition (const DtVector &localPos) const =0
 Gets the nav tag of the position, if valid. More...
 
virtual DtNavTag upcomingNavTagOnPath () const =0
 Gets the upcoming nav tag in the path. More...
 
virtual void upcomingNavTagsOnPath (double distance, DtNavTagAndLocationList &navTags) const =0
 Gets all nav tags within the specified distance from the current location on the path. More...
 
virtual void setCollisionAvoidanceEnabled (bool enable)=0
 Enables or disables collision avoidance. More...
 
virtual void setNavigationMethod (NavigationMethod navMethod)=0
 
virtual NavigationMethod navigationMethod () const =0
 
virtual DtVector performMovement (double dt)=0
 Allows the nav bot to perform movement for the entity. More...
 
virtual DtVector groundClamp (const DtVector &localPos, DtVector &normal)=0
 Finds a ground clamped position on the nav data near the specified local position. More...
 

Static Public Member Functions

static DtNavBotcreate ()
 
static void setNavBotCreatorFcn (DtNavBotCreatorFcn fcn)
 

Static Protected Attributes

static DtNavBotCreatorFcn theNavBotCreatorFcn
 

Member Typedef Documentation

typedef DtNavBot*(* DtNavBot::DtNavBotCreatorFcn)()
typedef bool(* DtNavBot::DtNavBotPathLocationEvalFcn)(const DtNavTag &navTag, float *costMultiplier, void *userData)

Member Enumeration Documentation

Enumerator
NavigationMethodShortcut 
NavigationMethodSpline 
Enumerator
PathStatusInactive 
PathStatusComputing 

Not actively trying to move.

PathStatusHasPath 

Currently computing a path.

PathStatusArrived 

Has a valid path to move along.

PathStatusNoValidPath 

Has arrived at destination.

PathStatusLeavingArea 

Failed to calculate a path.

PathStatusFindingTransitionPoint 

Arrived at edge of area.

PathStatusNoValidPathDestOutside 

Calculating a transition point.

PathStatusNoValidPathStartOutside 

Failed to calculate a path, destination is outside nav.

Constructor & Destructor Documentation

virtual DtNavBot::~DtNavBot ( )
inlinevirtual

Member Function Documentation

static DtNavBot* DtNavBot::create ( )
static
static void DtNavBot::setNavBotCreatorFcn ( DtNavBotCreatorFcn  fcn)
static
virtual void DtNavBot::init ( DtNavArea world,
const DtString profile,
double  radius,
double  height,
DtNavigationPriorityType  queryQueuePriority,
NavigationConfiguration  navConfig = NavigationConfiguration(),
CollisionAvoidanceConfiguration  collAvoidConfig = CollisionAvoidanceConfiguration() 
)
pure virtual
virtual void DtNavBot::setPosition ( const DtVector localPos)
pure virtual
virtual void DtNavBot::setPositionInvalid ( )
pure virtual
virtual void DtNavBot::setQueryQueuePriority ( const DtNavigationPriorityType queryQueuePriority)
pure virtual
virtual void DtNavBot::botUpdate ( const DtVector localPos,
double  dT 
)
pure virtual
virtual void DtNavBot::setDestination ( const DtVector localPos,
bool  forceOutsideArea = false 
)
pure virtual
virtual void DtNavBot::setDesiredSpeed ( double  speed)
pure virtual
virtual void DtNavBot::clearFollowedPath ( )
pure virtual
virtual void DtNavBot::clearDestination ( )
pure virtual
virtual void DtNavBot::moveAlongPath ( const std::vector< DtVector > &  )
pure virtual
virtual DtVector DtNavBot::getOutputVelocity ( )
pure virtual
virtual void DtNavBot::setPathEvalFcn ( DtNavBotPathLocationEvalFcn  fcn,
void *  user 
)
pure virtual
virtual PathStatus DtNavBot::pathStatus ( double  atDistance)
pure virtual
virtual DtString DtNavBot::pathStatusString ( )
pure virtual
Returns
A text status of the current path query, if available. Useful for debugging.
virtual bool DtNavBot::hasArrived ( double  arrivalDistance)
pure virtual
virtual bool DtNavBot::currentPath ( std::vector< DtVector > &  path)
pure virtual
virtual bool DtNavBot::abstractPath ( std::vector< DtVector > &  path)
pure virtual
virtual bool DtNavBot::currentPathEdge ( DtVector edgeStart,
DtVector edgeEnd 
)
pure virtual
virtual unsigned DtNavBot::currentAbstractPathIndex ( )
pure virtual
virtual DtNavTag DtNavBot::navTagAtPosition ( const DtVector localPos) const
pure virtual

Gets the nav tag of the position, if valid.

virtual DtNavTag DtNavBot::upcomingNavTagOnPath ( ) const
pure virtual

Gets the upcoming nav tag in the path.

virtual void DtNavBot::upcomingNavTagsOnPath ( double  distance,
DtNavTagAndLocationList navTags 
) const
pure virtual

Gets all nav tags within the specified distance from the current location on the path.

virtual void DtNavBot::setCollisionAvoidanceEnabled ( bool  enable)
pure virtual

Enables or disables collision avoidance.

Cannot enable collision avoidance if the bot is configured to have it disabled. Only has an effect if collision avoidance is configured.

virtual void DtNavBot::setNavigationMethod ( NavigationMethod  navMethod)
pure virtual
virtual NavigationMethod DtNavBot::navigationMethod ( ) const
pure virtual
virtual DtVector DtNavBot::performMovement ( double  dt)
pure virtual

Allows the nav bot to perform movement for the entity.

Returns the new entity location after processing movement for the next dt seconds.

virtual DtVector DtNavBot::groundClamp ( const DtVector localPos,
DtVector normal 
)
pure virtual

Finds a ground clamped position on the nav data near the specified local position.

Also outputs the normal of the clamped position.

Member Data Documentation

DtNavBotCreatorFcn DtNavBot::theNavBotCreatorFcn
staticprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)