gwnavruntime/queries/insideposfromoutsideposquery.h Source File

insideposfromoutsideposquery.h
Go to the documentation of this file.
1 /*
2  * Copyright 2016 Autodesk, Inc. All rights reserved.
3  * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4  * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5  */
6 
7 #pragma once
8 
13 
14 namespace Kaim
15 {
16 
33 template <class TraverseLogic>
35 {
36 public:
37  // ------------------------------ Functions -----------------------------
38 
39  virtual void Advance(WorkingMemory* workingMemory)
40  {
41  PerformQuery(workingMemory);
42  m_processStatus = QueryDone;
43  }
44 
46  void PerformQuery(WorkingMemory* workingMemory = nullptr);
47 
48 public: // internal
49  void PerformQueryWithInputCoordPos(WorkingMemory* workingMemory);
50 
51  KyResult RetrieveNearestBorderHalfEdge(WorkingMemory* workingMemory, NavHalfEdgeRawPtr& borderHalfEdgeRawPtr, NavHalfEdgeRawPtr& prevBorderHalfEdgeRawPtr,
52  NavHalfEdgeRawPtr& nextBorderHalfEdgeRawPtr, Vec3f& posOnBorderEdge, WorldIntegerPos& integerPosOnBorderEdge);
53 
54  KyResult RetrieveBorderHalfEdgeWithRayCast(WorkingMemory* workingMemory, NavHalfEdgeRawPtr& borderHalfEdgeRawPtr, NavHalfEdgeRawPtr& prevBorderHalfEdgeRawPtr,
55  NavHalfEdgeRawPtr& nextBorderHalfEdgeRawPtr, Vec3f& posOnBorderEdge, WorldIntegerPos& integerPosOnBorderEdge);
56 };
57 }
58 
Base class for InsidePosFromOutsidePosQuery.
Definition: baseinsideposfromoutsideposquery.h:38
QueryProcessStatus m_processStatus
Modified by the query within Advance(). Do not modify.
Definition: iquery.h:231
Navigation return code class.
Definition: types.h:108
virtual void Advance(WorkingMemory *workingMemory)
This function is called by the QueryQueue to process one step on the query.
Definition: insideposfromoutsideposquery.h:39
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
Utilities for dealing with NavData coordinates, which are expressed in a world space based on integer...
Definition: worldintegerpos.h:19
void PerformQuery(WorkingMemory *workingMemory=nullptr)
If workingMemory param is nullptr, m_database.GetWorkingMemory() will be used.
Definition: insideposfromoutsideposquery.inl:10
The InsidePosFromOutsidePosQuery class finds a valid position inside the boundaries of the NavMesh...
Definition: insideposfromoutsideposquery.h:34
Each instance of this class uniquely identifies a single NavHalfEdge in a NavFloor.
Definition: navhalfedgerawptr.h:23
3d vector using 32bits floating points.
Definition: vec3f.h:16