20 #include <matrix/vlVector.h>
44 virtual bool init()
override;
51 virtual void tick()
override;
61 virtual const DtString& navProfile()
const;
62 virtual void setNavProfile(
const DtString& profile);
64 virtual bool requestControl(
int priority,
const DtString& controller);
65 virtual bool hasControl(
int priority);
66 virtual void releaseControl(
int priority);
72 virtual void setDestination(
const DtVector& localDest);
74 virtual DtVector destination()
const;
76 virtual void resetDestination();
79 virtual void setPositionInvalid();
81 virtual void setDesiredSpeed(
double speed);
89 virtual double getOutputSpeed();
92 virtual double getOutputHeading();
94 virtual bool currentPath(std::vector<DtVector>& path);
95 virtual bool abstractPath(std::vector<DtVector>& path);
97 virtual bool currentPathEdge(DtVector& edgeStart, DtVector& edgeEnd);
101 virtual unsigned currentAbstractPathIndex();
105 virtual void setUseAbstractGraph(
bool yesNo);
108 virtual void resetUseAbstractGraph();
111 virtual bool usingAbstractGraph()
const;
119 virtual void clearPathCostEvalFunction();
123 virtual bool usingTransitionPoint()
const;
125 virtual bool nextTransitionPoint(DtVector& tPoint);
128 virtual bool findingTransitionPoint()
const;
135 void* usrData = 0,
int navTag = -1);
136 virtual std::vector<DtVector> searchInArea(
const DtVector& startPoint,
138 void* usrData = 0,
int navTag = -1);
148 virtual DtNavAreaQuery::Ptr findPathToLocation(
const DtVector& start,
const DtVector& destination,
149 bool useAbstractGraphs,
const DtVector& locationToAvoid = DtVector(),
double avoidanceRadius = 0);
153 virtual bool findFarthestPositionAlongHeading(
const DtVector& start,
154 double heading,
double maxDistance, DtVector& result,
bool& reachedMaxDist)
const;
161 virtual bool findFarthestPositionAlongHeading(
double heading,
double maxDistance,
162 DtVector& result,
bool& reachedMaxDist)
const;
165 virtual DtNavTag navTagAtPosition(
const DtVector& localPos)
const;
168 virtual DtNavTag upcomingNavTagOnPath()
const;
177 virtual void resetNavigationMethod();
184 virtual DtVector performMovement(
double dt);
188 virtual DtVector groundClamp(
const DtVector& localPos, DtVector& normal);
191 bool findValidPositionNearby(
const DtVector& localStart,
double radius, DtVector& result);
199 virtual bool changeAreaIfOverlapping(
const DtVector&
dest);
207 virtual void processSetLocationComplete();
212 const DtVector& localCoverFrom,
double coverFromRadius,
double distanceFromThreat);
213 virtual bool findInsidePositionFromOutsidePosition(
DtNavArea* navArea,
214 const DtVector& localStart,
const DtVector& localDest, DtVector& result,
int& halfEdgeType);
218 virtual DtVector adjustDestination(
const DtVector& localDest);
222 virtual DtVector localOrParentPos(
const DtVector& localPos);
224 virtual DtVector objectLocationLocalOrParent()
const;
229 virtual bool botShouldBeActive();
244 virtual void findTransitionPointStartingFrom(
const DtVector& startingPoint,
247 virtual void removeDebugTransitionPoints();
DtNavAreaQuery::Ptr myPendingQuery
Definition: activeBotNavInterface.h:267
const DtNavArea * navArea() const
Definition: activeBotNavInterface.h:59
A nav interface is a software component of an object that maintains the object's presence in the navi...
Definition: vrfObjectNavInterface.h:39
void(* DtSearchAreaPointCostModifierEvaluatorFcn)(const DtVector &localPoint, float *currentCost, void *userData)
Definition: navArea.h:234
boost::signals2::scoped_connection myLocationCompleteConnection
Definition: activeBotNavInterface.h:297
This is the DtVrfObjectNavInterface subclass for objects which are actively querying the navigation s...
Definition: activeBotNavInterface.h:27
DtNavBot::NavBotPathLocationEvalFcn myPathCostEvalFcn
Definition: activeBotNavInterface.h:279
DtVector myTransitionPoint
Definition: activeBotNavInterface.h:261
DtNavBot * myNavBot
Definition: activeBotNavInterface.h:258
DtOnPathToGraphVertexComputedResult(* DtPathCalculatedEvaluatorFcn)(const DtVector &localPoint, double pathCost, void *userData)
Definition: navArea.h:235
VR-Forces wrapper for Gameware NavTag. Note: This class keeps only a pointer to the data...
Definition: navDataTag.h:87
DtOnGraphVertexVisitedResult(* DtPointOfInterestEvaluatorFcn)(const DtVector &localPoint, void *userData)
Definition: navArea.h:232
This is a rw class to save out a block of generic binary data.
Definition: rwBinaryData.h:18
std::vector< DtNavTagAndLocation > DtNavTagAndLocationList
Definition: navBot.h:29
bool myWaitingForInitialNav
Definition: activeBotNavInterface.h:287
double myDefaultHeight
Definition: activeBotNavInterface.h:294
DtTime myInitialSimTime
Definition: activeBotNavInterface.h:291
int myControllerPriority
Definition: activeBotNavInterface.h:274
bool mySetDestinationWaitingForNav
Definition: activeBotNavInterface.h:288
DtString myController
Definition: activeBotNavInterface.h:275
bool myFindingDestNavAreaTransitionPoint
Definition: activeBotNavInterface.h:265
#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. Coordinates are in local database coordinates The coordinat...
This class contains all the data and logic for navigation within a specific area. Nav Data may be loa...
Definition: navArea.h:205
virtual bool init()
Virtual init, called from the create() method.
double myDefaultRadius
Definition: activeBotNavInterface.h:293
DtVector myDestinationWaitingForNav
Definition: activeBotNavInterface.h:290
DtVector myDestNavAreaTransitionPoint
Definition: activeBotNavInterface.h:264
std::vector< DtLocalObject * > myDebugTransitionPoints
Definition: activeBotNavInterface.h:282
DtString myStatusString
Definition: activeBotNavInterface.h:277
virtual DtVector transitionPoint() const
Definition: activeBotNavInterface.h:121
bool myNavigationIsEnabled
Definition: activeBotNavInterface.h:289
DtNavArea * navArea()
Definition: activeBotNavInterface.h:58
std::shared_ptr< DtNavAreaQuery > Ptr
Definition: navArea.h:59
DtString myProfile
Definition: activeBotNavInterface.h:257
bool myFailedToFindTransitionPoint
Definition: activeBotNavInterface.h:284
DtPlatformLocalObjectFacade myPlatformLocalObjectFacade
Definition: activeBotNavInterface.h:299
virtual void postObjectInit()
Perform additional initialization after the object has been initialized. Default behavior is to do no...
Definition: vrfObjectNavInterface.h:67
bool myFailedToFindCoverPoint
Definition: activeBotNavInterface.h:285
std::shared_ptr< DtTransitionPointFinder > myPendingPointFinder
Definition: activeBotNavInterface.h:268
std::shared_ptr< DtCoverPointFinder > myPendingCoverPointFinder
Definition: activeBotNavInterface.h:272
DtVrfObjectNavInterface & operator=(const DtVrfObjectNavInterface &orig)
Not Implemented.
DtNavArea * myDestNavArea
Definition: activeBotNavInterface.h:263
std::list< DtNavAreaQuery::WeakPtr > myActiveQueries
Definition: activeBotNavInterface.h:270
bool(* NavBotPathLocationEvalFcn)(const DtNavTag &navTag, float slope, float elevationChange, float *costMultiplier, void *userData)
Definition: navBot.h:130
DtNavArea * myNavArea
Definition: activeBotNavInterface.h:259
PathStatus
Definition: navBot.h:134
virtual bool ableToNavigate() const
Generic call. Basic nav interfaces are not able to navigate.
NavigationMethod
Definition: navBot.h:35
virtual void changingNavArea(DtNavArea *newNavArea)
Called when about to change to a new navArea.
void * myPathCostEvalFcnUsrData
Definition: activeBotNavInterface.h:280
char * dest
Definition: lz4.h:440
DtNavBot::NavigationMethod myDefaultNavigationMethod
Definition: activeBotNavInterface.h:296
A locally simulated VRF object.
Definition: localObject.h:98