All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RouteViewRenderable.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "MeshRenderable.h"
6 #include "Rendering.h"
7 #include "VectorMathDecl.h"
8 
9 namespace Eegeo
10 {
11  namespace Routes
12  {
13  namespace View
14  {
16  {
17  public:
19  Rendering::LayerIds::Values layerId,
21  const Rendering::VertexLayouts::VertexBinding& vertexBinding,
22  Rendering::Mesh* pMesh,
23  const Eegeo::dv3& ecefPosition
24  )
25  : MeshRenderable(layerId, ecefPosition, material, pMesh, vertexBinding)
26  , m_thickness(0.f)
27  , m_altitudeFade(0.f)
28  , m_depthTestEnabled(false)
29  , m_wireframe(false)
30  {
31 
32  }
33 
34  virtual void Render(Rendering::GLState& glState) const;
35 
36  void SetThickness(float thickness) { m_thickness = thickness; }
37  void SetAltitudeFade(float fade) { m_altitudeFade = fade; }
38  void SetDepthTestEnabled(bool depthTestEnabled) { m_depthTestEnabled = depthTestEnabled; }
39 
40  float GetThickness() const { return m_thickness; }
41  float GetAltitudeFade() const { return m_altitudeFade; }
42  bool IsDepthTestEnabled() const { return m_depthTestEnabled; }
43  void SetWireframe(bool enabled) { m_wireframe = enabled; }
44 
45  private:
46  float m_thickness;
47  float m_altitudeFade;
48  bool m_depthTestEnabled;
49  bool m_wireframe;
50  };
51  }
52  }
53 }