gwnavgeneration/boundary/boundarygraphblobbuilder.h Source File

boundarygraphblobbuilder.h
Go to the documentation of this file.
1 /*
2 * Copyright 2016 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 #pragma once
8 
11 
12 namespace Kaim
13 {
14 
15 class BoundaryGraph;
16 class BoundaryVertex;
17 class BoundaryEdge;
18 class BoundaryContour;
19 class BoundaryPolygon;
20 class BoundarySimplifyPolyline;
21 class BoundarySimplifiedEdge;
22 class BoundarySimplifiedContour;
23 class BoundarySimplifiedPolygon;
24 
25 
26 class BoundaryGraphBlobBuilder : public BaseBlobBuilder<BoundaryGraphBlob>
27 {
28 public:
29  BoundaryGraphBlobBuilder(BoundaryGraph* boundaryGraph) :
30  m_boundaryGraph(boundaryGraph)
31  {}
32 
33 private:
34  virtual void DoBuild();
35 
36  void FillVertices(BoundaryGraphBlob::Vertex* blobVertices);
37  void FillVertex(const BoundaryVertex& dynVertex, const PixelPos& offsetPos, BoundaryGraphBlob::Vertex& blobVertex);
38 
39  void FillEdges(BoundaryGraphBlob::Edge* blobEdges);
40  void FillEdge(const BoundaryEdge& dynEdge, BoundaryGraphBlob::Edge& blobEdge);
41 
42  void FillContours(BoundaryGraphBlob::Contour* blobContours);
43  void FillContour(const BoundaryContour& dynContour, BoundaryGraphBlob::Contour& blobContour);
44 
45  void BuildPolygons();
46  void BuildPolygon(const BoundaryPolygon* dynPolygon, BoundaryGraphBlob::Polygon* blobPolygon);
47 
48  void BuildSimplifyPolylines();
49  void BuildSimplifyPolyline(const BoundarySimplifyPolyline& dynPolyline, BoundaryGraphBlob::SimplifyPolyline& blobPolyline);
50 
51  void FillSimplifiedEdges(BoundaryGraphBlob::SimplifiedHalfEdge* blobEdges);
52  void FillSimplifiedEdge(const BoundarySimplifiedEdge& dynSimplifiedEdge, BoundaryGraphBlob::SimplifiedHalfEdge& blobSimplifiedEdge);
53 
54  void FillSimplifiedContours(BoundaryGraphBlob::SimplifiedContour* blobSimplifiedContours);
55  void FillSimplifiedContour(const BoundarySimplifiedContour& dynSimplifiedContour, BoundaryGraphBlob::SimplifiedContour& blobSimplifiedContour);
56 
57  void BuildSimplifiedPolygons();
58  void BuildSimplifiedPolygon(const BoundarySimplifiedPolygon* dynSimplifiedPolygon, BoundaryGraphBlob::SimplifiedPolygon* blobSimplifiedPolygon);
59 
60 private:
61  BoundaryGraph* m_boundaryGraph;
62 };
63 
64 
65 }
66 
67 
68 
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17