GlobeEngine
ExoComposition.h
Go to the documentation of this file.
1 
8 #ifndef GlobeEngine_SolarComposition_h
9 #define GlobeEngine_SolarComposition_h
10 
11 #include "AstroCommon.h"
12 #include "Composition.h"
13 #include "Star.h"
14 
15 namespace geExoViewer {
17  {
18  public:
21 
22  void setScreenSize(vmml::Vector2i _in){
23  screenSize = _in;
24  }
25 
26  void setInverseScreenSize(vmml::Vector2f _in){
27  invScreenSize = _in;
28  }
29 
31  this->currentSelection = _sel;
32  }
33 
34  void setLightSources(std::vector<std::shared_ptr<geAstro::Star>>* _vec){
35  lightSources = _vec;
36  }
37 
38  void setCurrentBodyCenter(vmml::Vector2f _currentBodyCenter){
39  this->currentBodyCenter = _currentBodyCenter;
40  }
41 
42  void setCurrentBodyMantleDepth(float _currentBodyMantleDepth){
43  this->currentBodyMantleDepth = _currentBodyMantleDepth;
44  }
45 
46  void setCurrentBodyCoreDepth(float _currentBodyCoreDepth){
47  this->currentBodyCoreDepth = _currentBodyCoreDepth;
48  }
49 
50  void setLightPositionOnScreen(vmml::Vector2d _lightPositionOnScreen){
51  this->lightPositionOnScreen = _lightPositionOnScreen;
52  }
53 
54  void setDiffuseColor(vmml::Vector3d _diffuseColor){
55  this->diffuseColor = _diffuseColor;
56  }
57 
58  protected:
59  void drawFrame(std::shared_ptr<ge::Camera> _cam);
60 
61  private:
62  geAstro::UniverseSelection currentSelection;
63  vmml::Vector4f outlineColor;
64  vmml::Vector2i screenSize;
65  vmml::Vector2f invScreenSize;
66  vmml::Vector2f currentBodyCenter;
67 
68  float currentBodyMantleDepth;
69  float currentBodyCoreDepth;
70 
71  std::vector<std::shared_ptr<geAstro::Star>>* lightSources;
72 
73  //sun rendering
74  float exposure;
75  vmml::Vector2f lightPositionOnScreen;
76  int numberOfSamples;
77  float exposurerays;
78  float decay;
79  float density;
80  float weight;
81 
82  //lighting color information
83  vmml::Vector3d diffuseColor;
84 
85  };
86 }
87 #endif
ExoComposition()
Definition: ExoComposition.cpp:6
void setDiffuseColor(vmml::Vector3d _diffuseColor)
Definition: ExoComposition.h:54
void setCurrentBodyCoreDepth(float _currentBodyCoreDepth)
Definition: ExoComposition.h:46
Definition: AstroCommon.h:50
void drawFrame(std::shared_ptr< ge::Camera > _cam)
Definition: ExoComposition.cpp:21
void setInverseScreenSize(vmml::Vector2f _in)
Definition: ExoComposition.h:26
~ExoComposition()
Definition: ExoComposition.h:20
void setLightSources(std::vector< std::shared_ptr< geAstro::Star >> *_vec)
Definition: ExoComposition.h:34
void setCurrentSelection(geAstro::UniverseSelection _sel)
Definition: ExoComposition.h:30
Definition: Composition.h:23
void setCurrentBodyCenter(vmml::Vector2f _currentBodyCenter)
Definition: ExoComposition.h:38
Definition: ExoComposition.h:16
void setScreenSize(vmml::Vector2i _in)
Definition: ExoComposition.h:22
void setLightPositionOnScreen(vmml::Vector2d _lightPositionOnScreen)
Definition: ExoComposition.h:50
Definition: BodySelectionDialog.h:12
void setCurrentBodyMantleDepth(float _currentBodyMantleDepth)
Definition: ExoComposition.h:42