19 #include <matrix/vlVector.h>
57 virtual const DtString& navProfile()
const;
58 virtual void setNavProfile(
const DtString& profile);
61 virtual bool hasControl(
int priority);
62 virtual void releaseControl(
int priority);
68 virtual void setDestination(
const DtVector& localDest);
70 virtual void resetDestination();
73 virtual void setPositionInvalid();
75 virtual void setDesiredSpeed(
double speed);
83 virtual double getOutputSpeed();
86 virtual double getOutputHeading();
88 virtual bool currentPath(std::vector<DtVector>& path);
89 virtual bool abstractPath(std::vector<DtVector>& path);
93 virtual unsigned currentAbstractPathIndex();
101 virtual bool usingTransitionPoint()
const;
103 virtual bool nextTransitionPoint(
DtVector& tPoint);
106 virtual bool findingTransitionPoint()
const;
113 void* usrData = 0,
int navTag = -1);
114 virtual std::vector<DtVector> searchInArea(
const DtVector& startPoint,
116 void* usrData = 0,
int navTag = -1);
127 bool useAbstractGraphs,
const DtVector& locationToAvoid =
DtVector(),
double avoidanceRadius = 0);
131 virtual bool findFarthestPositionAlongHeading(
const DtVector& start,
132 double heading,
double maxDistance,
DtVector& result,
bool& reachedMaxDist)
const;
138 virtual void moveAlongPath(
const std::vector<DtVector>&);
142 virtual bool findFarthestPositionAlongHeading(
double heading,
double maxDistance,
143 DtVector& result,
bool& reachedMaxDist)
const;
149 virtual DtNavTag upcomingNavTagOnPath()
const;
158 virtual void resetNavigationMethod();
165 virtual DtVector performMovement(
double dt);
172 bool findValidPositionNearby(
const DtVector& localStart,
double radius,
DtVector& result);
183 static void setLocationCompleteCallback(
const DtVrfObject* vrfObject,
void* usr);
184 virtual void processSetLocationComplete(
const DtVrfObject* vrfObject);
189 const DtVector& localCoverFrom,
double coverFromRadius,
double distanceFromThreat);
190 virtual bool findInsidePositionFromOutsidePosition(
DtNavArea* navArea,
201 virtual DtVector objectLocationLocalOrParent()
const;
206 virtual bool botShouldBeActive();
221 virtual void findTransitionPointStartingFrom(
const DtVector& startingPoint,
224 virtual void removeDebugTransitionPoints();
DtNavAreaQuery::Ptr myPendingQuery
Definition: activeBotNavInterface.h:244
const DtNavArea * navArea() const
Definition: activeBotNavInterface.h:55
Definition: vrfObjectNavInterface.h:18
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
void(* DtSearchAreaPointCostModifierEvaluatorFcn)(const DtVector &localPoint, float *currentCost, void *userData)
Definition: navArea.h:210
DtNavBot::DtNavBotPathLocationEvalFcn myPathCostEvalFcn
Definition: activeBotNavInterface.h:256
This is the DtVrfObjectNavInterface subclass for objects which are actively querying the navigation s...
Definition: activeBotNavInterface.h:26
DtVector myTransitionPoint
Definition: activeBotNavInterface.h:238
DtNavBot * myNavBot
Definition: activeBotNavInterface.h:235
boost::shared_ptr< DtCoverPointFinder > myPendingCoverPointFinder
Definition: activeBotNavInterface.h:249
boost::shared_ptr< DtTransitionPointFinder > myPendingPointFinder
Definition: activeBotNavInterface.h:245
DtOnPathToGraphVertexComputedResult(* DtPathCalculatedEvaluatorFcn)(const DtVector &localPoint, double pathCost, void *userData)
Definition: navArea.h:211
Wrapper for GameWare NavTag.
Definition: navDataTag.h:54
DtOnGraphVertexVisitedResult(* DtPointOfInterestEvaluatorFcn)(const DtVector &localPoint, void *userData)
Definition: navArea.h:208
std::vector< DtNavTagAndLocation > DtNavTagAndLocationList
Definition: navBot.h:26
bool myWaitingForInitialNav
Definition: activeBotNavInterface.h:264
DtSharedVrfObjectReference class will allocate an empty DtVrfObjectReference if one is not assigned s...
Definition: vrfObjectReference.h:102
DtTime myInitialSimTime
Definition: activeBotNavInterface.h:268
int myControllerPriority
Definition: activeBotNavInterface.h:251
bool mySetDestinationWaitingForNav
Definition: activeBotNavInterface.h:265
DtString myController
Definition: activeBotNavInterface.h:252
bool myFindingDestNavAreaTransitionPoint
Definition: activeBotNavInterface.h:242
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
Contains all the data and logic for navigation within a specific area.
Definition: navArea.h:181
virtual bool init()
Virtual init, called from the create() method.
DtVector myDestinationWaitingForNav
Definition: activeBotNavInterface.h:267
std::vector< DtSharedVrfObjectReference > myDebugTransitionPoints
Definition: activeBotNavInterface.h:259
DtVector myDestNavAreaTransitionPoint
Definition: activeBotNavInterface.h:241
DtString myStatusString
Definition: activeBotNavInterface.h:254
virtual DtVector transitionPoint() const
Definition: activeBotNavInterface.h:99
bool(* DtNavBotPathLocationEvalFcn)(const DtNavTag &navTag, float slope, float elevationChange, float *costMultiplier, void *userData)
Definition: navBot.h:121
boost::shared_ptr< DtNavAreaQuery > Ptr
Definition: navArea.h:59
bool myNavigationIsEnabled
Definition: activeBotNavInterface.h:266
*array controller(no time code)*/template< class Instance
//!//!//!//!//!//!//!//!//!//!//!//
DtNavArea * navArea()
Definition: activeBotNavInterface.h:54
DtString myProfile
Definition: activeBotNavInterface.h:234
bool myFailedToFindTransitionPoint
Definition: activeBotNavInterface.h:261
bool myFailedToFindCoverPoint
Definition: activeBotNavInterface.h:262
DtVrfObjectNavInterface & operator=(const DtVrfObjectNavInterface &orig)
Not Implemented.
DtNavArea * myDestNavArea
Definition: activeBotNavInterface.h:240
std::list< DtNavAreaQuery::WeakPtr > myActiveQueries
Definition: activeBotNavInterface.h:247
DtNavArea * myNavArea
Definition: activeBotNavInterface.h:236
PathStatus
Definition: navBot.h:125
virtual bool ableToNavigate() const
Generic call. Basic nav interfaces are not able to navigate.
NavigationMethod
Definition: navBot.h:32
virtual void changingNavArea(DtNavArea *newNavArea)
Called when about to change to a new navArea.
void * myPathCostEvalFcnUsrData
Definition: activeBotNavInterface.h:257
DtNavBot::NavigationMethod myDefaultNavigationMethod
Definition: activeBotNavInterface.h:270