VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
persistentPointAlongHeadingQuery.h
Go to the documentation of this file.
1 #pragma once
2 
4 #include "matrix/vlVector.h"
5 
6 class DtString;
7 
12 {
13 public:
15  StayOnPedestrianPathsMode = 0,
16  StayOffRoadsMode = 1
17  };
18 
20  {
21  RAYCAST_NOT_INITIALIZED = 0,
22  RAYCAST_NOT_PROCESSED = 1,
23 
31 
34  RAYCAST_DONE_ARRIVALPOS_FOUND_AFTER_COLLISION = RAYCAST_DONE_ARRIVALPOS_FOUND_WITH_COLLISION
35  };
36 
37 
40 
41  virtual void setRestriction(RestrictionMode r) = 0;
42  virtual RestrictionMode restriction() = 0;
48  virtual bool findFarthestPositionAlongHeading(const DtVector& start, double heading, double maxDistance,
49  DtVector& result, bool& collidedWithEdge, double& horizontalDistance) = 0;
50 
53  virtual bool findFarthestNavPositionAlongHeading(const DtVector& navStart,
54  double heading, double maxDistance,
55  DtVector& navResult, bool& collidedWithEdge, double& horizontalDistance) = 0;
56 
58  virtual int numIntermediatePoints() = 0;
59  virtual DtVector intermediatePoint(int index) = 0;
60  virtual RayCastQueryResult detailedResult() = 0;
65  virtual bool farthestPointOnLine(DtVector& navResult, double& distance) = 0;
66 
67 protected:
68 
69 };
Test class for providing a fast way for an entity to "walk" along the nav mesh. This is the abstract ...
Definition: persistentPointAlongHeadingQuery.h:11
DtPersistentPointAlongHeadingQuery()
Definition: persistentPointAlongHeadingQuery.h:38
Indicates that the starting point is very close to a NavMesh border, such that moving back the collis...
Definition: persistentPointAlongHeadingQuery.h:26
Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.
Definition: persistentPointAlongHeadingQuery.h:28
RayCastQueryResult
Definition: persistentPointAlongHeadingQuery.h:19
Indicates that a collision point was found and that a final arrival position was calculated successfu...
Definition: persistentPointAlongHeadingQuery.h:33
RestrictionMode
Definition: persistentPointAlongHeadingQuery.h:14
Indicates that an unknown error occurred during the query processing.
Definition: persistentPointAlongHeadingQuery.h:30
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...
Indicates that the query was not performed, because the value of BaseRayCastQuery::m_maxDist is large...
Definition: persistentPointAlongHeadingQuery.h:29
virtual ~DtPersistentPointAlongHeadingQuery()
Definition: persistentPointAlongHeadingQuery.h:39
Indicates that the ray was able to travel its maximum distance without collision. ...
Definition: persistentPointAlongHeadingQuery.h:32
Indicates that a NavMesh triangle has been found for the starting point, but its NavTag is not consid...
Definition: persistentPointAlongHeadingQuery.h:25
#define DT_DLL_vrfNavigation
This file is used to determine how to build.
Definition: vrfNavigationDefines.h:26
Indicates that a NavMesh triangle could not be found for the starting point.
Definition: persistentPointAlongHeadingQuery.h:24
Indicates that a collision point was found, but moving back from that point resulted in an arrival po...
Definition: persistentPointAlongHeadingQuery.h:27

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)