37 static QueryType GetStaticType() {
return TypeFindFirstVisiblePositionOnPath; }
39 virtual void BuildQueryBlob(BaseBlobHandler* blobHandler);
40 virtual void InitFromQueryBlob(
World* world,
void* blob);
41 virtual Ptr<BaseBlobHandler> CreateQueryBlobHandler() {
return CreateStaticQueryBlobHandler(); }
42 static Ptr<BaseBlobHandler> CreateStaticQueryBlobHandler();
48 const PositionOnPath& GetStartPositionOnPath()
const;
49 const PositionOnPath& GetEndPositionOnPath()
const;
50 const Vec3f& GetVisibilityStartPoint()
const;
51 const NavTrianglePtr& GetVisibilityStartTrianglePtr()
const;
54 KyFloat32 GetCostToVisiblePositionOnPath()
const;
55 const PositionOnPath& GetFirstVisiblePositionOnPath()
const;
58 enum CandidateValidationResult
64 BaseFindFirstVisiblePositionOnPathQuery();
65 virtual ~BaseFindFirstVisiblePositionOnPathQuery() {}
67 void BindToDatabase(Database* database);
68 void Initialize(
const PositionOnPath& startPositionOnPath,
const PositionOnPath& endPositionOnPath,
const Vec3f& visibilityStartPoint);
70 void SetVisibilityStartTrianglePtr(
const NavTrianglePtr& startTrianglePtr);
71 void SetSamplingDistance(
KyFloat32 samplingDistance);
FindFirstVisiblePositionOnPathQueryResult
Enumerates the possible results of a FindFirstVisiblePositionOnPathQuery.
Definition: basefindfirstvisiblepositiononpathquery.h:19
Base class for FindFirstVisiblePositionOnPathQuery.
Definition: basefindfirstvisiblepositiononpathquery.h:34
This class aggregates all necessary information about a position on a Path.
Definition: positiononpath.h:29
Indicates that a NavMesh triangle has been found for visibilityStartPoint, but its NavTag is not cons...
Definition: basefindfirstvisiblepositiononpathquery.h:25
PositionOnPath m_endPositionOnPath
The end point of the PositionOnPath query on the Path.
Definition: basefindfirstvisiblepositiononpathquery.h:77
Base class for all the queries that do not need to be time-sliced.
Definition: iquery.h:245
Vec3f m_visibilityStartPos3f
The visibility check starting position.
Definition: basefindfirstvisiblepositiononpathquery.h:79
FindFirstVisiblePositionOnPathQueryResult m_result
Updated during processing to indicate the result of the query.
Definition: basefindfirstvisiblepositiononpathquery.h:86
This class is a runtime container for Autodesk Navigation WorldElements such as NavData, Bots, BoxObstacles, TagVolumes...
Definition: world.h:52
QueryType
Enumerates all the type of query.
Definition: iquery.h:25
Indicates that none of the PositionOnPath locations sampled between startPositionOnPath and endPositi...
Definition: basefindfirstvisiblepositiononpathquery.h:26
RayCanGoMarginMode
Defines the different mode for the NavMesh border margin to be used in RayCanGo queries.
Definition: database.h:37
Indicates the query has not yet been initialized.
Definition: basefindfirstvisiblepositiononpathquery.h:21
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Indicates that the query can pass in a straight line from start to end point without a collision...
Definition: basefindfirstvisiblepositiononpathquery.h:30
Indicates the query has not yet been launched.
Definition: basefindfirstvisiblepositiononpathquery.h:22
Indicates that an unknown error occurred during the query processing.
Definition: basefindfirstvisiblepositiononpathquery.h:28
RayCanGoMarginMode m_rayCanGoMarginMode
The margin mode to be used in ray can go queries.
Definition: basefindfirstvisiblepositiononpathquery.h:82
NavTrianglePtr m_visibilityStartTrianglePtr
The NavMesh triangle that corresponds to m_visibilityStartPos3f. Can be set as an input...
Definition: basefindfirstvisiblepositiononpathquery.h:80
Indicates that the query has not yet been initialized.
Definition: iquery.h:295
virtual QueryType GetType() const
Get query type.
Definition: basefindfirstvisiblepositiononpathquery.h:38
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor.
Definition: navtriangleptr.h:17
Indicates that the query has not yet been launched.
Definition: iquery.h:296
Indicates that insufficient memory was available to store crossed triangles or sub-sections, and the query failed as a result.
Definition: basefindfirstvisiblepositiononpathquery.h:27
void Initialize()
Should be called by the derived class prior to perform the query or to push it in a QueryQueue...
Definition: iquery.h:220
Indicates that a NavMesh triangle could not be found for the visibilityStartPoint.
Definition: basefindfirstvisiblepositiononpathquery.h:24
PositionOnPath m_startPositionOnPath
The start point of the PositionOnPath query on the Path.
Definition: basefindfirstvisiblepositiononpathquery.h:76
PositionOnPath m_firstVisiblePositionOnPath
Updated during processing to indicate the first visible PositionOnPath found.
Definition: basefindfirstvisiblepositiononpathquery.h:87
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16