gwnavruntime/abstractgraph/blobs/abstractgraphfloorgenerator.h Source File

abstractgraphfloorgenerator.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 #ifndef Navigation_AbstractGraphFloorGenerator_H
8 #define Navigation_AbstractGraphFloorGenerator_H
9 
12 
13 
14 namespace Kaim
15 {
16 
17 class NavCellBlob;
18 class AbstractGraphGenerator;
19 class AbstractGraphCellFloorIndices;
20 
21 class AbstractGraphFloorGenerator
22 {
23  KY_DEFINE_NEW_DELETE_OPERATORS(MemStat_NavDataGen)
24 public:
25  AbstractGraphFloorGenerator();
26 
27  void Generate(AbstractGraphGenerator* generator, const NavCellBlob* navCellBlob, KyUInt32 navFloorIdx, KyUInt32 wantedBoundariesType,
28  AbstractGraphCellFloorIndices& graphCellFloorIndices);
29 
30  void ClearAndRelease();
31 
32 public:
33  void GenerateOnCellBoundary(CardinalDir cellBoundaryDir);
34 
35  void CreateNodes(CardinalDir cellBoundaryDir);
36 
37 public:
38  AbstractGraphGenerator* m_generator;
39  const NavCellBlob* m_navCellBlob;
40  KyUInt32 m_originalNavFloorIdx;
41  KyUInt32 m_wantedCellBoundaries;
42 
43  CompactAbstractGraphNodeIdx m_abstractGraphNodeFirstIdx;
44  KyUInt16 m_firstIdxForCellBoundaryDir[4];
45  KyUInt16 m_countForCellBoundaryDir[4];
46  KyArrayPOD<KyFloat32, MemStat_NavDataGen> m_altitudes;
47  KyArrayPOD<AbstractGraphVertex, MemStat_NavDataGen> m_nodeVertices; // Note that nodes are sorted along the Y axis for EAST and WEST cell boundaries, or the X axis for NORTH and SOUTH cell boundaries
48 };
49 
50 }
51 
52 #endif
KyUInt32 CardinalDir
Defines a type that refers to one of the cardinal points on the compass:
Definition: cardinaldir.h:23
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
unsigned short KyUInt16
Type used internally to represent an unsigned 16-bit integer.
Definition: types.h:40
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43