1 #ifndef ExoViewer_Orbit_h
2 #define ExoViewer_Orbit_h
4 #include "OpenGL_Includes.h"
7 #include <vmmlib/vmmlib.hpp>
32 std::shared_ptr<ge::Shader> _programForOrbits, vmml::Vector3d _orbitColor,
33 bool _smallBodiesAsPointCloud,
unsigned int _uid,
unsigned int _groupuid,
bool _isRealScale,
double _scaleFactor);
35 void update(
double _date,
bool _isRealScale,
double _scaleFactor);
36 void draw(std::shared_ptr<ge::Camera> _cam);
51 void reloadShader(std::shared_ptr<ge::Shader> _programForOrbits);
55 vmml::Vector3d rescale(
bool _isRealScale, vmml::Vector3d _pos,
double _scaleFactor)
const;
56 double computeTrueAnomaly(
double _date);
57 std::vector<vmml::Vector3d> getOrbitPoints(
unsigned int _numberOfSegements,
bool _isRealScale,
double _scaleFactor)
const;
62 vmml::Vector3d centerOfGravity;
63 vmml::Vector3d currentBodyLocation;
const OrbitDrawable & getOrbitDrawable() const
Definition: Orbit.cpp:158
vmml::Vector3d getPositionOnEllipsis(double _angle) const
Definition: Orbit.cpp:99
~Orbit()
Definition: Orbit.cpp:11
double inclination
Definition: Orbit.h:18
void setVisible(bool visible)
Definition: Orbit.cpp:128
void update(double _date, bool _isRealScale, double _scaleFactor)
Definition: Orbit.cpp:52
void draw(std::shared_ptr< ge::Camera > _cam)
Definition: Orbit.cpp:124
double eccentricity
Definition: Orbit.h:16
double longitudeOfAscendingNode
Definition: Orbit.h:19
double getRadiusByTrueAnomaly(double _angle) const
Definition: Orbit.cpp:95
double argumentOfPeriapsis
Definition: Orbit.h:20
Definition: OrbitDrawable.h:11
void clear()
Definition: Orbit.cpp:15
Definition: AstroCommon.h:18
void create(OrbitInfo orbitInfo, vmml::Vector3d _center, std::shared_ptr< ge::Shader > _programForOrbits, vmml::Vector3d _orbitColor, bool _smallBodiesAsPointCloud, unsigned int _uid, unsigned int _groupuid, bool _isRealScale, double _scaleFactor)
Definition: Orbit.cpp:31
Orbit()
Definition: Orbit.cpp:6
vmml::Vector3d getCurrentBodyPosition() const
Definition: Orbit.cpp:91
void reloadShader(std::shared_ptr< ge::Shader > _programForOrbits)
Definition: Orbit.cpp:162
void setOrbitColor(vmml::Vector3f _orbitColor)
Definition: Orbit.cpp:87
double meanMotion
Definition: Orbit.h:22
void setCenterOfGravity(vmml::Vector3d _pos)
Definition: Orbit.cpp:136
double timeOfPeriapsis
Definition: Orbit.h:21
double semimajorAxis
Definition: Orbit.h:17
vmml::Vector3d getCenterOfGravity() const
Definition: Orbit.cpp:132
const OrbitInfo & getOrbitData() const
Definition: Orbit.cpp:154