12 #ifndef GwNavGen_BoundaryGraphBlobVisualGeometryBuilder_H
13 #define GwNavGen_BoundaryGraphBlobVisualGeometryBuilder_H
24 class VisualGeometryBuilder;
25 class BoundaryGraphBlob;
26 class BoundaryGraphBlobVertex;
27 class BoundaryGraphBlobEdge;
28 class BoundaryGraphBlobContour;
29 class BoundaryGraphBlobPolygon;
30 class BoundaryGraphBlobSimplifyPolyline;
31 class BoundaryGraphBlobSimplifiedHalfEdge;
32 class BoundaryGraphBlobSimplifiedContour;
33 class BoundaryGraphBlobSimplifiedPolygon;
37 class BoundaryGraphBlobVisualGeometryBuilder :
public IVisualGeometryBuilder
40 typedef BoundaryGraphBlobVertex VertexBlob;
41 typedef BoundaryGraphBlobEdge EdgeBlob;
42 typedef BoundaryGraphBlobContour ContourBlob;
43 typedef BoundaryGraphBlobPolygon PolygonBlob;
44 typedef BoundaryGraphBlobSimplifyPolyline SimplifyPolylineBlob;
45 typedef BoundaryGraphBlobSimplifiedHalfEdge SimplifiedEdgeBlob;
46 typedef BoundaryGraphBlobSimplifiedContour SimplifiedContourBlob;
47 typedef BoundaryGraphBlobSimplifiedPolygon SimplifiedPolygonBlob;
62 m_polygonColor(PixelColor_Unset), m_contourWinding(ContourWinding_Unset), m_polygonIdx(0) {}
65 PixelColor m_polygonColor;
66 ContourWinding m_contourWinding;
71 BoundaryGraphBlobVisualGeometryBuilder(BoundaryGraphBlob* boundaryGraphBlob);
73 void SetEdgeColorScheme(EdgeColorScheme edgeColorScheme);
75 virtual void DoBuild();
78 Vec3f GetVertexPos(
const VertexBlob& vertex);
80 void BuildStaticVerticesGeometry(VisualColor color);
81 void BuildNarrowVerticesGeometry(VisualColor color);
83 void BuildEdgeGeometry(
const EdgeBlob& edge, EdgeVisualInfo& edgeVisualInfo);
84 void BuildContourGeometry(
const ContourBlob& contour, EdgeVisualInfo& edgeVisualInfo);
85 void BuildPolygonsGeometry();
87 void BuildSimplifiedEdgeGeometry(
const SimplifiedEdgeBlob& simplifiedEdge, EdgeVisualInfo& edgeVisualInfo);
88 void BuildSimplifiedContourGeometry(
const SimplifiedContourBlob& contour, EdgeVisualInfo& edgeVisualInfo);
89 void BuildSimplifiedPolygonsGeometry();
91 void BuildSimplifyPolylinesGeometry();
92 void BuildSimplifySegmentGeometry(
const VertexBlob& start,
const VertexBlob& end,
KyUInt32 polylineIdx);
94 VisualColor GetEdgeColor(
const EdgeVisualInfo& edgeVisualInfo,
const BoundaryEdgeType& edgeType);
97 const BoundaryGraphBlob* m_graph;
99 EdgeColorScheme m_edgeColorScheme;
100 const VertexBlob* m_vertices;
101 const EdgeBlob* m_edges;
102 const ContourBlob* m_contours;
103 const PolygonBlob* m_polygons;
104 const SimplifyPolylineBlob* m_simplifyPolylines;
105 const SimplifiedEdgeBlob* m_simplifiedEdges;
106 const SimplifiedContourBlob* m_simplifiedContours;
107 const SimplifiedPolygonBlob* m_simplifiedPolygons;
114 #endif //GwNavGen_BoundaryGraphBlobVisualGeometryBuilder_H
Definition: gamekitcrowddispersion.h:20
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