class
cEllipticalOrbitSettings of the orbit of a planet or celestial body in a solar system.
These are all mathematical properties to define an elliptical orbit. mPlaneNormal
describes the plane of rotation, whereas mEccentricty
and mPerihelion
describe the ellipse in that plane.
This class saves all its parameters except mCache
. mCache
is precalculated from the other parameters when the data is loaded, so if you change one of the parameters you have to calculate the cache again using Precalculate().
Public types
- struct OrbitCache
Constructors, destructors, conversion operators
- cEllipticalOrbit()
- Creates a null orbit (
mbNullOrbit
equals true, all other fields are not initialized).
Public functions
- auto Precalculate() -> void
- Calculates all the valeus in
mCache
using the rest of parameters in this class.
Public variables
- bool mbNullOrbit
- If true, the orbit is null (so there is no orbit at all)
-
Math::
Vector3 mPlaneNormal - Normal vector of the plane in which the planet orbits. The planet never leaves that plane.
- float mEccentricity
- Eccentricity of the ellipse of the orbit; 0.0 is a circular orbit.
-
Math::
Vector3 mPerihelion - Point of the orbit in which the planet is closest to the star. Also known as periapsis.
- float mPeriod
- Time it takes, in real seconds, to complete one orbit (i.e. how long an astronomical year is)
- OrbitCache mCache
Function documentation
void Simulator:: cEllipticalOrbit:: Precalculate()
Calculates all the valeus in mCache
using the rest of parameters in this class.
This must be called every time a parameter is changed.