Public Member Functions |
| virtual | ~DtNavArea () |
| virtual bool | initialize (Coordinate_System *coordSys, 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)=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 | 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, 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 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, const DtLocalVertexList &leftOfLine=DtLocalVertexList(), DtLocalPointUserEvalCallback callbackFcn=emptyCallback, void *userData=0)=0 |
| 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.
|
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.