9 #ifndef Navigation_QueryUtils_H
10 #define Navigation_QueryUtils_H
23 class NavTriangleRawPtr;
25 class NavHalfEdgeRawPtr;
26 class TriangleFromPosAndTriangleSeedQuery;
27 class ThinCapsuleWithExtentOffset;
36 QueryUtils(
Database* database, WorkingMemory* workingMemory,
void* traverseLogicUserData);
37 void Init(
Database* database, WorkingMemory* workingMemory,
void* traverseLogicUserData);
43 void* GetTraverseLogicUserData() {
return m_traverseLogicUserData; }
87 template<
class TraverseLogic>
95 template<
class TraverseLogic>
99 template<
class TLogic,
class BorderHalfEdgeProcessor>
100 KyResult BrowseAndProcessAllBorderNavHalfEdgeInBox(BorderHalfEdgeProcessor& borderHalfEdgeProcessor);
103 class CheckIfCurrentIntegerPositionIsValidParam
115 template<
class TraverseLogic>
116 KyResult CheckIfCurrentIntegerPositionIsValid(
const CheckIfCurrentIntegerPositionIsValidParam& params,
122 void* m_traverseLogicUserData;
135 m_capsuleEndCoordPos = capsuleEndCoordPos;
136 m_capsuleSquareRadius = capsuleSquareRadius;
137 m_recoveryDistance = recoveryDistance;
166 #endif //Navigation_QueryUtils_H
KyInt64 x
The size of the vector along the X axis.
Definition: vec2ll.h:175
CoordPos64 m_capsuleStartCoordPos
lazily compute the offset and returns it
Definition: queryutils.h:165
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
#define KY_NULL
Null value.
Definition: types.h:247
This class defines a two-dimensional vector whose coordinates are stored using 64-bit integers...
Definition: vec2ll.h:27
bool IsHalfEdgeCompatibleWithThinCapsule(const NavHalfEdgeRawPtr &halfEdge, ThinCapsuleWithExtentOffset &capsuleParams)
Check if the specified half edge intersects the specified thin capsule.
Definition: queryutils.inl:25
bool FindTriangleFromPositionIfNotValid(NavTrianglePtr &navTrianglePtr, const Vec3f &pos, const PositionSpatializationRange &positionSpatializationRange)
Checks the validity of the specified triangle.
Database * m_database
The Database taken into account by queries made through this object. Do not modify.
Definition: queryutils.h:134
unsigned __int64 KyUInt64
Type used internally to represent an unsigned 64-bit integer.
Definition: types.h:38
This class is a runtime container for all NavData that represents the world from the point of view of...
Definition: database.h:64
The TriangleFromPosAndTriangleSeedQuery class finds the nearest triangle in the NavMesh that covers t...
Definition: trianglefromposandtriangleseedquery.h:47
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
WorkingMemory * m_workingMemory
Contains memory buffers used for performing queries and storing results. For internal use...
Definition: queryutils.h:135
Utilities for dealing with NavData coordinates, which are expressed in a world space based on integer...
Definition: worldintegerpos.h:21
PerformQueryStat
Definition: iquery.h:66
This class is an helper used internally by the Queries to factorize Code that is used in many Queries...
Definition: queryutils.h:30
KyInt64 GetSquareLength() const
Returns the square of the magnitude of the vector.
Definition: vec2ll.h:145
Each instance of this class uniquely identifies a single NavHalfEdge in a NavFloor.
Definition: navhalfedgeptr.h:19
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor.
Definition: navtriangleptr.h:22
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
#define KyInt64MAXVAL
The maximum value that can be stored in the KyInt64 variable type.
Definition: types.h:234
Particuliar class used to represent the ThinCapsule for QueryUtils::IsHalfEdgeCompatibleWithThinCapsu...
Definition: queryutils.h:143
Each instance of this class uniquely identifies a singleNavHalfEdge in a NavFloor.
Definition: navhalfedgerawptr.h:34
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23