GlobeEngine
geAstro::System Class Reference

#include <System.h>

Inheritance diagram for geAstro::System:
ge::GlobeComponent

Public Types

enum  BodyType {
  STARS, PLANETS, MOONS, SMALLBODIES,
  SMALLBODYCLOUDS
}
 

Public Member Functions

 System ()
 
 ~System ()
 
void clear ()
 
void update ()
 
void create (std::string _name, std::string _rightascensionString, std::string _declinationString, double _rightascension, double _declination, double _distance, double _epoch)
 
void createSmallBodyPointCloud (std::shared_ptr< ge::Shader > _programForPoints)
 
bool isSolarSystem () const
 
void setHabitableZone ()
 
const std::shared_ptr< HabitableZone > & getHabitableZone () const
 
std::vector< std::shared_ptr< Body > > & getBodiesInSystem ()
 
std::vector< std::shared_ptr< Star > > & getStarsInSystem ()
 
std::vector< std::shared_ptr< Moon > > & getMoonsInSystem ()
 
std::vector< std::shared_ptr< Planet > > & getPlanetsInSystem ()
 
std::vector< std::shared_ptr< SmallBody > > & getSmallBodiesInSystem ()
 
void addStar (std::shared_ptr< Star > _star)
 
void addPlanet (std::shared_ptr< Planet > _planet)
 
void addMoon (std::shared_ptr< Moon > _moon)
 
void addSmallBody (std::shared_ptr< SmallBody > _smallBody)
 
int getNumberOfBodies ()
 
void setHabitableZone (std::shared_ptr< ge::Shader > _ringShader, std::shared_ptr< HabitableZoneClassification > _hzClass, std::shared_ptr< ge::TextureHandle > _earthLikeTexHandle)
 
void updateOrbits (double _currentDate)
 
void calculateMeanOrbitalParameters ()
 
void drawObjectsOfType (System::BodyType _type, std::shared_ptr< ge::Camera > _cam)
 
void drawOrbitsOfType (System::BodyType _type, std::shared_ptr< ge::Camera > _cam)
 
double getEpoch () const
 
double getMeanInclination () const
 
double getMeanOmega () const
 
double getMeanW () const
 
std::string getRightAscension () const
 
std::string getDeclination () const
 
double getDistance () const
 
const vmml::Matrix4d & getTranslationMatrix ()
 
const vmml::Matrix4d & getInverseTranslationMatrix ()
 
const vmml::Matrix4d & getRotationMatrix ()
 
const vmml::Matrix4d & getInverseRotationMatrix ()
 
const vmml::Vector3d & getWorldPosition ()
 
const ge::DrawableComponentgetDrawableForSelection (UniverseSelection _selection) const
 
- Public Member Functions inherited from ge::GlobeComponent
 GlobeComponent ()
 
virtual ~GlobeComponent ()=0
 
GLuint getUID () const
 
virtual void setUID (GLuint _input)
 
GLuint getGroupID () const
 
virtual void setGroupID (GLuint _input)
 
const std::string getName () const
 
void setName (std::string _name)
 

Additional Inherited Members

- Protected Attributes inherited from ge::GlobeComponent
int uid
 
int group_uid
 
std::string name
 

Member Enumeration Documentation

Enumerator
STARS 
PLANETS 
MOONS 
SMALLBODIES 
SMALLBODYCLOUDS 

Constructor & Destructor Documentation

geAstro::System::System ( )
geAstro::System::~System ( )

Member Function Documentation

void geAstro::System::addMoon ( std::shared_ptr< Moon _moon)
void geAstro::System::addPlanet ( std::shared_ptr< Planet _planet)
void geAstro::System::addSmallBody ( std::shared_ptr< SmallBody _smallBody)
void geAstro::System::addStar ( std::shared_ptr< Star _star)
void geAstro::System::calculateMeanOrbitalParameters ( )
void geAstro::System::clear ( )
virtual

Reimplemented from ge::GlobeComponent.

void geAstro::System::create ( std::string  _name,
std::string  _rightascensionString,
std::string  _declinationString,
double  _rightascension,
double  _declination,
double  _distance,
double  _epoch 
)
void geAstro::System::createSmallBodyPointCloud ( std::shared_ptr< ge::Shader _programForPoints)
void geAstro::System::drawObjectsOfType ( System::BodyType  _type,
std::shared_ptr< ge::Camera _cam 
)
void geAstro::System::drawOrbitsOfType ( System::BodyType  _type,
std::shared_ptr< ge::Camera _cam 
)
std::vector< std::shared_ptr< Body > > & geAstro::System::getBodiesInSystem ( )
std::string geAstro::System::getDeclination ( ) const
double geAstro::System::getDistance ( ) const
const ge::DrawableComponent& geAstro::System::getDrawableForSelection ( UniverseSelection  _selection) const
double geAstro::System::getEpoch ( ) const
const std::shared_ptr< HabitableZone > & geAstro::System::getHabitableZone ( ) const
const vmml::Matrix4d & geAstro::System::getInverseRotationMatrix ( )
const vmml::Matrix4d & geAstro::System::getInverseTranslationMatrix ( )
double geAstro::System::getMeanInclination ( ) const
double geAstro::System::getMeanOmega ( ) const
double geAstro::System::getMeanW ( ) const
std::vector< std::shared_ptr< Moon > > & geAstro::System::getMoonsInSystem ( )
int geAstro::System::getNumberOfBodies ( )
std::vector< std::shared_ptr< Planet > > & geAstro::System::getPlanetsInSystem ( )
std::string geAstro::System::getRightAscension ( ) const
const vmml::Matrix4d & geAstro::System::getRotationMatrix ( )
std::vector< std::shared_ptr< SmallBody > > & geAstro::System::getSmallBodiesInSystem ( )
std::vector< std::shared_ptr< Star > > & geAstro::System::getStarsInSystem ( )
const vmml::Matrix4d & geAstro::System::getTranslationMatrix ( )
const vmml::Vector3d & geAstro::System::getWorldPosition ( )
bool geAstro::System::isSolarSystem ( ) const
void geAstro::System::setHabitableZone ( )
void geAstro::System::setHabitableZone ( std::shared_ptr< ge::Shader _ringShader,
std::shared_ptr< HabitableZoneClassification _hzClass,
std::shared_ptr< ge::TextureHandle _earthLikeTexHandle 
)
void geAstro::System::update ( )
virtual

Implements ge::GlobeComponent.

void geAstro::System::updateOrbits ( double  _currentDate)

The documentation for this class was generated from the following files: