VR-Forces 4.6 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 Reference

Classes

struct  CollisionAvoidanceConfiguration
struct  NavigationConfiguration

Public Types

enum  NavigationMethod { NavigationMethodShortcut = 0, NavigationMethodSpline = 1 }
enum  PathStatus {
  PathStatusInactive, PathStatusComputing, PathStatusHasPath, PathStatusArrived,
  PathStatusNoValidPath, PathStatusLeavingArea, PathStatusFindingTransitionPoint
}
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, NavigationConfiguration navConfig=NavigationConfiguration(), CollisionAvoidanceConfiguration collAvoidConfig=CollisionAvoidanceConfiguration())=0
virtual void setPosition (const DtVector &localPos)=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.
virtual DtNavTag upcomingNavTagOnPath () const =0
 Gets the upcoming nav tag in the path.
virtual void upcomingNavTagsOnPath (double distance, DtNavTagAndLocationList &navTags) const =0
 Gets all nav tags within the specified distance from the current location on the path.
virtual void setCollisionAvoidanceEnabled (bool enable)=0
 Enables or disables collision avoidance.
virtual void setNavigationMethod (NavigationMethod navMethod)=0
virtual NavigationMethod navigationMethod () const =0

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.

Calculating a transition point

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,
NavigationConfiguration  navConfig = NavigationConfiguration(),
CollisionAvoidanceConfiguration  collAvoidConfig = CollisionAvoidanceConfiguration() 
)
pure virtual
virtual void DtNavBot::setPosition ( const DtVector localPos)
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

Member Data Documentation

DtNavBotCreatorFcn DtNavBot::theNavBotCreatorFcn
staticprotected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)