|
| virtual | ~DtNavArea () |
| |
| virtual bool | initialize (Coordinate_System *coordSys, DtTerrainInterface *terrainIf, DtNavAreaConfig config, DtNavGenerationThreadCounter *threadCounter, std::vector< DtString > profiles=std::vector< DtString >())=0 |
| |
| virtual void | update (float deltaTimeInSeconds)=0 |
| |
| virtual bool | loadNavData (const DtString &path, const DtVariableBindingsList &variableBindings=DtReaderWriter::nullVariableReference(), bool objectNavData=false)=0 |
| |
| virtual bool | inNavArea (const DtVector &localPos) const =0 |
| |
| virtual bool | validPosition (const DtString &profile, const DtVector &localPos, DtNavTag *navTag=0, DtVector *outPos=0)=0 |
| | Tests to see if the position is on the nav mesh part of the nav area, i.e. More...
|
| |
| virtual bool | validForProfile (const DtString &profile) const =0 |
| |
| virtual DtNavDataDebugInfo * | debugInfo ()=0 |
| |
| virtual void | setExtent (DtExtent *e)=0 |
| |
| virtual DtExtent | localExtent ()=0 |
| |
| virtual void | cancelQuery (DtNavAreaQuery::Ptr)=0 |
| | Cancels the given query. More...
|
| |
| virtual DtNavAreaQuery::Ptr | findNearbyPointOfInterest (const DtString &profile, const DtVector &startLocalPos, int tag=DtNavDataTagAny, double propagationRadius=200., DtPointOfInterestEvaluatorFcn evalFcn=0, DtPathCalculatedEvaluatorFcn pathFcn=0, void *evalFcnUserData=0)=0 |
| | Finds a defined point of interest in the navArea with the shortest path from startLocalPos that has the specified tag (-1 matches all tags) and returns true when passed to evalFcn, if specified. More...
|
| |
| virtual DtNavAreaQuery::Ptr | findNearbyPointOfInterestUsingNavTag (const DtString &profile, const DtVector &startLocalPos, bool useHighPriorityQueue, int tag=DtNavDataTagAny, double propagationRadius=200., DtPointOfInterestNavTagEvaluatorFcn evalFcn=0, DtPathCalculatedEvaluatorFcn pathFcn=0, void *evalFcnUserData=0)=0 |
| | Finds a defined point of interest in the navArea with the shortest path from startLocalPos that has the specified tag (-1 matches all tags) and returns true when passed to evalFcn, if specified. More...
|
| |
| virtual void | findNearbyNavEdgesUsingNavTags (const DtString &profile, double searchRadius, const DtVector &fromFromHere, const std::vector< DtInputNavTag > &navTagVals, std::list< DtNavEdge * > &result) const =0 |
| | Find nearby Edges in the nav graph from the given start points User is responsible for deleting "result". More...
|
| |
| virtual void | findVerticesUsingNavTags (const DtString &profile, double searchRadius, const DtVector &fromFromHere, const std::vector< DtInputNavTag > &navTagVals, std::list< DtVector > &result) const =0 |
| | Finds the connected points in the nav graph from the given start point. More...
|
| |
| virtual DtNavAreaQuery::Ptr | findBestExitPoint (const DtString &profile, DtNavBot *searcher, const DtVector &startLocalPos, const DtVector &destination, int tag=DtNavDataTagAny, double propagationRadius=200., DtPointOfInterestEvaluatorFcn evalFcn=0, DtPathCalculatedEvaluatorFcn pathFcn=0, void *evalFcnUserData=0)=0 |
| | Given a start and end destination outside of the nav mesh, find the best exit point matching the tag the bot can use to leave the navigation mesh. More...
|
| |
| virtual bool | findInsidePositionFromOutsidePosition (const DtString &profile, double searchRadius, double searchHeight, const DtVector &fromFromHere, DtVector &result, int &halfEdgeType) const =0 |
| | Finds the closest point in the nav mesh from the given start point. If a point is found result is returned in result. More...
|
| |
| virtual DtNavAreaQuery::Ptr | findBestPathTo (const DtString &profile, const DtVector &start, const std::vector< DtVector > &localDestinationPositions, DtNavBot *searcher, int tag=-1, DtSearchAreaPointCostModifierEvaluatorFcn=0, DtPointOfInterestEvaluatorFcn=0, DtPathCalculatedEvaluatorFcn=0, void *usrData=0, bool startMovingWhenFound=false)=0 |
| | Find the best path to the given locations. More...
|
| |
| virtual DtNavAreaQuery::Ptr | findPathToLocation (const DtString &profile, const DtVector &start, const DtVector &destination, bool useAbstractGraphs=true, const DtVector &locationToAvoid=DtVector(), double avoidanceRadius=0, DtNavBot::DtNavBotPathLocationEvalFcn costEvalFcn=0, void *costEvalFcnUsrData=0)=0 |
| | Find path to the specified location from the specified start point. More...
|
| |
| virtual bool | findFarthestPositionAlongHeading (const DtString &profile, const DtVector &start, double heading, double maxDistance, DtVector &result, bool &reachedMaxDist) const =0 |
| | Finds the farthest point along a given heading that can be traveled without hitting the border of the NavMesh, a non-traversable triangle, or the max distance. More...
|
| |
| virtual bool | doesNavIntersectBetweenTwoPoints (const DtString &profile, const DtVector &start, const DtVector &end) const =0 |
| | Attempts to find an intersection between two points. Similar to findFarthestPosition but takes a 2nd point for sampling rather than heading and distance. More...
|
| |
| virtual DtNavAreaQuery::Ptr | generateRandomPoints (const DtString &profile, const DtVector &localAccessibilityPoint=DtVector::zero(), double minRadius=-1, double maxRadius=-1, const DtLocalVertexList &boundingArea=DtLocalVertexList(), unsigned numberOfPoints=1, double minDistanceBetweenPoints=0.0, const DtString &placementRestriction=DtString::nullString(), bool isStrict=true, bool tightlyPack=false, bool needLos=false, bool groundClamp=false, const DtLocalVertexList &leftOfLine=DtLocalVertexList(), DtLocalPointUserEvalCallback callbackFcn=emptyCallback, void *userData=0)=0 |
| |
| virtual bool | tagVolumesToBeIntegrated () const =0 |
| | Returns true if there are any tag volumes which still need to be integrated into the mesh. More...
|
| |
| DtVrfObject * | attachedObject () |
| |
| void | setAttachedObject (DtVrfObject *object) |
| |
| virtual std::vector< DtVector > | searchInArea (const DtString &profile, const DtVector &startLocalPos, double radius, double postSpacing, DtNavBot *searcher, DtPointOfInterestEvaluatorFcn evalFcn=0, void *evalFcnUserData=0, int tag=-1) const =0 |
| | Returns a list of points that have been judged to be usable within the given area and post spacing. More...
|
| |
| virtual bool | navTrianglesInArea (const DtString &profile, const DtVector &location, double radius, std::list< DtNavTriangleInfo > &triangles)=0 |
| |
| virtual unsigned | newNavTagId ()=0 |
| | Generates a new ID for a nav tag volume. More...
|
| |
| virtual void | associateNavTagIdWithObject (unsigned tagVolumeId, const DtUUID &objectUUID)=0 |
| | Associates a nav tag ID with a VRF object UUID. More...
|
| |
| virtual void | disassociateNavTagId (unsigned navTagId)=0 |
| | Disassociates a nav tag ID with a VRF object UUID. More...
|
| |
| virtual DtUUID | uuidFromNavTagId (unsigned navTagId) const =0 |
| | Returns the object UUID that is associated with this nav tag ID. More...
|
| |
| virtual unsigned | navTagVolumeIdFromUuid (const DtUUID &objectUUID)=0 |
| | Returns the nav tag ID that is associated with this object UUID. More...
|
| |
| virtual const DtNavSectorNames & | sectorsQueuedForRegeneration () const =0 |
| | Returns the set of all sectors currently queued for regeneration. More...
|
| |
| virtual const DtNavSectorNames & | sectorsBeingRegenerated () const =0 |
| | Returns the set of all sectors currently being regenerated. More...
|
| |
| virtual void | addSectorRegenerationCallback (DtSectorRegenerationCb cb, void *usr)=0 |
| | Installs a callback to be notified when sector regeneration status changes (i.e. More...
|
| |
| virtual void | removeSectorRegenerationCallback (DtSectorRegenerationCb cb, void *usr)=0 |
| |
| virtual DtNavRegenRequestId | requestNavDataGeneration (const DtVector &location, double radius, const std::set< DtString > &profiles=std::set< DtString >())=0 |
| | Requests nav data regeneration at the specified location for the specified profiles. More...
|
| |
| virtual void | requestNavDataReversion (DtNavRegenRequestId id)=0 |
| | Request that nav data be regenerated to undo a previous nav data generation change. More...
|
| |
| virtual unsigned | addNavEdge (const DtString &profile, std::vector< DtVector > &LocalPoints, const DtInputNavTag &navTag, const DtUUID &associatedObject=DtUUID::nullUUID())=0 |
| | Adds a nav edge and returns an edge id that can be used to remove it. More...
|
| |
| virtual unsigned | addNavIEdge (const DtString &profile, std::vector< DtVector > &LocalPoints, std::vector< std::vector< DtVector > > &localIPoints, const DtInputNavTag &navTag, const DtInputNavTag &entryExitNavTag, const DtUUID &associatedObject=DtUUID::nullUUID())=0 |
| | Adds a nav edge and returns an edge id that can be used to remove it. More...
|
| |
| virtual void | removeNavEdge (unsigned edgeId)=0 |
| | Remove nav edge by its id. More...
|
| |
| virtual unsigned | addCoverPoint (const DtString &profile, const DtVector &localPoint, bool &creationComplete)=0 |
| | Adds a cover point and returns an edge id that can be used to remove it. More...
|
| |
| virtual bool | isCoverPointCreated (unsigned coverPointId)=0 |
| | Returns true if the creation of the specified cover point is complete. More...
|
| |
| virtual void | removeCoverPoint (unsigned coverPointId)=0 |
| | Remove cover point by its id. More...
|
| |
| virtual void | printNavDataInfoForLocation (const DtVector &location, std::ostream &strm) const =0 |
| | Prints information about the nav data at the specified location to the given stream. More...
|
| |
Contains all the data and logic for navigation within a specific area.
NavData is loaded for various types of entities into a DtNavArea. NavBots are created within a specific DtNavArea.
- Note
- This class is abstract, and must be created through the create() method.