|
| KeplerOrbit (double epochJDE, double pericenterDistance, double eccentricity, double inclination, double ascendingNode, double argOfPerhelion, double timeAtPerihelion, double orbitGoodDays, double meanMotion, double parentRotObliquity, double parentRotAscendingnode, double parentRotJ2000Longitude, double centralMass=1.0) |
| Constructor. More...
|
|
virtual void | positionAtTimevInVSOP87Coordinates (double JDE, double *v) Q_DECL_OVERRIDE |
| Compute the object position for a specified Julian day. More...
|
|
bool | getUpdateTails () const |
| updating comet tails is a bit expensive. try not to overdo it.
|
|
void | setUpdateTails (const bool update) |
|
virtual Vec3d | getVelocity () const Q_DECL_OVERRIDE |
| return speed value [AU/d] last computed by positionAtTimevInVSOP87Coordinates(JDE, v)
|
|
virtual void | getVelocity (double *vel) const Q_DECL_OVERRIDE |
| write speed value [AU/d] into first 3 elements of vel. (zero in the base class)
|
|
virtual double | getSemimajorAxis () const Q_DECL_OVERRIDE |
| Returns semimajor axis [AU] for elliptic orbit, 0 for a parabolic orbit, and a negative value [AU] for hyperbolic orbit.
|
|
virtual double | getEccentricity () const Q_DECL_OVERRIDE |
| return orbit eccentricity. (zero in the base class)
|
|
bool | objectDateValid (const double JDE) const |
| return whether a position returned for JDE can be regarded accurate enough for telescope use. More...
|
|
bool | objectDateGoodEnoughForOrbits (const double JDE) const |
| return whether a position returned for JDE would be good enough for at least plotting the orbit. More...
|
|
Vec2d | objectDateValidRange (const bool strict) const |
| Return minimal and maximal JDE values where this orbit should be used. More...
|
|
double | calculateSiderealPeriod () const |
| Calculate sidereal period in days from semi-major axis and central mass. If SMA<=0 (hyperbolic orbit), return 0.
|
|
void | setParentOrientation (const double parentRotObliquity, const double parentRotAscendingNode, const double parentRotJ2000Longitude) |
| For planet moons which have orbits given in relation to their parent planet's equator. More...
|
|
This is used for minor bodies orbiting the sun, but also for planet moons. Orbital elements are considered valid for a relatively short time span (orbitGood) around epoch only and should be updated periodically, because the other planets perturbate the orbiting bodies. To avoid using outdated elements, the KeplerOrbit object can be queried using objectDateValid(JDE) whether it makes sense to assume the retrieved positions are close enough to reality to find the object in a telescope. Another test is objectDateGoodEnoughForOrbits(JDE), which test a bit more relaxed, for the sake of retrieving positions for graphics.
- Note
- This class was called CometOrbit previously, but was now recombined with the former EllipticalOrbit class. They did almost the same.
-
Algorithms from:
- Meeus: Astronomical Algorithms 1998
- Heafner: Fundamental Ephemeris Computations 1999