GlobeEngine
PlanetaryViewerSceneBlueprint.h
Go to the documentation of this file.
1 
8 #ifndef GlobeEngine_PlanetaryViewerSceneBlueprint_h
9 #define GlobeEngine_PlanetaryViewerSceneBlueprint_h
10 
11 #include <iostream>
12 #include "tinyxml2.h"
13 #include <vmmlib/vmmlib.hpp>
14 
15 namespace gePlanetaryViewer {
16 
17  struct TerrainInfo {
18  std::string terrainUrl;
19  std::string textureUrl;
20  };
21 
22  struct VolumeVariable {
23  std::string type;
24  int sorting;
25  vmml::Vector3i dimensions;
26  std::string name;
27  int start;
28  int end;
29  std::string url;
30  };
31 
33  int directory;
34  int timestep;
35  bool slicing[4];
36  float sliceNr[3];
38  float stepsize;
40  unsigned char* transferFunction;
41 
43  this->transferFunction = NULL;
44  }
45  };
46 
53  float dt;
54  int coloring;
57  };
58 
60  {
61 
62  public:
63 
64  PlanetaryViewerSceneBlueprint(std::string _xmlPath);
66 
68  return this->terrainInfo;
69  }
70 
71  std::vector<VolumeVariable> getVolumeVariables() {
72  return this->volumeVariables;
73  }
74 
76  return this->volumeInteractionInfo;
77  }
78 
79  void setTerrainInfo(TerrainInfo _terrainInfo) {
80  this->terrainInfo = _terrainInfo;
81  }
82 
83  void setVolumeInteractionInfo(VolumeInteractionInfo _volumeInteractionInfo) {
84  this->volumeInteractionInfo = _volumeInteractionInfo;
85  }
86 
87  std::vector<std::vector<std::string>> getTimestepNames() {
88  return this->timestepNames;
89  }
90 
91  void setTimestepNames (std::vector<std::vector<std::string>> _names) {
92  this->timestepNames = _names;
93  }
94 
95  std::vector<std::vector<std::vector<int>>> getHistograms() {
96  return this->histograms;
97  }
98 
99  void setHistograms(std::vector<std::vector<std::vector<int>>> _hist) {
100  this->histograms = _hist;
101  }
102 
104  return this->volumeVariables[this->volumeInteractionInfo.directory];
105  }
106 
108  return this->streamlineInteractionInfo;
109  }
110 
111  void setStreamlinesInteractionInfo(StreamlinesInteractionInfo _streamlinesInteractionInfo) {
112  this->streamlineInteractionInfo = _streamlinesInteractionInfo;
113  }
114 
115  private:
116 
117  std::string xmlPath;
118 
119  TerrainInfo terrainInfo;
120 
121  std::vector<VolumeVariable> volumeVariables;
122  VolumeInteractionInfo volumeInteractionInfo;
123  StreamlinesInteractionInfo streamlineInteractionInfo;
124 
125  std::vector<std::vector<std::string>> timestepNames;
126  std::vector<std::vector<std::vector<int>>> histograms;
127 
128  void parseXML();
129  void setupUI();
130 
131  };
132 }
133 #endif
int minNumberOfIterations
Definition: PlanetaryViewerSceneBlueprint.h:51
VolumeVariable getCurrentDirectory()
Definition: PlanetaryViewerSceneBlueprint.h:103
std::string type
Definition: PlanetaryViewerSceneBlueprint.h:23
PlanetaryViewerSceneBlueprint(std::string _xmlPath)
Definition: PlanetaryViewerSceneBlueprint.cpp:5
std::vector< std::vector< std::string > > getTimestepNames()
Definition: PlanetaryViewerSceneBlueprint.h:87
int numberOfSeeds
Definition: PlanetaryViewerSceneBlueprint.h:50
vmml::Vector3i dimensions
Definition: PlanetaryViewerSceneBlueprint.h:25
int timestep
Definition: PlanetaryViewerSceneBlueprint.h:34
float sliceNr[3]
Definition: PlanetaryViewerSceneBlueprint.h:36
std::string textureUrl
Definition: PlanetaryViewerSceneBlueprint.h:19
TerrainInfo getTerrainInfo()
Definition: PlanetaryViewerSceneBlueprint.h:67
VolumeInteractionInfo()
Definition: PlanetaryViewerSceneBlueprint.h:42
Definition: PlanetaryViewerComposition.h:6
~PlanetaryViewerSceneBlueprint()
Definition: PlanetaryViewerSceneBlueprint.h:65
float minimalDistance
Definition: PlanetaryViewerSceneBlueprint.h:49
int end
Definition: PlanetaryViewerSceneBlueprint.h:28
Definition: PlanetaryViewerSceneBlueprint.h:32
int maxNumberOfIterations
Definition: PlanetaryViewerSceneBlueprint.h:52
std::string name
Definition: PlanetaryViewerSceneBlueprint.h:26
float maximalZValue
Definition: PlanetaryViewerSceneBlueprint.h:56
std::string terrainUrl
Definition: PlanetaryViewerSceneBlueprint.h:18
void setTerrainInfo(TerrainInfo _terrainInfo)
Definition: PlanetaryViewerSceneBlueprint.h:79
int start
Definition: PlanetaryViewerSceneBlueprint.h:27
int directory
Definition: PlanetaryViewerSceneBlueprint.h:33
VolumeInteractionInfo getVolumeInteractionInfo()
Definition: PlanetaryViewerSceneBlueprint.h:75
int rayMarching
Definition: PlanetaryViewerSceneBlueprint.h:37
unsigned char * transferFunction
Definition: PlanetaryViewerSceneBlueprint.h:40
std::vector< std::vector< std::vector< int > > > getHistograms()
Definition: PlanetaryViewerSceneBlueprint.h:95
bool showStreamlines
Definition: PlanetaryViewerSceneBlueprint.h:48
Definition: PlanetaryViewerSceneBlueprint.h:47
bool slicing[4]
Definition: PlanetaryViewerSceneBlueprint.h:35
void setTimestepNames(std::vector< std::vector< std::string >> _names)
Definition: PlanetaryViewerSceneBlueprint.h:91
Definition: PlanetaryViewerSceneBlueprint.h:17
Definition: PlanetaryViewerSceneBlueprint.h:59
std::vector< VolumeVariable > getVolumeVariables()
Definition: PlanetaryViewerSceneBlueprint.h:71
int coloring
Definition: PlanetaryViewerSceneBlueprint.h:54
void setStreamlinesInteractionInfo(StreamlinesInteractionInfo _streamlinesInteractionInfo)
Definition: PlanetaryViewerSceneBlueprint.h:111
float lmipThreshold
Definition: PlanetaryViewerSceneBlueprint.h:39
void setHistograms(std::vector< std::vector< std::vector< int >>> _hist)
Definition: PlanetaryViewerSceneBlueprint.h:99
float stepsize
Definition: PlanetaryViewerSceneBlueprint.h:38
std::string url
Definition: PlanetaryViewerSceneBlueprint.h:29
StreamlinesInteractionInfo getStreamlinesInteractionInfo()
Definition: PlanetaryViewerSceneBlueprint.h:107
float dt
Definition: PlanetaryViewerSceneBlueprint.h:53
void setVolumeInteractionInfo(VolumeInteractionInfo _volumeInteractionInfo)
Definition: PlanetaryViewerSceneBlueprint.h:83
int sorting
Definition: PlanetaryViewerSceneBlueprint.h:24
float minimalZValue
Definition: PlanetaryViewerSceneBlueprint.h:55
Definition: PlanetaryViewerSceneBlueprint.h:22