GlobeEngine
GlobeRasterModule.h
Go to the documentation of this file.
1 
11 #ifndef GlobeEngine_GlobeRasterModule_h
12 #define GlobeEngine_GlobeRasterModule_h
13 
14 #include "OpenGL_Includes.h"
15 #include "TerrainModule.h"
16 #include "TerrainMessageQueue.h"
17 #include "SceneBluePrint.h"
18 #include "ReferenceSystem.h"
19 #include "ColorisationTable.h"
20 
21 namespace geGIS {
22 
24  {
25  public:
28  void clear();
29  void create(std::shared_ptr<ReferenceSystem> _referenceSystem);
30  void update(std::shared_ptr<ge::Camera> _cam);
31  void updateQuadtree(std::shared_ptr<ge::Camera> _cam);
32 
33  void draw(std::shared_ptr<ge::Camera> _cam, std::shared_ptr<ge::TextureHandle> _colorHandle);
34  void loadTerrainService(std::shared_ptr<TMSElevationBlueprint> _blueprint,
35  std::shared_ptr<ge::Shader> _shader, float _heightScale);
36  void setVisibleImageLayer(short _layer);
37  std::vector<std::string> getImageLayerNamesList();
38 
39  void setAnimatedTimeStep(float _timeStep);
40  private:
41  using geRaster::TerrainModule::draw; // implicitly hidden
42 
46  void loadElevationTile(int _tmsid, std::shared_ptr<geSpatial::Tile> const& _tile);
47  void loadTextureTile(int _tmsid, std::shared_ptr<geSpatial::Tile> const& _tile);
48 
49  std::shared_ptr<ge::Texture2Df> loadElevationTilePhase1( int, geSpatial::Tile const& );
50  void loadElevationTilePhase2( geSpatial::Tile const&, std::shared_ptr<ge::Texture2Df> );
51 
52  void setupTileService(int _cacheSize);
53  void requestInitialTMSTiles(int _tmsid);
54  void getTilesFromTileService(int _tmsid);
55  void createGeoRefQuadtree();
56  void updateGeometryForPosition(std::shared_ptr<ge::Camera> _cam);
57 
58  private:
59  std::shared_ptr<ReferenceSystem> referenceSystem;
60  std::shared_ptr<geRaster::TerrainMessageQueue> tileServiceProvider;
61 
62  short selectedImageLayer;
63  std::vector<std::string> imageLayerNames;
64 
65  // animation variables
66  float animatedTimeStep;
67  float animationStep;
68  bool animationLoaded;
69 
70  std::vector< std::shared_ptr<ge::Texture2Df> > deferred;
71  };
72 }
73 #endif
void setAnimatedTimeStep(float _timeStep)
Definition: GlobeRasterModule.cpp:356
~GlobeRasterModule()
Definition: GlobeRasterModule.cpp:16
void draw(std::shared_ptr< ge::Camera > _cam, std::shared_ptr< ge::TextureHandle > _colorHandle)
Definition: GlobeRasterModule.cpp:167
Definition: ClusterGrid.h:17
Definition: TerrainModule.h:24
GlobeRasterModule()
Definition: GlobeRasterModule.cpp:11
void updateQuadtree(std::shared_ptr< ge::Camera > _cam)
Definition: GlobeRasterModule.cpp:82
Definition: Tile.h:35
std::vector< std::string > getImageLayerNamesList()
Definition: GlobeRasterModule.cpp:352
void clear()
Definition: GlobeRasterModule.cpp:21
void setVisibleImageLayer(short _layer)
Definition: GlobeRasterModule.cpp:348
virtual void draw(std::shared_ptr< ge::Camera > _cam)
Definition: TerrainModule.cpp:74
void create(std::shared_ptr< ReferenceSystem > _referenceSystem)
Definition: GlobeRasterModule.cpp:32
void update(std::shared_ptr< ge::Camera > _cam)
Definition: GlobeRasterModule.cpp:102
Definition: GlobeRasterModule.h:23
void loadTerrainService(std::shared_ptr< TMSElevationBlueprint > _blueprint, std::shared_ptr< ge::Shader > _shader, float _heightScale)
Definition: GlobeRasterModule.cpp:38