gwnavgeneration/boundary/boundarygraphblobbuilder.h Source File

boundarygraphblobbuilder.h
Go to the documentation of this file.
1 /*
2 * Copyright 2015 Autodesk, Inc. All rights reserved.
3 * Use of this software is subject to the terms of the Autodesk license agreement and any attachments or Appendices thereto provided at the time of installation or download,
4 * or which otherwise accompanies this software in either electronic or hard copy form, or which is signed by you and accepted by Autodesk.
5 */
6 
7 
8 
9 // primary contact: GUAL - secondary contact: NOBODY
10 #ifndef GwNavGen_BoundaryGraphBlobBuilder_H
11 #define GwNavGen_BoundaryGraphBlobBuilder_H
12 
13 
16 
17 
18 namespace Kaim
19 {
20 
21 class BoundaryGraph;
22 class BoundaryVertex;
23 class BoundaryEdge;
24 class BoundaryContour;
25 class BoundaryPolygon;
26 class BoundarySimplifyPolyline;
27 class BoundarySimplifiedEdge;
28 class BoundarySimplifiedContour;
29 class BoundarySimplifiedPolygon;
30 
31 
32 class BoundaryGraphBlobBuilder : public BaseBlobBuilder<BoundaryGraphBlob>
33 {
34 public:
35  BoundaryGraphBlobBuilder(BoundaryGraph* boundaryGraph) :
36  m_boundaryGraph(boundaryGraph)
37  {}
38 
39 private:
40  virtual void DoBuild();
41 
42  void FillVertices(BoundaryGraphBlob::Vertex* blobVertices);
43  void FillVertex(const BoundaryVertex& dynVertex, const PixelPos& offsetPos, BoundaryGraphBlob::Vertex& blobVertex);
44 
45  void FillEdges(BoundaryGraphBlob::Edge* blobEdges);
46  void FillEdge(const BoundaryEdge& dynEdge, BoundaryGraphBlob::Edge& blobEdge);
47 
48  void FillContours(BoundaryGraphBlob::Contour* blobContours);
49  void FillContour(const BoundaryContour& dynContour, BoundaryGraphBlob::Contour& blobContour);
50 
51  void BuildPolygons();
52  void BuildPolygon(const BoundaryPolygon* dynPolygon, BoundaryGraphBlob::Polygon* blobPolygon);
53 
54  void BuildSimplifyPolylines();
55  void BuildSimplifyPolyline(const BoundarySimplifyPolyline& dynPolyline, BoundaryGraphBlob::SimplifyPolyline& blobPolyline);
56 
57  void FillSimplifiedEdges(BoundaryGraphBlob::SimplifiedHalfEdge* blobEdges);
58  void FillSimplifiedEdge(const BoundarySimplifiedEdge& dynSimplifiedEdge, BoundaryGraphBlob::SimplifiedHalfEdge& blobSimplifiedEdge);
59 
60  void FillSimplifiedContours(BoundaryGraphBlob::SimplifiedContour* blobSimplifiedContours);
61  void FillSimplifiedContour(const BoundarySimplifiedContour& dynSimplifiedContour, BoundaryGraphBlob::SimplifiedContour& blobSimplifiedContour);
62 
63  void BuildSimplifiedPolygons();
64  void BuildSimplifiedPolygon(const BoundarySimplifiedPolygon* dynSimplifiedPolygon, BoundaryGraphBlob::SimplifiedPolygon* blobSimplifiedPolygon);
65 
66 private:
67  BoundaryGraph* m_boundaryGraph;
68 };
69 
70 
71 }
72 
73 
74 #endif
75 
Definition: gamekitcrowddispersion.h:20