gwnavgeneration/boundary/boundarysimplifiedpolygon.h Source File
Go to the documentation of this file.
12 #ifndef GwNavGen_BoundarySimplifiedPolygon_H
13 #define GwNavGen_BoundarySimplifiedPolygon_H
26 class BoundarySimplifiedContour;
27 class BoundarySimplifiedEdge;
28 class DynamicNavHalfEdge;
30 class BoundarySimplifiedPolygon
34 BoundarySimplifiedPolygon() : m_leftColor(PixelColor_Unset) {}
37 PixelColor m_leftColor;
38 KyArrayTLS_POD<BoundarySimplifiedContour*> m_simplifiedContours;
41 class BoundarySimplifiedContour
45 BoundarySimplifiedContour();
47 void Init(
KyUInt32 index, PixelColor leftColor,
KyUInt32 leftNavTagIdx, BoundarySimplifiedPolygon* polygon);
48 void PushEdge(BoundarySimplifiedEdge* edge);
53 BoundarySimplifiedEdge* m_begin;
54 BoundarySimplifiedEdge* m_last;
55 ContourWinding m_winding;
56 PixelColor m_leftColor;
58 BoundarySimplifiedPolygon* m_polygon;
62 class BoundarySimplifiedEdge
66 enum BoundarySimplifiedEdge_Status
68 BoundarySimplifiedEdge_ACTIVE,
69 BoundarySimplifiedEdge_DISCARDED
72 BoundarySimplifiedEdge();
74 void Init(
KyUInt32 index, BoundaryEdge* firstEdge, BoundaryEdge* lastEdge, BoundarySimplifiedContour* contour);
78 BoundaryEdgeType m_edgeType;
79 BoundaryEdge* m_firstEdge;
80 BoundaryEdge* m_lastEdge;
81 BoundaryVertex* m_vertex[2];
82 PixelColor m_leftColor;
84 BoundarySimplifiedContour* m_contour;
85 BoundarySimplifiedEdge* m_pair;
86 BoundarySimplifiedEdge* m_next;
87 KyFloat32 m_accumulatedInteriorPixelError;
88 KyFloat32 m_accumulatedExteriorPixelError;
90 BoundarySimplifiedEdge_Status m_status;
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
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