23 class BoundaryGraphBlobVertex
27 BoundaryPos m_boundaryPos;
31 BoundaryVertexStaticStatus m_staticStatus;
34 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlobVertex& self)
36 SwapEndianness(e,
self.m_boundaryPos);
37 SwapEndianness(e,
self.m_altitude);
40 SwapEndianness(e,
self.m_ins[i]);
43 SwapEndianness(e,
self.m_outs[i]);
45 SwapEndianness(e,
self.m_staticStatus);
46 SwapEndianness(e,
self.m_index);
50 class BoundaryGraphBlobSimplifyPolyline
57 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlobSimplifyPolyline& self)
59 SwapEndianness(e,
self.m_cycle);
60 SwapEndianness(e,
self.m_vertices);
64 class BoundaryGraphBlobEdge
68 void SetBoundaryEdgeType(BoundaryEdgeType type) { m_type = (
KyUInt32)type; }
69 BoundaryEdgeType GetBoundaryEdgeType()
const {
return (BoundaryEdgeType)m_type; }
81 SwapEndianness(e,
self.m_dir);
82 SwapEndianness(e,
self.m_type);
83 SwapEndianness(e,
self.m_vertex[0]);
84 SwapEndianness(e,
self.m_vertex[1]);
85 SwapEndianness(e,
self.m_next);
86 SwapEndianness(e,
self.m_pair);
87 SwapEndianness(e,
self.m_index);
91 class BoundaryGraphBlobContour
97 ContourWinding m_type;
98 PixelColor m_leftColor;
101 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlobContour& self)
103 SwapEndianness(e,
self.m_edgeCount);
104 SwapEndianness(e,
self.m_begin);
105 SwapEndianness(e,
self.m_type);
106 SwapEndianness(e,
self.m_leftColor);
107 SwapEndianness(e,
self.m_index);
111 class BoundaryGraphBlobPolygon
115 PixelColor m_leftColor;
118 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlobPolygon& self)
120 SwapEndianness(e,
self.m_leftColor);
121 SwapEndianness(e,
self.m_contours);
125 class BoundaryGraphBlobSimplifiedHalfEdge
130 void SetBoundaryEdgeType(BoundaryEdgeType type) { m_type = (
KyUInt32)type; }
131 BoundaryEdgeType GetBoundaryEdgeType()
const {
return (BoundaryEdgeType)m_type; }
140 inline void SwapEndianness(
Endianness::Target e, BoundaryGraphBlobSimplifiedHalfEdge&
self)
142 SwapEndianness(e,
self.m_type);
143 SwapEndianness(e,
self.m_vertex[0]);
144 SwapEndianness(e,
self.m_vertex[1]);
145 SwapEndianness(e,
self.m_next);
146 SwapEndianness(e,
self.m_pair);
147 SwapEndianness(e,
self.m_index);
151 class BoundaryGraphBlobSimplifiedContour
157 ContourWinding m_winding;
158 PixelColor m_leftColor;
161 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlobSimplifiedContour& self)
163 SwapEndianness(e,
self.m_edgeCount);
164 SwapEndianness(e,
self.m_begin);
165 SwapEndianness(e,
self.m_winding);
166 SwapEndianness(e,
self.m_leftColor);
167 SwapEndianness(e,
self.m_index);
171 class BoundaryGraphBlobSimplifiedPolygon
175 PixelColor m_leftColor;
176 BlobArray<
KyUInt32> m_simplifiedContours;
178 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlobSimplifiedPolygon& self)
180 SwapEndianness(e,
self.m_leftColor);
181 SwapEndianness(e,
self.m_simplifiedContours);
185 class BoundaryGraphBlob
188 KY_ROOT_BLOB_CLASS(Generator, BoundaryGraphBlob, 2)
191 typedef BoundaryGraphBlobVertex Vertex;
192 typedef BoundaryGraphBlobEdge Edge;
193 typedef BoundaryGraphBlobContour Contour;
194 typedef BoundaryGraphBlobPolygon Polygon;
195 typedef BoundaryGraphBlobSimplifyPolyline SimplifyPolyline;
196 typedef BoundaryGraphBlobSimplifiedHalfEdge SimplifiedHalfEdge;
197 typedef BoundaryGraphBlobSimplifiedContour SimplifiedContour;
198 typedef BoundaryGraphBlobSimplifiedPolygon SimplifiedPolygon;
202 PixelAndCellGrid m_pixelAndCellGrid;
204 BlobArray<Vertex> m_vertices;
205 BlobArray<Edge> m_edges;
206 BlobArray<Contour> m_contours;
207 BlobArray<Polygon> m_polygons;
208 BlobArray<SimplifyPolyline> m_simplifyPolylines;
209 BlobArray<SimplifiedHalfEdge> m_simplifiedEdges;
210 BlobArray<SimplifiedContour> m_simplifiedContours;
211 BlobArray<SimplifiedPolygon> m_simplifiedPolygons;
213 inline
void SwapEndianness(Endianness::Target e, BoundaryGraphBlob& self)
215 SwapEndianness(e,
self.m_rasterPrecision);
216 SwapEndianness(e,
self.m_pixelAndCellGrid);
217 SwapEndianness(e,
self.m_cellDesc);
218 SwapEndianness(e,
self.m_vertices);
219 SwapEndianness(e,
self.m_edges);
220 SwapEndianness(e,
self.m_contours);
221 SwapEndianness(e,
self.m_polygons);
222 SwapEndianness(e,
self.m_simplifyPolylines);
223 SwapEndianness(e,
self.m_simplifiedEdges);
224 SwapEndianness(e,
self.m_simplifiedContours);
225 SwapEndianness(e,
self.m_simplifiedPolygons);
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
KyUInt32 CardinalDir
Defines a type that refers to one of the cardinal points on the compass:
Definition: cardinaldir.h:15
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32