All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolylineRenderable.h
1 #pragma once
2 
3 #include "PolylineShapes.h"
4 #include "MeshRenderable.h"
5 
6 namespace Eegeo
7 {
8  namespace Shapes
9  {
10  namespace Polylines
11  {
13  {
14  public:
15 
16  PolylineRenderable(Rendering::LayerIds::Values layerId,
17  PolylineMaterial& polylineMaterial,
18  const Rendering::VertexLayouts::VertexBinding& vertexBinding,
19  Rendering::Mesh* pMesh,
20  const Eegeo::dv3& ecefPosition
21  );
22 
23  float GetThickness() const { return m_thickness; }
24  void SetThickness(float thickness) { m_thickness = thickness; }
25 
26  float GetMiterLimit() const { return m_miterLimit; }
27  void SetMiterLimit(float miterLimit) { m_miterLimit = miterLimit; }
28 
29  void SetShouldScaleWithMap(bool scaleWithMap) { m_scaleWithMap = scaleWithMap; }
30  bool GetShouldScaleWithMap() const { return m_scaleWithMap; }
31 
32  const v2& GetViewportDimensions() const { return m_viewportDimensions; }
33  void SetViewportDimensions(const v2& viewportDimensions) { m_viewportDimensions = viewportDimensions; }
34 
35  const v4& GetColor() const { return m_color; }
36  void SetColor(const v4& color) { m_color = color; }
37 
38  private:
39  v4 m_color;
40  v2 m_viewportDimensions;
41  float m_thickness;
42  float m_miterLimit;
43  bool m_scaleWithMap;
44  };
45 
46  }
47  }
48 }