![]() |
VR-Forces Developer's Guide
|
Test class for providing a fast way for an entity to "walk" along the nav mesh. This is the abstract base class.
Public Types | |
| enum | RestrictionMode { StayOnPedestrianPathsMode = 0, StayOffRoadsMode = 1 } |
| enum | RayCastQueryResult { RAYCAST_NOT_INITIALIZED = 0, RAYCAST_NOT_PROCESSED = 1, RAYCAST_DONE_START_OUTSIDE, RAYCAST_DONE_START_NAVTAG_FORBIDDEN, RAYCAST_DONE_CANNOT_MOVE, RAYCAST_DONE_COLLISION_FOUND_ARRIVAL_ERROR, RAYCAST_DONE_LACK_OF_WORKING_MEMORY, RAYCAST_DONE_QUERY_TOO_LONG, RAYCAST_DONE_UNKNOWN_ERROR, RAYCAST_DONE_ARRIVALPOS_FOUND_MAXDIST_REACHED, RAYCAST_DONE_ARRIVALPOS_FOUND_WITH_COLLISION, RAYCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION = RAYCAST_DONE_ARRIVALPOS_FOUND_WITH_COLLISION } |
Public Member Functions | |
| DtPersistentPointAlongHeadingQuery () | |
| virtual | ~DtPersistentPointAlongHeadingQuery () |
| virtual void | setRestriction (RestrictionMode r)=0 |
| virtual RestrictionMode | restriction ()=0 |
| virtual bool | findFarthestPositionAlongHeading (const DtVector &start, double heading, double maxDistance, DtVector &result, bool &collidedWithEdge, double &horizontalDistance)=0 |
| virtual bool | findFarthestNavPositionAlongHeading (const DtVector &navStart, double heading, double maxDistance, DtVector &navResult, bool &collidedWithEdge, double &horizontalDistance)=0 |
| virtual int | numIntermediatePoints ()=0 |
| virtual DtVector | intermediatePoint (int index)=0 |
| virtual RayCastQueryResult | detailedResult ()=0 |
| virtual bool | farthestPointOnLine (DtVector &navResult, double &distance)=0 |
|
inline |
|
inlinevirtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Runs the query. Note that the boolean return value collidedWithEdge is the opposite of the primitive Gameware farthestPointAlongHeading query, which returns reachedMaxDistance. HorizontalDistance is the distance in the xy plane to the result.
|
pure virtual |
Same function as above, but the parameters navStart and navResult are in nav mesh coordinates.
|
pure virtual |
Get extra results from last run query.
|
pure virtual |
|
pure virtual |
Based on intermediate points from the last performed query, find the farthest intermediate point which is on the same 3D line as previous points. This means that as soon a slope change occurs in the result, the last point before the slope change is the result. navResult is in nav mesh coordinates.