9 #ifndef Navigation_BaseSpatializedPointCollectorInAABBQuery_H
10 #define Navigation_BaseSpatializedPointCollectorInAABBQuery_H
23 class SpatializedPointCollectorContext;
41 static QueryType GetStaticType() {
return TypeSpatializedPointCollectorInAABB; }
42 virtual QueryType GetType()
const {
return TypeSpatializedPointCollectorInAABB; }
43 virtual void BuildQueryBlob(BaseBlobHandler* blobHandler);
44 virtual void InitFromQueryBlob(
World* world,
void* blob);
45 virtual Ptr<BaseBlobHandler> CreateQueryBlobHandler() {
return CreateStaticQueryBlobHandler(); }
46 static Ptr<BaseBlobHandler> CreateStaticQueryBlobHandler();
53 const Vec3f& GetStartPos()
const;
54 const Box3f& GetExtentBox()
const;
59 const PositionSpatializationRange& GetPositionSpatializationRange()
const;
61 Box3f ComputeAABB()
const;
68 void BindToDatabase(
Database* database);
72 void SetPositionSpatializationRange(
const PositionSpatializationRange& positionSpatializationRange);
77 KyResult PrepareWithInputCoordPos(WorkingMemory* workingMemory);
79 KyResult OpenNode(SpatializedPointCollectorContext* traversalContext,
const NavFloorRawPtr& navFloorRawPtr);
86 KyResult TraverseNeighborNavFloors(SpatializedPointCollectorContext* traversalContext,
const NavFloorRawPtr& navFloorRawPtr);
89 KyResult TraverseNeighborNavFloors(SpatializedPointCollectorContext* traversalContext,
const NavGraphEdgeRawPtr& navGraphEdgeRawPtr);
92 KyResult TraverseNeighborNavGraphEdges(SpatializedPointCollectorContext* traversalContext,
const NavFloorRawPtr& navFloorRawPtr);
95 KyResult TraverseNeighborNavGraphEdges(SpatializedPointCollectorContext* traversalContext,
const NavGraphEdgeRawPtr& navGraphEdgeRawPtr);
97 KyResult ProcessNeighborNavFloor(SpatializedPointCollectorContext* traversalContext,
const NavFloorRawPtr& navFloorRawPtr);
98 KyResult ProcessNeighborNavGraphEdge(SpatializedPointCollectorContext* traversalContext,
const NavGraphEdgeRawPtr& navGraphEdgeRawPtr);
100 KyResult InitDataStructure(SpatializedPointCollectorContext* traversalContext, WorkingMemory* workingMemory);
130 #endif // Navigation_BaseSpatializedPointCollectorInAABBQuery_H
Indicates that insufficient working memory caused the query to stop.
Definition: basespatializedpointcollectorinaabbquery.h:32
This class gather the data encountered along some query process.
Definition: querydynamicoutput.h:61
SpatializedPointCollectorInAABBQueryResult m_result
Updated during processing to indicate the result of the query.
Definition: basespatializedpointcollectorinaabbquery.h:124
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
Base class for all the queries that do not need to be time-sliced.
Definition: iquery.h:289
SpatializedPointCollectorInAABBQueryResult
Enumerates the possible results of a SpatializedPointCollectorInAABBQuery.
Definition: basespatializedpointcollectorinaabbquery.h:26
Indicates that a NavMesh triangle could not be found for the starting point.
Definition: basespatializedpointcollectorinaabbquery.h:31
NavTrianglePtr m_startTrianglePtr
The NavMesh triangle that corresponds to m_startPos3f.
Definition: basespatializedpointcollectorinaabbquery.h:120
Each instance of this class uniquely identifies a single NavGraphEdge in a NavGraph.
Definition: navgraphedgerawptr.h:33
This class is a runtime container for Gameware Navigation WorldElements such as NavData, Bots, BoxObstacles, TagVolumes...
Definition: world.h:54
Ptr< QueryDynamicOutput > m_queryDynamicOutput
A ref-counted Ptr to a QueryDynamicOutput instance, used to store the collected SpatializedPoint.
Definition: basespatializedpointcollectorinaabbquery.h:131
BaseSpatializedPointCollectorInAABBQuery()
Computes the actual AABB used by this query to collect the SpatializedPoints.
QueryType
Enumerates all the type of query.
Definition: iquery.h:29
PositionSpatializationRange m_positionSpatializationRange
The altitude range around the position to use when determining m_startTrianglePtr from the m_startPos...
Definition: basespatializedpointcollectorinaabbquery.h:122
This class represents a three-dimensional axis-aligned bounding box whose dimensions are stored using...
Definition: box3f.h:25
This class is a runtime container for all NavData that represents the world from the point of view of...
Definition: database.h:64
Vec3f m_startPos3f
The starting point of the traversal.
Definition: basespatializedpointcollectorinaabbquery.h:116
Box3f m_extentBox
The Axis Aligned Bounding Box within which to collect the spatialized elements.
Definition: basespatializedpointcollectorinaabbquery.h:112
Definition: gamekitcrowddispersion.h:20
Base class for SpatializedPointCollectorInAABBQuery.
Definition: basespatializedpointcollectorinaabbquery.h:38
Indicates that the query was completed successfully.
Definition: basespatializedpointcollectorinaabbquery.h:34
Indicates that the query has not yet been initialized.
Definition: iquery.h:346
Utilities for dealing with NavData coordinates, which are expressed in a world space based on integer...
Definition: worldintegerpos.h:21
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor.
Definition: navtriangleptr.h:22
Indicates that the query has not yet been launched.
Definition: basespatializedpointcollectorinaabbquery.h:29
Indicates that the query has not yet been launched.
Definition: iquery.h:347
Indicates that the query has not yet been initialized.
Definition: basespatializedpointcollectorinaabbquery.h:28
void Initialize()
Should be called by the derived class before trying to perform the query or to push it in a QueryQueu...
Definition: iquery.h:372
Each instance of this class also maintains a count of the number of elements (or grid cells) containe...
Definition: box2ll.h:24
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23
Each instance of this class uniquely identifies a single NavFloor.
Definition: navfloorrawptr.h:30