GlobeEngine
GreatCircleObject.h
Go to the documentation of this file.
1 
8 #ifndef GlobeEngine_GreatCircleObject_h
9 #define GlobeEngine_GreatCircleObject_h
10 
11 #include <string>
12 #include <vector>
13 #include <vmmlib/vmmlib.hpp>
14 #include "OpenGL_Includes.h"
15 #include "LineFeatureObject.h"
16 #include "SceneBluePrint.h"
17 #include "ReferenceSystem.h"
18 #include "PointCloud.h"
19 #include "Texture.h"
20 
21 namespace geGIS {
23  {
24 
25  public:
26  GreatCircle();
27  ~GreatCircle();
28  void clear();
29  void create(std::string filename);
30  void create(std::shared_ptr<GreatCircleBlueprint> _blueprint, std::shared_ptr<ReferenceSystem> _referenceSystem);
31  void loadData(std::string filename);
32  void update();
33  void setupIconData(std::shared_ptr<ge::Shader> _iconshader);
34  // overrides from linefeature
35  void draw(std::shared_ptr<ge::Camera> _cam);
36 
37  private:
38  using ge::DrawableComponent::create; // implicitly hidden
39 
40  void clearInitial();
41 
42  std::shared_ptr<GreatCircleBlueprint> blueprint;
43 
44  geData::PointCloud* icons;
45  ge::Texture2Drgba icontex;
46 
47  std::vector<vmml::Vector3d> directions;
48  std::vector<vmml::Vector3d> startPoints;
49  float iconAnimationStep;
50  float iconAnimationStepCount;
51  };
52 }
53 #endif
void loadData(std::string filename)
Definition: GreatCircleObject.cpp:37
void create(std::string filename)
Definition: GreatCircleObject.cpp:23
Definition: ClusterGrid.h:17
Definition: GreatCircleObject.h:22
virtual void create()=0
Definition: PointCloud.h:25
void update()
Definition: GreatCircleObject.cpp:130
~GreatCircle()
Definition: GreatCircleObject.cpp:10
void clear()
Definition: GreatCircleObject.cpp:14
void setupIconData(std::shared_ptr< ge::Shader > _iconshader)
Definition: GreatCircleObject.cpp:108
Definition: LineFeatureObject.h:21
GreatCircle()
Definition: GreatCircleObject.cpp:4
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: GreatCircleObject.cpp:153