21#include <entt/entt.hpp>
23#include <glm/gtc/quaternion.hpp>
Definition: coordinates.cpp:22
constexpr double normalize_radian_coord(const radian &radian)
Definition: units.h:78
constexpr radian toRadian(degree theta)
Definition: units.h:97
constexpr degree toDegree(radian theta)
Definition: units.h:98
double GetLaunchAzimuth(double latitude, double inclination)
Calculates the azimuth of the orbit based on the latitude and inclination
Definition: coordinates.cpp:44
double GreatCircleDistance(SurfaceCoordinate &coord1, SurfaceCoordinate &coord2)
Calculates the angle between the two coordinates. Just multiply by the planet's diameter for fun and ...
Definition: coordinates.cpp:23
SurfaceCoordinate ToSurfaceCoordinate(const glm::vec3 &vec)
Definition: coordinates.cpp:51
glm::vec3 toVec3(const SurfaceCoordinate &coord, const float &radius)
Converts surface coordinate to vector3 in space so that we can get the surface coordinate to render i...
Definition: coordinates.cpp:33
double radian
Definition: units.h:37
double GetLaunchInclination(double latitude, double azimuth)
Calculates the inclination of the orbit based on the latitude and azimuth
Definition: coordinates.cpp:49
PolarCoordinate_tp< types::astronomical_unit > PolarCoordinate
Definition: coordinates.h:64
double degree
Definition: units.h:36
double light_year
Definition: units.h:33
Definition: coordinates.h:36
double true_anomaly
Definition: coordinates.h:40
glm::dvec3 center
Definition: coordinates.h:39
glm::dvec3 position
Definition: coordinates.h:37
glm::dvec3 velocity
Definition: coordinates.h:38
Way to position star systems on the universe.
Definition: coordinates.h:51
types::light_year x
Definition: coordinates.h:52
types::light_year y
Definition: coordinates.h:53
Definition: coordinates.h:44
glm::dvec3 impulse
Definition: coordinates.h:45
Relative position from the parent orbiting object.
Definition: coordinates.h:30
glm::dvec3 center
Definition: coordinates.h:33
glm::dvec3 position
Definition: coordinates.h:31
glm::dvec3 velocity
Definition: coordinates.h:32
Definition: coordinates.h:66
entt::entity target
Definition: coordinates.h:67
MoveTarget(entt::entity _targetent)
Definition: coordinates.h:68
Definition: coordinates.h:57
PolarCoordinate_tp(T _r, degree _theta)
Definition: coordinates.h:62
degree theta
Definition: coordinates.h:59
PolarCoordinate_tp()=default
T r
Definition: coordinates.h:58
Longitude and lattitude. Planet coordinates.
Definition: coordinates.h:75
SurfaceCoordinate universe_view() const
Definition: coordinates.h:104
SurfaceCoordinate(radian _lat, radian _long, bool radian)
Definition: coordinates.h:93
radian r_latitude() const
Definition: coordinates.h:102
SurfaceCoordinate(degree _lat, degree _long)
Creates a surface coordinate
Definition: coordinates.h:88
degree longitude() const
Definition: coordinates.h:98
SurfaceCoordinate()=default
entt::entity planet
Definition: coordinates.h:106
radian _longitude
Definition: coordinates.h:78
radian _latitude
Definition: coordinates.h:77
degree latitude() const
Definition: coordinates.h:96
radian r_longitude() const
Definition: coordinates.h:100