21 class WorkingMemArray;
22 class WorkingMemBitField;
25 enum ContourLineEdgeType
27 CONTOUR_LINE_TRIANGLE_DIAGONAL,
28 CONTOUR_LINE_FLOOR_OBSTACLE,
29 CONTOUR_LINE_FLOOR_LINK,
30 CONTOUR_LINE_TAGVOLUME,
38 m_type(CONTOUR_LINE_TRIANGLE_DIAGONAL), m_swap(false) {}
40 ContourLineEdge(
const Vec2i& start,
const Vec2i& end,
KyFloat32 altStart,
KyFloat32 altEnd,
NavHalfEdgeIdx idx, ContourLineEdgeType type = CONTOUR_LINE_TRIANGLE_DIAGONAL) :
41 m_edgePiece(start, end), m_altStart(altStart), m_altEnd(altEnd), m_navHalfEdgeIdx(idx),
42 m_type(type), m_swap(false) {}
44 EdgePoints m_edgePiece;
48 ContourLineEdgeType m_type;
74 static bool IsPointInMiddleOfEdge(
const Vec2i& p,
const Vec2i& a,
const Vec2i& b);
75 static bool IsPointInMiddleOfEdge_NotAligned(
const Vec2i& p,
const Vec2i& a,
const Vec2i& b);
76 static bool IsPointStrictlyInMiddleOfEdge_NotAligned(
const Vec2i& p,
const Vec2i& a,
const Vec2i& b);
81 WorkingMemArray<Vec2i>& halfEdgeIntersectionWithAltMin, WorkingMemArray<Vec2i>& halfEdgeIntersectionWithAltMax, WorkingMemBitField& egdeIntersect);
97 const WorkingMemBitField& m_triangleVsTagVolumeBoxIntersection;
98 const WorkingMemArray<Vec3f>& m_staticFloatVertices;
105 WorkingMemArray<Vec2i>* m_halfEdgeIntersectionWithAltMin;
106 WorkingMemArray<Vec2i>* m_halfEdgeIntersectionWithAltMax;
107 WorkingMemBitField* m_halfEdgeIntersect;
#define KyFloat32MAXVAL
KyFloat32 max value
Definition: types.h:71
2d axis aligned box of 32bits integers. Very Important: CountX() returns m_max.x - m_min...
Definition: box2i.h:17
This class is a runtime wrapper of a NavFloorBlob, it gathers all the runtime information associated ...
Definition: navfloor.h:32
The NavFloorBlob contains a connected and not overlapping part of triangle mesh static data within a ...
Definition: navfloorblob.h:38
KyUInt32 NavHalfEdgeIdx
An index that uniquely identifies a single edge of a triangle within the set of edges owned by a NavF...
Definition: navmeshtypes.h:84
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
This class is a runtime container for all NavData that represents the world from the point of view of...
Definition: database.h:57
Navigation return code class.
Definition: types.h:108
2d vector using KyInt32
Definition: vec2i.h:18
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
KyUInt32 NavVertexIdx
An index that uniquely identifies a single vertex of a triangle within the set of vertices owned by a...
Definition: navmeshtypes.h:72
static const NavHalfEdgeIdx NavHalfEdgeIdx_Invalid
Represents an invalid NavHalfEdgeIdx.
Definition: navmeshtypes.h:85
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16