Public Member Functions |
| virtual | ~DtNavArea () |
| virtual bool | initialize (Coordinate_System *coordSys, DtTerrainInterface *terrainIf, DtNavAreaConfig config, 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)=0 |
| virtual bool | validPosition (const DtString &profile, const DtVector &localPos, DtNavTag *navTag=0)=0 |
| 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.
|
| 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.
|
| virtual DtNavAreaQuery::Ptr | findNearbyPointOfInterestUsingNavTag (const DtString &profile, const DtVector &startLocalPos, 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.
|
| 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.
|
| virtual bool | findInsidePositionFromOutsidePosition (const DtString &profile, double searchRadius, double searchHeight, const DtVector &fromFromHere, DtVector &result, int &halfEdgeType)=0 |
| | Finds the closest point in the nav mesh from the given start point. If a point is found result is returned in result.
|
| 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.
|
| virtual DtNavAreaQuery::Ptr | findPathToLocation (const DtString &profile, const DtVector &start, const DtVector &destination, bool useAbstractGraphs=true, const DtVector &locationToAvoid=DtVector(), double avoidanceRadius=0)=0 |
| | Find path to the specified location from the specified start point.
|
| virtual bool | findFarthestPositionAlongHeading (const DtString &profile, const DtVector &start, double heading, double maxDistance, DtVector &result, bool &reachedMaxDist)=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.
|
| 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.
|
| 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)=0 |
| | Returns a list of points that have been judged to be usable within the given area and post spacing.
|
| virtual unsigned | newNavTagVolumeId ()=0 |
| | Generates a new ID for a nav tag volume.
|
| virtual void | associateNavTagVolumeIdWithObject (unsigned tagVolumeId, const DtUUID &objectUUID)=0 |
| | Associates a nav tag volume ID with a VRF object UUID.
|
| virtual DtUUID | uuidFromNavTagVolumeId (unsigned navTagId)=0 |
| | Returns the object UUID that is associated with this nav tag volume ID.
|
| virtual unsigned | navTagVolumeIdFromUuid (const DtUUID &objectUUID)=0 |
| | Returns the nav tag volume ID that is associated with this object UUID.
|
| virtual const DtNavSectorNames & | sectorsQueuedForRegeneration () const =0 |
| | Returns the set of all sectors currently queued for regeneration.
|
| virtual const DtNavSectorNames & | sectorsBeingRegenerated () const =0 |
| | Returns the set of all sectors currently being regenerated.
|
| virtual void | addSectorRegenerationCallback (DtSectorRegenerationCb cb, void *usr)=0 |
| | Installs a callback to be notified when sector regeneration status changes (i.e.
|
| 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.
|
| virtual void | requestNavDataReversion (DtNavRegenRequestId id)=0 |
| | Request that nav data be regenerated to undo a previous nav data generation change.
|
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.