![]() |
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>
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 |
| Public Member Functions inherited from supernovas::SolarSystemSource | |
| Geometric | geometric_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| 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 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), or else an invalid position. | |
| HorizontalTrack | horizontal_track (const Frame &frame, RefractionModel ref=NULL, const Weather &weather=Weather::standard()) const |
| Returns the short-term horizontal 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. | |
| Angle | moon_angle (const Frame &frame) const |
| Returns the 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 std::nullopt 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 std::nullopt if the observer is not near Earth's surface. | |
| Angle | sun_angle (const Frame &frame) const |
| Returns the 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 std::nullopt 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 |
Implements supernovas::Source.
References supernovas::Source::name().