![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
A Solar-system source, whose position and velocity can be calculated using Keplerian orbital elements. More...
#include <supernovas.h>
Inheritance diagram for supernovas::OrbitalSource:Public Member Functions | |
| OrbitalSource (const std::string &name, const Orbital &orbit) | |
| Instantiates a new Solar-system source defined by Keplerian orbital elements. | |
| const novas_orbital * | _novas_orbital () const |
| Returns the underlying C orbital elements data structure for this source. | |
| const Source * | copy () const override |
| Returns a pointer to a newly allocated copy of this Solar-system orbital source instance. | |
| Orbital | orbital () const |
| Returns the Keplerian orbital parameters of this source. | |
| std::string | to_string () const override |
| Returns a string representation of this orbital source. | |
Public Member Functions inherited from supernovas::SolarSystemSource | |
| Geometric | barycentric_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the Solar-system barycentric position and velocity of this Solar-system source, or else an undefined geometry if the source's place cannot be determined at the requested time or accuracy. | |
| Coordinate | helio_distance (const Time &time) const |
| Returns the heliocentric distance of a Solar-system source at the specified time of observation. | |
| ScalarVelocity | helio_rate (const Time &time) const |
| Returns the heliocentric rate of recession of a Solar-system source at the specified time of observation. | |
| double | solar_illumination (const Frame &frame) const |
| Returns the fraction [0.0:1.0] of the Solar-system source that appears illuminated by the Sun when viewed from a given observing frame, assuming that the source has a spheroidal shape. | |
| double | solar_power (const Time &time) const |
| Returns the typical incident Solar power on the illuminated side of this Solar-system object. | |
Public Member Functions inherited from supernovas::Source | |
| virtual | ~Source () |
| const struct novas_object * | _novas_object () const |
Returns a pointer to the NOVAS C novas_object data structure that stores data internally. | |
| Angle | angle_to (const Source &source, const Frame &frame) const |
| Returns the apparent angular separation of this source from another source, for the given observer location and time of observation. | |
| Apparent | apparent_in (const Frame &frame) const |
| Returns the apparent position of a source (if possible), or else an invalid position. | |
| EquatorialTrack | equatorial_track (const Frame &frame, const Interval &range) const |
| Returns the short-term equatorial trajectory of this source on the observer's sky, which can be used for extrapolating its apparent position in the near-term to avoid the repeated full-fledged position calculation, which may be expensive. | |
| EquatorialTrack | equatorial_track (const Frame &frame, double range_seconds=Unit::hour) const |
| Returns the short-term equatorial trajectory of this source on the observer's sky, which can be used for extrapolating its apparent position in the near-term to avoid the repeated full-fledged position calculation, which may be expensive. | |
| Geometric | geometric_in (const Frame &frame, enum novas_reference_system system=NOVAS_TOD) const |
| Returns the geometric position of a source (if possible) relative to the observer, or else an invalid position if the source could not be positioned in the observing frame. | |
| HorizontalTrack | horizontal_track (const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const |
| Returns a 1-minute horizontal trajectory of this source on the observer's sky, which can be used for extrapolating its apparent position for within a 1-minute interval to avoid the repeated full-fledged position calculation at higher rates, which may be expensive. | |
| Angle | moon_angle (const Frame &frame) const |
| Returns the apparent angular separation of this source from the Moon, for the given observer location and time of observation. | |
| std::string | name () const |
| Returns the name given to this source at instantiation. | |
| Time | rises_above (const Angle &el, const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const |
| Returns the time when the source rises above the specified elevation next for an observer located on or near Earth's surface, or else an undefined (invalid) time if the observer is not near Earth's surface. | |
| Time | sets_below (const Angle &el, const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const |
| Returns the time when the source sets below the specified elevation next for an observer located on or near Earth's surface, or else an undefined (invalid) time if the observer is not near Earth's surface. | |
| Angle | sun_angle (const Frame &frame) const |
| Returns the pparent angular separation of this source from the Sun, for the given observer location and time of observation. | |
| Time | transits_in (const Frame &frame) const |
| Returns the time when the source transits for an observer located on or near Earth's surface, or else an undefined (invalid) time if the observer is not near Earth's surface. | |
| enum novas_object_type | type () const |
| Returns the type of this source. | |
Public Member Functions inherited from supernovas::Validating | |
| bool | is_valid () const |
| Returns the previously set 'valid' stae of the implementing instance. | |
| operator bool () const | |
Objects that implement Validating can be used in conditionals directly, without explicitly calling is_valid(). | |
Additional Inherited Members | |
Static Public Member Functions inherited from supernovas::Source | |
| static void | set_case_sensitive (bool value) |
| Enables or disabled case-sensitive treatment of source names. | |
Protected Member Functions inherited from supernovas::SolarSystemSource | |
| SolarSystemSource () | |
Protected Member Functions inherited from supernovas::Source | |
| Source () | |
| stored data on source | |
Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
Protected Attributes inherited from supernovas::Source | |
| struct novas_object | _object = {} |
Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
A Solar-system source, whose position and velocity can be calculated using Keplerian orbital elements.
While Keplerian orbitals are not typically accurate for long-term predictions, they can be accurate in the short term, provided that one uses appropriate up-to-date orbital elements, e.g. such as published by the Minor Planet Center (daily or otherwise regularly) for asteroids, comets, an Near-Earth Objects (NEOs). For newly discovered objects, the Keplerian orbital elements by the MPC may be the most accurate, or the only, source of information.
| supernovas::OrbitalSource::OrbitalSource | ( | const std::string & | name, |
| const Orbital & | orbit ) |
Instantiates a new Solar-system source defined by Keplerian orbital elements.
| name | source name as desired by the user. |
| orbit | Keplerian orbital elements. |
References supernovas::SolarSystemSource::SolarSystemSource(), supernovas::Orbital::_novas_orbital(), supernovas::Source::_object, supernovas::Validating::_valid, supernovas::Validating::is_valid(), make_orbital_object(), supernovas::Source::name(), and NOVAS_ORBITAL_OBJECT.
Referenced by copy().
| const novas_orbital * supernovas::OrbitalSource::_novas_orbital | ( | ) | const |
Returns the underlying C orbital elements data structure for this source.
References supernovas::Source::_object.
|
overridevirtual |
Returns a pointer to a newly allocated copy of this Solar-system orbital source instance.
Implements supernovas::Source.
References OrbitalSource().
| Orbital supernovas::OrbitalSource::orbital | ( | ) | const |
Returns the Keplerian orbital parameters of this source.
References supernovas::Source::_object, supernovas::Orbital::from_novas_orbit(), and supernovas::Validating::is_valid().
|
overridevirtual |
Returns a string representation of this orbital source.
Implements supernovas::Source.
References supernovas::Source::name().