Kaim::PathFinderQueryUtils Class Reference

Kaim::PathFinderQueryUtils Class Reference

#include <pathfinderqueryutils.h>

Class Description

This class is an helper used internally by the PathFinder Queries to factorize Code.

Inherits Kaim::QueryUtils.

Public Attributes

Databasem_database
 The Database taken into account by queries made through this object. Do not modify. More...
 
WorkingMemory * m_workingMemory
 Contains memory buffers used for performing queries and storing results. For internal use. Do not modify. More...
 

Accessors

DatabaseGetDatabase ()
 
WorkingMemory * GetWorkingMemory ()
 
void * GetTraverseLogicUserData ()
 

Update Spatialization

bool FindTriangleFromPositionIfNotValid (NavTrianglePtr &navTrianglePtr, const Vec3f &pos, const PositionSpatializationRange &range)
 if navTrianglePtr is not valid, updates navTrianglePtr with the one spatialied {pos.x, pos.y, pos.z}. More...
 
bool FindTriangleFromPositionIfNotValid (NavTrianglePtr &navTrianglePtr, const Vec3f &pos, const PositionSpatializationRange &range, WorldIntegerPos &outputIntegerPos)
 if navTrianglePtr is not valid, updates navTrianglePtr with the one spatialied {pos.x, pos.y, pos.z}. More...
 
bool FindTriangleFromPositionIfNotValid (NavTrianglePtr &navTrianglePtr, const Vec3f &pos, const WorldIntegerPos &integerPos, const PositionSpatializationRange &range)
 if navTrianglePtr is not valid, updates navTrianglePtr with the one at {integerPos.x, integerPos.y, pos.z}. More...
 
template<class TLogic >
bool IsHalfEdgeCompatibleWithThinCapsule (const NavHalfEdgeRawPtr &halfEdge, ThinCapsuleWithExtentOffset &capsuleParams)
 Check if the specified half edge intersects the specified thin capsule. More...
 

For internal use only

void GetNextHalfEdgeAroundStartVertex (const NavHalfEdgeRawPtr &currentHalfEdge, NavHalfEdgeRawPtr &nextHalfEdge)
 
void GetPrevHalfEdgeAroundDestVertex (const NavHalfEdgeRawPtr &currentHalfEdge, NavHalfEdgeRawPtr &prevHalfEdge)
 
template<class TLogic >
KyResult FindValidPositionFromIntegerIntersection (const Vec3f &collisionPos3f, const NavHalfEdgePtr &halfEdgePtrHit, WorldIntegerPos &arrivalIntegerPos, NavTrianglePtr &arrivalTrianglePtr)
 
template<class TLogic , class BorderHalfEdgeProcessor >
KyResult BrowseAndProcessAllBorderNavHalfEdgeInBox (BorderHalfEdgeProcessor &borderHalfEdgeProcessor)
 

Member Function Documentation

bool Kaim::QueryUtils::FindTriangleFromPositionIfNotValid ( NavTrianglePtr navTrianglePtr,
const Vec3f pos,
const PositionSpatializationRange range 
)
inherited

if navTrianglePtr is not valid, updates navTrianglePtr with the one spatialied {pos.x, pos.y, pos.z}.

Returns
true if the input triangle is valid or if navTrianglePtr was updated, otherwise false.
bool Kaim::QueryUtils::FindTriangleFromPositionIfNotValid ( NavTrianglePtr navTrianglePtr,
const Vec3f pos,
const PositionSpatializationRange range,
WorldIntegerPos outputIntegerPos 
)
inherited

if navTrianglePtr is not valid, updates navTrianglePtr with the one spatialied {pos.x, pos.y, pos.z}.

Returns
true if the input triangle is valid or if navTrianglePtr was updated, otherwise false.
bool Kaim::QueryUtils::FindTriangleFromPositionIfNotValid ( NavTrianglePtr navTrianglePtr,
const Vec3f pos,
const WorldIntegerPos integerPos,
const PositionSpatializationRange range 
)
inherited

if navTrianglePtr is not valid, updates navTrianglePtr with the one at {integerPos.x, integerPos.y, pos.z}.

Returns
true if the input triangle is valid or if navTrianglePtr was updated, otherwise false.
template<class TLogic >
bool Kaim::QueryUtils::IsHalfEdgeCompatibleWithThinCapsule ( const NavHalfEdgeRawPtr halfEdge,
ThinCapsuleWithExtentOffset capsuleParams 
)
inlineinherited

Check if the specified half edge intersects the specified thin capsule.

Member Data Documentation

Database* Kaim::QueryUtils::m_database
inherited

The Database taken into account by queries made through this object. Do not modify.

WorkingMemory* Kaim::QueryUtils::m_workingMemory
inherited

Contains memory buffers used for performing queries and storing results. For internal use. Do not modify.


The documentation for this class was generated from the following files: