![]() |
SuperNOVAS C++ API v1.8
High-precision C/C++ astrometry library
|
An observer whose position and velocity is defined by Keplerian orbital parameters around a major Solar-system body (such as the Sun, Moon, major planets, or barycenters). More...
#include <supernovas.h>
Public Member Functions | |
| OrbitalObserver (const Orbital &orbital, const std::string &name="orbital observer") | |
| Instantiates a new observer, whose location is defined by Keplerian orbital parameters around a major Solar System body. | |
| const std::string & | className () const override |
| Returns the observer class name. | |
| const Observer * | copy () const override |
| Returns a newly allocated copy of this observer. | |
| bool | equals (const Observer &other) const override |
| Checks if this observer is essentially the same as the other, within the tolerances associated to their defining components. | |
| std::string | name () const |
| Returns the name used for the ephemeris lookup by the currently configured novas_ephem_provider function. | |
| const Orbital | orbital () const |
| Returns a new instance of the Keplerian orbital elements that define this observer's location and movement. | |
| std::string | to_string () const override |
| Returns a string representation of this observer. | |
| Public Member Functions inherited from supernovas::DynamicObserver | |
| DynamicObserver (novas_state_provider call, const void *arg=NULL) | |
| Instantiates a new observer with dynamically determined position / velocity via a designated state provider function. | |
| Geometric | barycentric_at (const Time &time, enum novas_accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the Solar System Barycentric position and velocity vectors of this observer for the specified time and accuracy. | |
| novas_state_provider | state_call () const |
| const void * | state_call_arg () const |
| Public Member Functions inherited from supernovas::Observer | |
| virtual | ~Observer () |
| const observer * | _novas_observer () const |
| Returns the underlying NOVAS C observer data structure. | |
| Frame | frame_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns an observing frame for this observer at the specified time and optionally with a specified accuracy. | |
| virtual bool | is_geocentric () const |
| Checks if this observer can be cast to a GeocentricObserver. | |
| virtual bool | is_geodetic () const |
| Checks if this observer can be cast to a GeodeticObserver. | |
| bool | operator!= (const Observer &other) const |
| Checks if two observers differ given standard tolerances associated to their defining components. | |
| bool | operator== (const Observer &other) const |
| Checks if two observers are essentially the same within the tolerances associated to their defining components. | |
| Frame | reduced_accuracy_frame_at (const Time &time) const |
| Returns a reduced accuracy observing frame for this observer at the specified time. | |
| Interferometric | to_interferometric (const Apparent &phase_center, enum novas_reference_system system=NOVAS_ICRS) const |
| Returns projected u,v,w coordinates for an interferometer station. | |
| enum novas_observer_place | type () const |
| Returns the observer type. | |
| Public Member Functions inherited from supernovas::Validating | |
| bool | is_valid () const |
| Returns the previously set 'valid' state 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::Observer | |
| static GeocentricObserver | at_geocenter () |
| Returns a fictitious observer placed at the location of the geocenter. | |
| static SolarSystemObserver | at_ssb () |
| Returns a fictitious observer placed at the location of the Solar-System Barycenter (SSB). | |
| static DynamicObserver | dynamic (novas_state_provider state_call, const void *arg=NULL) |
| Returns a new observer with dynamically determined position / velocity via a designated state provider function. | |
| static GeocentricObserver | in_earth_orbit (const Position &pos, const Velocity &vel) |
| Returns a new observer orbiting the Earth. | |
| static EphemerisObserver | in_ephemeris (const std::string &name, long id) |
| Returns a new observer defined by an ephemeris position, that can be obtained by the configured novas_ephem_provider call. | |
| static OrbitalObserver | in_orbital (const Orbital &orbit, const std::string &name="orbital observer") |
| Returns a new observer, whose location is defined by Keplerian orbital parameters around a major Solar System body. | |
| static SolarSystemObserver | in_solar_system (const Position &pos, const Velocity &vel) |
| Returns a new observer in some Solar-system location. | |
| static GeodeticObserver | moving_on_earth (const Site &site, const EOP &eop, const ScalarVelocity &horizontal, const Angle &direction, const ScalarVelocity &vertical=ScalarVelocity::stationary()) |
| Instantiates a new observer that is moving relative to Earth's surface, such as an airborne observer. | |
| static GeodeticObserver | moving_on_earth (const Site &site, const Velocity &itrs_vel, const EOP &eop=EOP::undefined()) |
| Returns a new observer that is moving, at some velocitym relative to Earth's surface, such as an airborne aircraft or balloon based observatory. | |
| static GeodeticObserver | on_earth (const Site &site, const EOP &eop=EOP::undefined()) |
| Returns a new observer located at a fixed observing site. | |
| static const Observer & | undefined () |
| Returns a reference to a statically defined standard invalid observer. | |
| Protected Member Functions inherited from supernovas::DynamicObserver | |
| void | set_arg (const void *ptr) |
| Sets the pointer argument to pass onto the state function call. | |
| Protected Member Functions inherited from supernovas::Observer | |
| Observer (enum novas_observer_place type, const Site &site=Site::undefined(), const Position &pos=Position::origin(), const Velocity &vel=Velocity::stationary()) | |
| virtual Position | gcrs_position_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the geocentric geometric position vector for this observer, in the GCRS, at the specified time and accuracy. | |
| virtual Velocity | gcrs_velocity_at (const Time &time, enum novas_accuracy accuracy=NOVAS_FULL_ACCURACY) const |
| Returns the geocentric geometric velocity vector for this observer, in the GCRS, at the specified time and accuracy. | |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
| Protected Attributes inherited from supernovas::Observer | |
| observer | _observer = {} |
| stored observer data | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
An observer whose position and velocity is defined by Keplerian orbital parameters around a major Solar-system body (such as the Sun, Moon, major planets, or barycenters).
|
explicit |
Instantiates a new observer, whose location is defined by Keplerian orbital parameters around a major Solar System body.
| orbital | the Keplerian orbital elements that define the observer location. |
| name | (optional) a descriptive name or label to identify this observer (default: "orbital observer"). |
References supernovas::DynamicObserver::DynamicObserver(), supernovas::Orbital::_novas_orbital(), supernovas::Observer::_observer, supernovas::Validating::_valid, novas_observer::call_arg, supernovas::Validating::is_valid(), make_orbital_object(), name(), novas_ephem_state(), and orbital().
|
overridevirtual |
Returns the observer class name.
All concrete subclasses should override this method to return their C++ class name.
Reimplemented from supernovas::DynamicObserver.
Referenced by equals(), and to_string().
|
overridevirtual |
Returns a newly allocated copy of this observer.
The default implementation returns an invalid observer, but concrete subclasses should override that to return their onw copies.
Reimplemented from supernovas::DynamicObserver.
References OrbitalObserver(), name(), and orbital().
|
overridevirtual |
Checks if this observer is essentially the same as the other, within the tolerances associated to their defining components.
Note, that an observer may not equal itself if it contains NAN or infinite components.
| other | the other observer |
Reimplemented from supernovas::Observer.
References OrbitalObserver(), supernovas::Observer::className(), className(), and novas_equals_object().
| std::string supernovas::OrbitalObserver::name | ( | ) | const |
Returns the name used for the ephemeris lookup by the currently configured novas_ephem_provider function.
Referenced by OrbitalObserver(), and copy().
| const Orbital supernovas::OrbitalObserver::orbital | ( | ) | const |
Returns a new instance of the Keplerian orbital elements that define this observer's location and movement.
References supernovas::Orbital::from_novas_orbit().
Referenced by OrbitalObserver(), copy(), and to_string().
|
overridevirtual |
Returns a string representation of this observer.
Reimplemented from supernovas::DynamicObserver.
References className(), orbital(), and supernovas::Orbital::to_string().