23 template<
class TraverseLogic>
56 void SetSamplingDistance(
KyFloat32 samplingDistance);
66 virtual void Advance(WorkingMemory* workingMemory);
69 void PerformQuery(WorkingMemory* workingMemory =
nullptr);
76 const Vec3f& GetVisibilityStartPoint()
const;
82 CandidateValidationResult ValidateCandidate(
90 class PositionOnPathWorkingMemArray
93 PositionOnPathWorkingMemArray() {}
97 m_array.Init(workingMemory);
99 if (m_array.IsInitialized() ==
false)
102 return m_array.SetMinimumCapacity(capacity);
105 KyResult PushBack(
const PositionOnPath& positionOnPath)
107 return m_array.PushBack(InternalPositionOnPath(positionOnPath));
110 void GetPositionOnPath(
KyUInt32 index, PositionOnPath& positionOnPath)
const
112 m_array[index].CopyToPositionOnPath(positionOnPath);
115 KyUInt32 GetCount()
const {
return m_array.GetCount(); }
118 class InternalPositionOnPath
121 InternalPositionOnPath(
const PositionOnPath& positionOnPath)
123 positionOnPath.GetRawValues(m_path, m_position, m_onPathStatus, m_currentIndexOnPath, m_distanceToEndOfPath);
126 void CopyToPositionOnPath(PositionOnPath& positionOnPath)
const
128 positionOnPath.SetRawValues(m_path, m_position, m_onPathStatus, m_currentIndexOnPath, m_distanceToEndOfPath);
138 WorkingMemArray<InternalPositionOnPath> m_array;
FindFirstVisiblePositionOnPathQueryResult
Enumerates the possible results of a FindFirstVisiblePositionOnPathQuery.
Definition: basefindfirstvisiblepositiononpathquery.h:19
Base class for FindFirstVisiblePositionOnPathQuery.
Definition: basefindfirstvisiblepositiononpathquery.h:34
virtual void Advance(WorkingMemory *workingMemory)
This function is called by the QueryQueue to process one step on the query.
Definition: findfirstvisiblepositiononpathquery.inl:76
This class aggregates all necessary information about a position on a Path.
Definition: positiononpath.h:29
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
void SetRayCanGoMarginMode(RayCanGoMarginMode rayCanGoMarginMode)
Sets the RayCanGoMarginMode value to be used in the ray can go queries.
Definition: findfirstvisiblepositiononpathquery.inl:39
PositionOnPathStatus
< enumerates="" the="" different="" status="" an="" objectpositiononpath="" can="" have="" on="" its="" path.="" />
Definition: positiononpath.h:17
void PerformQuery(WorkingMemory *workingMemory=nullptr)
If workingMemory param is nullptr, m_database.GetWorkingMemory() will be used.
Definition: findfirstvisiblepositiononpathquery.inl:83
void SetVisibilityStartTrianglePtr(const NavTrianglePtr &visibilityStartTrianglePtr)
Set The NavMesh triangle that corresponds to m_visibilityStartPos3f.
Definition: findfirstvisiblepositiononpathquery.inl:30
The RayCanGoQuery tests if a ray can go from start to dest on the navmesh.
Definition: raycangoquery.h:20
This class is a runtime container for all NavData that represents the world from the point of view of...
Definition: database.h:57
RayCanGoMarginMode
Defines the different mode for the NavMesh border margin to be used in RayCanGo queries.
Definition: database.h:37
DisplayList is used to push text, lines or shapes for rendering in the NavigationLab e...
Definition: displaylist.h:128
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define KY_ERROR
use result == KY_ERROR to test for error
Definition: types.h:132
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor.
Definition: navtriangleptr.h:17
The FindFirstVisiblePositionOnPathQuery class searches for a PositionOnPath that can be reached from ...
Definition: findfirstvisiblepositiononpathquery.h:24
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
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16
void BindToDatabase(Database *database)
Binds the query with the specified Database, clears all the inputs and outputs and sets all other par...
Definition: findfirstvisiblepositiononpathquery.inl:17