gwnavruntime/queries/pathfrompolylinequery.h Source File

pathfrompolylinequery.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 
12 #include "gwnavruntime/path/path.h"
15 
16 namespace Kaim
17 {
18 
19 template<class TraverseLogic>
20 class PathFromPolylineQuery : public BasePathFromPolylineQuery
21 {
22 public:
23 
24  // ------------------------------ Functions -----------------------------
25 
26  PathFromPolylineQuery();
27  virtual ~PathFromPolylineQuery();
28 
29  // ---------------------------------- Functions to set up the query ----------------------------------
30 
34  void BindToDatabase(Database* database);
35 
39  void Initialize(const Vec3f* vertexBuffer, KyUInt32 vertexCount);
40 
41  // ---------------------------------- write accessors for query parameters ----------------------------------
42 
45  void SetPositionSpatializationRange(const PositionSpatializationRange& positionSpatializationRange);
46 
47  // ---------------------------------- Query framework functions ----------------------------------
48 
51  virtual void Advance(WorkingMemory* workingMemory);
52 
53  virtual void ReleaseWorkingMemoryOnCancelDuringProcess(WorkingMemory* workingMemory = nullptr);
54 
55  // ---------------------------------- Accessors ----------------------------------
56  PathFromPolylineQueryResult GetResult() const;
57  Path* GetPath() const;
58  const Vec3f& GetStartPos() const;
59  const KyArrayPOD<Vec3f>& GetPolyline() const;
60 
61  const PositionSpatializationRange& GetPositionSpatializationRange() const;
62 
63 public: // internal
64  KyResult FirstStepOfClamperContextInit(WorkingMemory* workingMemory);
65  KyResult PathClamperContextInitStep(WorkingMemory* workingMemory);
66 
67 protected:
68  void SetFinish(WorkingMemory* workingMemory);
69 
70  KyResult CheckNavDataChangeAfterTraversal(WorkingMemory* workingMemory);
71  bool HasExplorationReachedDestNode();
72 };
73 
74 }
75 
77 
78 
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
PathFromPolylineQueryResult
Enumerates the possible results of an PathFromPolylineQuery.
Definition: basepathfrompolylinequery.h:23
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17