gwnavruntime/database/navgraphlinker.h Source File

navgraphlinker.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 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 
8 
9 
10 // primary contact: MAMU - secondary contact: NOBODY
11 #ifndef Navigation_NavGraphLinker_H
12 #define Navigation_NavGraphLinker_H
13 
16 
17 namespace Kaim
18 {
19 
20 class NavGraph;
21 class Database;
22 class NavCellGrid;
23 class GraphVertexData;
24 class TriangleFromPosQuery;
25 
27 // NavGraphLinker
29 
30 /* Used internally by the GraphManager to stitch Graphs together at runtime. */
31 class NavGraphLinker
32 {
33  KY_DEFINE_NEW_DELETE_OPERATORS(Stat_Default_Mem)
34  KY_CLASS_WITHOUT_COPY(NavGraphLinker)
35 
36 public:
37  NavGraphLinker(Database* database) : m_database(database) {}
38  ~NavGraphLinker() { Clear(); }
39 
40  void Clear() {}
41 
42  KyResult LinkNavGraph(NavGraph* navGraph);
43  KyResult UnLinkNavGraph(NavGraph* navGraph);
44 
45  KyResult LinkNavGraphVertex(NavGraph* navGraph, NavGraphVertexIdx vertexIdx, TriangleFromPosQuery& triangleFromPosQuery);
46  KyResult UnLinkNavGraphVertex(GraphVertexData& vertexData);
47 
48 public:
49  Database* m_database;
50 };
51 
52 } // namespace Kaim
53 
54 #endif // Navigation_NavGraphLinker_H
KyUInt32 NavGraphVertexIdx
An index that uniquely identifies a single vertex within the set of vertices owned by a NavGraph...
Definition: navgraphtypes.h:47
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_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137