All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolygonShapeViewFactory.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "PolygonShapeArgs.h"
5 #include "Modules.h"
6 #include "Rendering.h"
7 #include "VectorMath.h"
8 
9 #include <vector>
10 
11 namespace Eegeo
12 {
13  namespace Shapes
14  {
15  namespace Polygons
16  {
18  {
19  public:
20  static PolygonShapeViewFactory* Create(Eegeo::Modules::Core::RenderingModule& renderingModule);
21 
25  const Rendering::VertexLayouts::VertexLayout& vertexLayout,
26  Rendering::GlBufferPool& glBufferPool,
28 
30 
31  PolygonShapeArgs::ShapeView* CreateView(const PolygonShapeArgs::ShapeModel& polygon);
32 
33  private:
36  const Rendering::VertexLayouts::VertexLayout& m_vertexLayout;
37  Rendering::GlBufferPool& m_glBufferPool;
39 
40  Rendering::Mesh* CreateMesh(
41  const dv3& meshOriginEcef,
42  const std::vector<v3>& meshPoints,
43  const std::vector<u16>& meshTriListIndices);
44  };
45  }
46  }
47 }
48