#include <navfloorblob.h>
The NavFloorBlob contains a connected and not overlapping part of triangle mesh static data within a NavCellBlob.
NavTriangles are implicitly defined by three consecutive NavHalfEdge in m_navHalfEdges, there is no explicit NavTriangle class. A NavTag is associated to each NavTriangle
Public Attributes | |
BlobArray< CompactNavConnexIdx > | m_triangleConnexIndices |
The array of CompactNavConnexIdx associated to each triangle. GetCount() == GetTriangleCount(). Do not modify. More... | |
BlobArray< NavTag > | m_connexNavTag |
The array of NavTag associated to each NavConnex. GetCount() == GetConnexCount(). Do not modify. More... | |
BlobArray< NavHalfEdge > | m_navHalfEdges |
The array of triangle edges maintained by the NavFloorBlob. GetCount() == GetHalfEdgeCount(). Do not modify. More... | |
BlobArray< NavVertex > | m_navVertices |
The array of triangle vertices maintained by the NavFloorBlob. GetCount() == GetVertexCount(). Do not modify. More... | |
BlobArray< KyFloat32 > | m_navVerticesAltitudes |
The array of triangle vertices altitude maintained by the NavFloorBlob. GetCount() == GetVertexCount(). Do not modify. More... | |
FloorAltitudeRange | m_altitudeRange |
The range of altitude the vertices of this NavFloor are within. More... | |
NavFloorAABB | m_navFloorAABB |
An axis-oriented bounding box that stores the extents of this NavFloorBlob. More... | |
static member functions | |
static NavTriangleIdx | NavHalfEdgeIdxToTriangleIdx (NavHalfEdgeIdx idx) |
Retrieves the index of the triangle that contains the edge specified the input NavHalfEdgeIdx. More... | |
static NavHalfEdgeIdx | NavTriangleIdxToFirstNavHalfEdgeIdx (NavTriangleIdx idx) |
Retrieves the first NavHalfEdgeIdx of NavTriangle specified by the input NavTriangleIdx. More... | |
static NavHalfEdgeIdx | NavHalfEdgeIdxToFirstNavHalfEdgeIdx (NavHalfEdgeIdx idx) |
Retrieves the first NavHalfEdgeIdx of NavTriangle thet contains the edge specified by the input NavHalfEdgeIdx. More... | |
static NavHalfEdgeIdx | NavHalfEdgeIdxToNextNavHalfEdgeIdx (NavHalfEdgeIdx idx) |
Retrieves the triangle NavHalfEdgeIdx that follows the edge specified the input NavHalfEdgeIdx within its triangle. More... | |
static NavHalfEdgeIdx | NavHalfEdgeIdxToPrevNavHalfEdgeIdx (NavHalfEdgeIdx idx) |
Retrieves the triangle NavHalfEdgeIdx that precedes the edge specified the input NavHalfEdgeIdx within its triangle. More... | |
static NavHalfEdgeIdx | NavTriangleIdxToNavHalfEdgeIdx (NavTriangleIdx idx, KyInt32 halfEdgeNumber) |
Retrieves one edge from the specified triangle. More... | |
static KyUInt32 | NavHalfEdgeIdxToHalfEdgeNumberInTriangle (NavHalfEdgeIdx idx) |
Retrieves the index of the specified edge within its triangle. More... | |
accessors | |
KyUInt32 | GetNavVertexCount () const |
KyUInt32 | GetNavHalfEdgeCount () const |
KyUInt32 | GetNavTriangleCount () const |
const FloorAltitudeRange & | GetFloorAltitudeRange () const |
const NavTag & | GetNavTag (NavTriangleIdx navTriangleIdx) const |
Retrieves the NavTag associated to this triangle. More... | |
const NavVertex & | GetNavVertex (const NavVertexIdx idx) const |
Retrieves the vertex with the specified index within this NavFloorBlob. More... | |
const NavHalfEdge & | GetNavHalfEdge (NavHalfEdgeIdx idx) const |
Retrieves the triangle edge with the specified index within this NavFloorBlob. More... | |
KyFloat32 | GetNavVertexAltitude (const NavVertexIdx idx) const |
Retrieves the altitude of the vertex with the specified index within this NavFloorBlob. More... | |
NavHalfEdgeType | GetHalfEdgeType (NavHalfEdgeIdx idx) const |
Retrieves the type of the specified triangle edge. More... | |
NavHalfEdgeObstacleType | GetHalfEdgeObstacleType (NavHalfEdgeIdx idx) const |
Retrieves the obstacle type of the specified triangle edge. More... | |
function to browse the NavFloorBlob data structure | |
const NavVertex & | NavHalfEdgeIdxToStartNavVertex (NavHalfEdgeIdx idx) const |
Retrieves the vertex at the start of the specified triangle edge. More... | |
NavVertexIdx | NavHalfEdgeIdxToStartNavVertexIdx (NavHalfEdgeIdx idx) const |
Retrieves the index of the vertex at the start of the specified triangle edge. More... | |
const NavVertex & | NavHalfEdgeIdxToEndNavVertex (NavHalfEdgeIdx idx) const |
Retrieves the vertex at the end of the specified triangle edge. More... | |
NavVertexIdx | NavHalfEdgeIdxToEndNavVertexIdx (NavHalfEdgeIdx idx) const |
Retrieves the index of the vertex at the end of the specified triangle edge. More... | |
const NavVertex & | NavHalfEdgeIdxToThirdNavVertex (NavHalfEdgeIdx idx) const |
Retrieves the vertex in the triangle that is not connected to the specified triangle edge. More... | |
NavVertexIdx | NavHalfEdgeIdxToThirdNavVertexIdx (NavHalfEdgeIdx idx) const |
Retrieves the index of the vertex in the triangle that is not connected to the specified triangle edge. More... | |
const NavHalfEdge & | NavHalfEdgeIdxToPairNavHalfEdge (NavHalfEdgeIdx idx) const |
Retrieves the triangle edge that is adjacent to the specified triangle edge, if any. More... | |
NavHalfEdgeIdx | NavHalfEdgeIdxToPairNavHalfEdgeIdx (NavHalfEdgeIdx idx) const |
Retrieves the index of the triangle edge that is adjacent to the specified triangle edge, if any. More... | |
const NavHalfEdge & | NavHalfEdgeIdxToNextNavHalfEdge (NavHalfEdgeIdx idx) const |
Retrieves the edge that follows the specified triangle edge within its triangle. More... | |
const NavHalfEdge & | NavHalfEdgeIdxToPrevNavHalfEdge (NavHalfEdgeIdx idx) const |
Retrieves the edge that precedes the specified triangle edge within its triangle. More... | |
const NavHalfEdge & | NavTriangleIdxToNavHalfEdge (NavTriangleIdx idx, const KyInt32 halfEdgeNumber) const |
Retrieves one edge from the specified triangle. More... | |
void | NavTriangleIdxToNavVertexIndices (NavTriangleIdx triangleIdx, NavVertexIdx &v0Idx, NavVertexIdx &v1Idx, NavVertexIdx &v2Idx) const |
Retrieves the indices of the vertices that make up the specified triangle. More... | |
const NavVertex & | NavTriangleIdxToNavVertex (NavTriangleIdx idx, const KyInt32 vertexNumber) const |
Retrieves one vertex from the specified triangle. More... | |
NavVertexIdx | NavTriangleIdxToVertexIdx (NavTriangleIdx idx, const KyInt32 vertexNumber) const |
Retrieves the index of one vertex from the specified triangle. More... | |
geometrical test | |
bool | IsPointInsideFloor (const CoordPos64 &coordPos64, const CoordPos64 &cellOrigin) const |
Indicates whether or not the specified position lies inside the bounding box of the NavFloorBlob on the (X,Y) plane. For internal use. More... | |
bool | IsPointInsideFloor (const CoordPos &coordPosInCell) const |
Indicates whether or not the specified position lies inside the bounding box of the NavFloorBlob on the (X,Y) plane. For internal use. More... | |
For internal use only | |
KyUInt32 | GetNavConnexCount () const |
NavConnexIdx | NavTriangleIdxToNavConnexIdx (NavTriangleIdx idx) const |
Retrieves the index of the NavConnex associated to the triangle specified by the input NavTriangleIdx. More... | |
bool | IsValid () const |
performs some basic tests on static data. For internal debug purpose. More... | |
bool | IsTriangleValid (NavTriangleIdx idx) const |
performs some basic tests on static data. For internal debug purpose. More... | |
bool | IsHalfEdgeValid (NavHalfEdgeIdx currentEdgeIdx, const Vec2i &v1, const Vec2i &v2) const |
KyUInt32 | GetNavFloorLinkCount () const |
KyUInt32 | GetStitch1To1EdgeCount () const |
|
inline |
Retrieves the obstacle type of the specified triangle edge.
|
inline |
Retrieves the type of the specified triangle edge.
|
inline |
Retrieves the triangle edge with the specified index within this NavFloorBlob.
|
inline |
Retrieves the NavTag associated to this triangle.
|
inline |
Retrieves the vertex with the specified index within this NavFloorBlob.
|
inline |
Retrieves the altitude of the vertex with the specified index within this NavFloorBlob.
|
inline |
Indicates whether or not the specified position lies inside the bounding box of the NavFloorBlob on the (X,Y) plane. For internal use.
|
inline |
Indicates whether or not the specified position lies inside the bounding box of the NavFloorBlob on the (X,Y) plane. For internal use.
bool Kaim::NavFloorBlob::IsTriangleValid | ( | NavTriangleIdx | idx | ) | const |
performs some basic tests on static data. For internal debug purpose.
function to test if a navTriangle is valid TODO : maybe the function should be moved elsewhere...
bool Kaim::NavFloorBlob::IsValid | ( | ) | const |
performs some basic tests on static data. For internal debug purpose.
|
inline |
Retrieves the vertex at the end of the specified triangle edge.
|
inline |
Retrieves the index of the vertex at the end of the specified triangle edge.
|
inlinestatic |
Retrieves the first NavHalfEdgeIdx of NavTriangle thet contains the edge specified by the input NavHalfEdgeIdx.
|
inlinestatic |
Retrieves the index of the specified edge within its triangle.
|
inline |
Retrieves the edge that follows the specified triangle edge within its triangle.
|
inlinestatic |
Retrieves the triangle NavHalfEdgeIdx that follows the edge specified the input NavHalfEdgeIdx within its triangle.
|
inline |
Retrieves the triangle edge that is adjacent to the specified triangle edge, if any.
|
inline |
Retrieves the index of the triangle edge that is adjacent to the specified triangle edge, if any.
|
inline |
Retrieves the edge that precedes the specified triangle edge within its triangle.
|
inlinestatic |
Retrieves the triangle NavHalfEdgeIdx that precedes the edge specified the input NavHalfEdgeIdx within its triangle.
|
inline |
Retrieves the vertex at the start of the specified triangle edge.
|
inline |
Retrieves the index of the vertex at the start of the specified triangle edge.
|
inline |
Retrieves the vertex in the triangle that is not connected to the specified triangle edge.
|
inline |
Retrieves the index of the vertex in the triangle that is not connected to the specified triangle edge.
|
inlinestatic |
Retrieves the index of the triangle that contains the edge specified the input NavHalfEdgeIdx.
|
inlinestatic |
Retrieves the first NavHalfEdgeIdx of NavTriangle specified by the input NavTriangleIdx.
|
inline |
Retrieves the index of the NavConnex associated to the triangle specified by the input NavTriangleIdx.
|
inline |
Retrieves one edge from the specified triangle.
idx | The index of the triangle whose edge is to be retrieved. |
halfEdgeNumber | The index of the edge to retrieve within the triangle. May be 0, 1 or 2. |
|
inlinestatic |
Retrieves one edge from the specified triangle.
idx | The index of the triangle whose edge is to be retrieved. |
halfEdgeNumber | The index of the edge to retrieve within the triangle. May be 0, 1 or 2. |
|
inline |
Retrieves one vertex from the specified triangle.
idx | The index of the triangle whose edge is to be retrieved. |
vertexNumber | The index of the vertex to retrieve within the triangle. May be 0, 1 or 2. |
|
inline |
Retrieves the indices of the vertices that make up the specified triangle.
triangleIdx | The index of the triangle whose vertices are to be retrieved. | |
[out] | v0Idx | The index of the first vertex in the triangle. |
[out] | v1Idx | The index of the second vertex in the triangle. |
[out] | v2Idx | The index of the third vertex in the triangle. |
|
inline |
Retrieves the index of one vertex from the specified triangle.
idx | The index of the triangle whose edge is to be retrieved. |
vertexNumber | The index of the vertex to retrieve within the triangle. May be 0, 1 or 2. |
FloorAltitudeRange Kaim::NavFloorBlob::m_altitudeRange |
The range of altitude the vertices of this NavFloor are within.
BlobArray<NavTag> Kaim::NavFloorBlob::m_connexNavTag |
The array of NavTag associated to each NavConnex. GetCount() == GetConnexCount(). Do not modify.
NavFloorAABB Kaim::NavFloorBlob::m_navFloorAABB |
An axis-oriented bounding box that stores the extents of this NavFloorBlob.
BlobArray<NavHalfEdge> Kaim::NavFloorBlob::m_navHalfEdges |
The array of triangle edges maintained by the NavFloorBlob. GetCount() == GetHalfEdgeCount(). Do not modify.
BlobArray<NavVertex> Kaim::NavFloorBlob::m_navVertices |
The array of triangle vertices maintained by the NavFloorBlob. GetCount() == GetVertexCount(). Do not modify.
The array of triangle vertices altitude maintained by the NavFloorBlob. GetCount() == GetVertexCount(). Do not modify.
BlobArray<CompactNavConnexIdx> Kaim::NavFloorBlob::m_triangleConnexIndices |
The array of CompactNavConnexIdx associated to each triangle. GetCount() == GetTriangleCount(). Do not modify.