1 #ifndef ExoViewer_System_h
2 #define ExoViewer_System_h
4 #include "OpenGL_Includes.h"
7 #include <vmmlib/vmmlib.hpp>
31 void create(std::string _name, std::string _rightascensionString, std::string _declinationString,
32 double _rightascension,
double _declination,
double _distance,
49 void addStar(std::shared_ptr<Star> _star);
50 void addPlanet(std::shared_ptr<Planet> _planet);
51 void addMoon(std::shared_ptr<Moon> _moon);
52 void addSmallBody(std::shared_ptr<SmallBody> _smallBody);
57 std::shared_ptr<HabitableZoneClassification> _hzClass,
58 std::shared_ptr<ge::TextureHandle> _earthLikeTexHandle);
93 std::string rightAscensionString;
94 std::string declinationString;
96 double rightAscension;
99 float meanInclination;
103 std::vector<std::shared_ptr<Body>> bodiesInSystem;
104 std::vector<std::shared_ptr<Star>> stars;
105 std::vector<std::shared_ptr<Planet>> planets;
106 std::vector<std::shared_ptr<Moon>> moons;
107 std::vector<std::shared_ptr<SmallBody>> smallBodies;
109 std::shared_ptr<HabitableZone> habitableZone;
111 std::shared_ptr<SmallBodyPointCloud> sbPointCloud;
113 vmml::Matrix4d translationMatrix;
114 vmml::Matrix4d inverseTranslationMatrix;
115 vmml::Matrix4d rotationMatrix;
116 vmml::Matrix4d inverseRotationMatrix;
117 vmml::Vector3d worldPosition;
Definition: DrawableComponent.h:25
const ge::DrawableComponent & getDrawableForSelection(UniverseSelection _selection) const
int getNumberOfBodies()
Definition: System.cpp:466
void addSmallBody(std::shared_ptr< SmallBody > _smallBody)
Definition: System.cpp:485
void updateOrbits(double _currentDate)
Definition: System.cpp:331
void createSmallBodyPointCloud(std::shared_ptr< ge::Shader > _programForPoints)
Definition: System.cpp:249
std::vector< std::shared_ptr< Star > > & getStarsInSystem()
Definition: System.cpp:450
bool isSolarSystem() const
Definition: System.cpp:438
void update()
Definition: System.cpp:346
System()
Definition: System.cpp:5
const vmml::Matrix4d & getRotationMatrix()
Definition: System.cpp:524
Definition: AstroCommon.h:50
std::string getDeclination() const
Definition: System.cpp:494
const vmml::Matrix4d & getTranslationMatrix()
Definition: System.cpp:516
const std::shared_ptr< HabitableZone > & getHabitableZone() const
Definition: System.cpp:442
const vmml::Matrix4d & getInverseRotationMatrix()
Definition: System.cpp:528
Definition: AstroCommon.h:18
void calculateMeanOrbitalParameters()
Definition: System.cpp:254
std::vector< std::shared_ptr< SmallBody > > & getSmallBodiesInSystem()
Definition: System.cpp:462
double getMeanOmega() const
Definition: System.cpp:505
BodyType
Definition: System.h:23
void drawOrbitsOfType(System::BodyType _type, std::shared_ptr< ge::Camera > _cam)
Definition: System.cpp:409
double getEpoch() const
Definition: System.cpp:512
std::vector< std::shared_ptr< Body > > & getBodiesInSystem()
Definition: System.cpp:446
double getMeanInclination() const
Definition: System.cpp:502
Definition: GlobeComponent.h:15
std::vector< std::shared_ptr< Moon > > & getMoonsInSystem()
Definition: System.cpp:454
double getDistance() const
Definition: System.cpp:498
void clear()
Definition: System.cpp:15
~System()
Definition: System.cpp:10
std::vector< std::shared_ptr< Planet > > & getPlanetsInSystem()
Definition: System.cpp:458
void drawObjectsOfType(System::BodyType _type, std::shared_ptr< ge::Camera > _cam)
Definition: System.cpp:371
void addMoon(std::shared_ptr< Moon > _moon)
Definition: System.cpp:480
const vmml::Matrix4d & getInverseTranslationMatrix()
Definition: System.cpp:520
void addStar(std::shared_ptr< Star > _star)
Definition: System.cpp:470
void addPlanet(std::shared_ptr< Planet > _planet)
Definition: System.cpp:475
std::string getRightAscension() const
Definition: System.cpp:490
double getMeanW() const
Definition: System.cpp:508
const vmml::Vector3d & getWorldPosition()
Definition: System.cpp:532