14 class DynamicNavFloor;
16 class NavFloor1To1StitchDataBlob;
17 class NavFloor1To1StitchDataBlobBuilder;
18 class Stitch1To1ToHalfEdgeInFloor;
20 class DynamicNavVertex;
23 class NavFloorBlobBuilder :
public BaseBlobBuilder<NavFloorBlob>
27 NavFloorBlobBuilder(const DynamicNavFloor& dynamicNavFloor, const NavFloor1To1StitchDataBlob* floor1To1StitchData,
bool hasDifferentLinkFromStitch1To1Edge) :
28 m_dynamicNavFloor(&dynamicNavFloor), m_floor1To1StitchData(floor1To1StitchData), m_hasDifferentLinkFromStitch1To1Edge(hasDifferentLinkFromStitch1To1Edge) {}
31 virtual void DoBuild();
33 void WriteNavHalfEdges(NavHalfEdge* edges,
KyUInt32 numberOfTriangles)
const;
34 void ComputeNavFloorAABB(
KyUInt32 numberOfVertices);
36 const DynamicNavFloor* m_dynamicNavFloor;
37 const NavFloor1To1StitchDataBlob* m_floor1To1StitchData;
38 bool m_hasDifferentLinkFromStitch1To1Edge;
41 class NavFloor1To1StitchDataBlobBuilder :
public BaseBlobBuilder<NavFloor1To1StitchDataBlob>
45 NavFloor1To1StitchDataBlobBuilder(const DynamicNavFloor& dynamicNavFloor) :
46 m_dynamicNavFloor(&dynamicNavFloor) {}
49 virtual void DoBuild();
50 void PushVertex(
const DynamicNavVertex& vertex, NavVertex* navVerticesBuffer,
KyFloat32* navVertexAltitudesBuffer,
KyUInt32 currentVertexIdx);
53 KY_ASSERT(startVertexIdx !=
KyUInt32MAXVAL && ((startVertexIdx & 0xFFF00000) == 0));
54 KY_ASSERT(endVertexIdx !=
KyUInt32MAXVAL && ((endVertexIdx & 0xFFF00000) == 0));
56 edgeData |= startVertexIdx;
57 edgeData |= (endVertexIdx << 12);
58 edgeData |= (edgeType << 29);
61 const DynamicNavFloor* m_dynamicNavFloor;
65 class Stitch1To1ToHalfEdgeInFloorBlobBuilder :
public BaseBlobBuilder<Stitch1To1ToHalfEdgeInFloor>
69 Stitch1To1ToHalfEdgeInFloorBlobBuilder(const DynamicNavFloor* dynamicNavFloor, const NavFloor1To1StitchDataBlob* floor1To1StitchData,
70 bool hasDifferentLinkFromStitch1To1Edge) :
71 m_dynamicNavFloor(dynamicNavFloor), m_floor1To1StitchDataBlob(floor1To1StitchData), m_hasDifferentLinkFromStitch1To1Edge(hasDifferentLinkFromStitch1To1Edge) {}
74 virtual void DoBuild();
77 const DynamicNavFloor* m_dynamicNavFloor;
78 const NavFloor1To1StitchDataBlob* m_floor1To1StitchDataBlob;
79 bool m_hasDifferentLinkFromStitch1To1Edge;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
float KyFloat32
float
Definition: types.h:32