![]() |
SuperNOVAS C++ API v1.6
High-precision C/C++ astrometry library
|
Ecliptic coordinates (l, b or λ, β), representing the direction on the sky, for a particular type of equatorial coordinate reference system, relative to the ecliptic and equinox of that system. More...
#include <supernovas.h>
Public Member Functions | |
| Ecliptic (const Angle &longitude, const Angle &latitude, const Equinox &system=Equinox::icrs()) | |
| Instantiates new ecliptic coordinates with the specified parameters. | |
| Ecliptic (const Position &pos, const Equinox &system=Equinox::icrs()) | |
| Instantiates new ecliptic coordinates with the specified ecliptic cartesian position vector. | |
| Ecliptic (const std::string &longitude, const std::string &latitude, const Equinox &system=Equinox::icrs()) | |
| Instantiates ecliptic coordinates with the specified string representations of the longitude and latitude coordinates, optionally specifying a system and a distance if needed. | |
| Ecliptic (double longitude_rad, double latitude_rad, const Equinox &system=Equinox::icrs()) | |
| Instantiates new ecliptic coordinates with the specified parameters. | |
| Angle | distance_to (const Ecliptic &other) const |
| Returns the angular distance of these ecliptic coordiantes to/from the specified other ecliptic coordinates. | |
| bool | equals (const Ecliptic &other, const Angle &precision) const |
| Checks if these ecliptic coordinates are the same as another, within the specified precision. | |
| bool | equals (const Ecliptic &other, double precision_rad=1.0 *Unit::uas) const |
| Checks if these ecliptic coordinates are the same as another, within the specified precision. | |
| enum novas_equator_type | equator_type () const |
| Returns the type of equator (ICRS, mean, or true) that is used for these ecliptic coordinates. | |
| double | jd () const |
| Returns the Julian date of the epoch for which the coordinates are defined. | |
| double | mjd () const |
| Returns the Modified Julian Date (MJD) of the epoch for which the coordinates are defined. | |
| bool | operator!= (const Ecliptic &other) const |
| Checks if these ecliptic coordinates differ from another, by more than 1 μ uas. | |
| bool | operator== (const Ecliptic &other) const |
| Checks if these ecliptic coordinates are the same as another, within 1 μas. | |
| Ecliptic | operator>> (const Equinox &system) const |
| Converts these ecliptic coordinates to the ecliptic coordinate system with respect to the specified equinox of date. | |
| Equinox | system () const |
| Returns the equinox of date relative to which these ecliptic coordinates are defined. | |
| Equatorial | to_equatorial () const |
| Returns a reference to a statically defined standard invalid Galactic coordinates. | |
| Galactic | to_galactic () const |
| Converts these ecliptic coordinates to equivalent Galactic coordinates. | |
| Ecliptic | to_icrs () const |
| Converts these ecliptic coordinates to ICRS ecliptic coordinates. | |
| Ecliptic | to_j2000 () const |
| Converts these ecliptic coordinates to J2000 ecliptic coordinates. | |
| Ecliptic | to_mod (const Time &time) const |
| Converts these ecliptic coordinates to Mean-of-Date (MOD) ecliptic coordinates at the specified epch. | |
| std::string | to_string (enum novas_separator_type separator=NOVAS_SEP_UNITS_AND_SPACES, int decimals=3) const override |
| Returns a string representation of these ecliptic coordinates, optionally specifying a type of separator to use for the DMS angles, and the decimal places to show for the seconds. | |
| Ecliptic | to_system (const Equinox &system) const |
| Converts these ecliptic coordinates to the ecliptic coordinate system with respect to the specified equinox of date. | |
| Ecliptic | to_tod (const Time &time) const |
| Converts these ecliptic coordinates to True-of-Date (TOD) ecliptic coordinates at the specified epch. | |
| Public Member Functions inherited from supernovas::Spherical | |
| Spherical (const Angle &longitude, const Angle &latitude) | |
| Instantiates new spherical coordinates with the specified components. | |
| Spherical (const std::string &longitude, const std::string &latitude) | |
| Instantiates spherical coordinates with the specified string representations of the longitude and latitude coordinates, optionally specifying a system and a distance if needed. | |
| Spherical (double longitude_rad, double latitude_rad) | |
| Instantiates new spherical coordinates with the specified components. | |
| virtual | ~Spherical () |
| const Angle & | latitude () const |
| Returns the latitude coordinate as an angle. | |
| const Angle & | longitude () const |
| Returns the longitude coordinate as an angle. | |
| Position | xyz (const Coordinate &distance) const |
| Returns the cartesian position vector corresponding to these spherical coordinates. | |
| 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(). | |
Static Public Member Functions | |
| static const Ecliptic & | undefined () |
| Returns a reference to a statically defined standard invalid ecliptic coordinates. | |
Additional Inherited Members | |
| Protected Member Functions inherited from supernovas::Spherical | |
| Spherical () | |
| Instantiates invalid spherical coordinates. | |
| Angle | distance_to (const Spherical &other) const |
| Returns the angular distance of these spherical coordiantes to/from the specified other spherical coordinates. | |
| bool | equals (const Spherical &other, double precision) const |
| Protected Member Functions inherited from supernovas::Validating | |
| Validating () | |
| dummy constructor; | |
| Protected Attributes inherited from supernovas::Validating | |
| bool | _valid = false |
| the state variable. | |
Ecliptic coordinates (l, b or λ, β), representing the direction on the sky, for a particular type of equatorial coordinate reference system, relative to the ecliptic and equinox of that system.
| supernovas::Ecliptic::Ecliptic | ( | double | longitude_rad, |
| double | latitude_rad, | ||
| const Equinox & | system = Equinox::icrs() ) |
Instantiates new ecliptic coordinates with the specified parameters.
| longitude_rad | [rad] ecliptic longitude coordinate |
| latitude_rad | [rad] ecliptic latitude coordinate |
| system | (optional) the equatorial coordinate reference system that defines the the origin of ecliptic longitude, that is the equinox of date (default: ICRS). |
References supernovas::Spherical::Spherical(), equator_type(), jd(), and system().
| supernovas::Ecliptic::Ecliptic | ( | const Angle & | longitude, |
| const Angle & | latitude, | ||
| const Equinox & | system = Equinox::icrs() ) |
Instantiates new ecliptic coordinates with the specified parameters.
| longitude | ecliptic longitude coor dinate |
| latitude | ecliptic latitude coordinate |
| system | (optional) The equatorial coordinate reference system that defines the origin of ecliptic longitude, that is the equinox of date (default: ICRS). |
References supernovas::Spherical::latitude(), supernovas::Spherical::longitude(), and system().
| supernovas::Ecliptic::Ecliptic | ( | const std::string & | longitude, |
| const std::string & | latitude, | ||
| const Equinox & | system = Equinox::icrs() ) |
Instantiates ecliptic coordinates with the specified string representations of the longitude and latitude coordinates, optionally specifying a system and a distance if needed.
After instantiation, you should check that the resulting coordinates are valid, e.g. as:
| longitude | string representation of the longitude coordinate in DMS or a decimnal degrees. |
| latitude | string representation of the declination coordinate as DMS or decimal degrees. |
| system | (optional) the equatorial coordinate reference system that defines the the origin of ecliptic longitude, that is the equinox of date (default: ICRS). |
References supernovas::Spherical::latitude(), supernovas::Spherical::longitude(), and system().
|
explicit |
Instantiates new ecliptic coordinates with the specified ecliptic cartesian position vector.
| pos | Ecliptic xyz position vector |
| system | (optional) the equatorial coordinate reference system that defines the the origin of ecliptic longitude, that is the equinox of date (default: ICRS). |
References supernovas::Spherical::Spherical(), equator_type(), jd(), and system().
| Angle supernovas::Ecliptic::distance_to | ( | const Ecliptic & | other | ) | const |
Returns the angular distance of these ecliptic coordiantes to/from the specified other ecliptic coordinates.
| other | the reference ecliptic coordinates |
References supernovas::Spherical::distance_to(), supernovas::Validating::is_valid(), and system().
| bool supernovas::Ecliptic::equals | ( | const Ecliptic & | other, |
| const Angle & | precision ) const |
Checks if these ecliptic coordinates are the same as another, within the specified precision.
| other | the reference ecliptic coordinates |
| precision | (optional) precision for equality test (default: 1 μas). |
References equals(), and supernovas::Angle::rad().
| bool supernovas::Ecliptic::equals | ( | const Ecliptic & | other, |
| double | precision_rad = 1.0 * Unit::uas ) const |
Checks if these ecliptic coordinates are the same as another, within the specified precision.
| other | the reference ecliptic coordinates |
| precision_rad | [rad] (optional) precision for equality test (default: 1 μas). |
References supernovas::Spherical::equals().
Referenced by equals(), operator!=(), and operator==().
| enum novas_equator_type supernovas::Ecliptic::equator_type | ( | ) | const |
Returns the type of equator (ICRS, mean, or true) that is used for these ecliptic coordinates.
Referenced by Ecliptic(), and Ecliptic().
| double supernovas::Ecliptic::jd | ( | ) | const |
Returns the Julian date of the epoch for which the coordinates are defined.
Referenced by Ecliptic(), and Ecliptic().
| double supernovas::Ecliptic::mjd | ( | ) | const |
Returns the Modified Julian Date (MJD) of the epoch for which the coordinates are defined.
References NOVAS_JD_MJD0.
| bool supernovas::Ecliptic::operator!= | ( | const Ecliptic & | other | ) | const |
Checks if these ecliptic coordinates differ from another, by more than 1 μ uas.
| other | the reference ecliptic coordinates |
References equals().
| bool supernovas::Ecliptic::operator== | ( | const Ecliptic & | other | ) | const |
Checks if these ecliptic coordinates are the same as another, within 1 μas.
| other | the reference ecliptic coordinates |
References equals().
| Ecliptic supernovas::Ecliptic::operator>> | ( | const Equinox & | system | ) | const |
Converts these ecliptic coordinates to the ecliptic coordinate system with respect to the specified equinox of date.
Same as to_system().
| system | the requested equinox of date for returned coordinates. |
References supernovas::Validating::is_valid(), system(), and to_system().
| Equinox supernovas::Ecliptic::system | ( | ) | const |
Returns the equinox of date relative to which these ecliptic coordinates are defined.
References supernovas::Equinox::icrs(), supernovas::Equinox::j2000(), supernovas::Equinox::mod(), NOVAS_GCRS_EQUATOR, NOVAS_JD_J2000, NOVAS_MEAN_EQUATOR, NOVAS_TRUE_EQUATOR, supernovas::Equinox::tod(), and supernovas::Equinox::undefined().
Referenced by Ecliptic(), Ecliptic(), Ecliptic(), Ecliptic(), distance_to(), operator>>(), to_equatorial(), and to_system().
| Ecliptic supernovas::Ecliptic::to_icrs | ( | ) | const |
Converts these ecliptic coordinates to ICRS ecliptic coordinates.
References supernovas::Validating::is_valid(), NOVAS_GCRS_EQUATOR, supernovas::Equatorial::to_ecliptic(), to_equatorial(), and supernovas::Equatorial::to_icrs().
| Ecliptic supernovas::Ecliptic::to_j2000 | ( | ) | const |
Converts these ecliptic coordinates to J2000 ecliptic coordinates.
References supernovas::Validating::is_valid(), NOVAS_JD_J2000, NOVAS_MEAN_EQUATOR, supernovas::Equatorial::to_ecliptic(), to_equatorial(), and supernovas::Equatorial::to_j2000().
Referenced by to_mod().
| Ecliptic supernovas::Ecliptic::to_mod | ( | const Time & | time | ) | const |
Converts these ecliptic coordinates to Mean-of-Date (MOD) ecliptic coordinates at the specified epch.
| Time of observation and astronomical timescales | the astronomical time specifying the coordinate epoch. |
References supernovas::Validating::is_valid(), supernovas::Time::j2000(), supernovas::Time::jd(), NOVAS_MEAN_EQUATOR, supernovas::Equatorial::to_ecliptic(), to_equatorial(), to_j2000(), and supernovas::Equatorial::to_mod().
|
overridevirtual |
Returns a string representation of these ecliptic coordinates, optionally specifying a type of separator to use for the DMS angles, and the decimal places to show for the seconds.
| separator | (optional) the type of separator to use for the DMS representation of angles (default: units and spaces) |
| decimals | (optional) the number of decimal places to print for the seconds (default: 3) |
Reimplemented from supernovas::Spherical.
References supernovas::Spherical::to_string().
| Ecliptic supernovas::Ecliptic::to_system | ( | const Equinox & | system | ) | const |
Converts these ecliptic coordinates to the ecliptic coordinate system with respect to the specified equinox of date.
| system | the requested equinox of date for returned coordinates. |
References supernovas::Validating::is_valid(), system(), supernovas::Equatorial::to_ecliptic(), to_equatorial(), and supernovas::Equatorial::to_system().
Referenced by operator>>().
| Ecliptic supernovas::Ecliptic::to_tod | ( | const Time & | time | ) | const |
Converts these ecliptic coordinates to True-of-Date (TOD) ecliptic coordinates at the specified epch.
| Time of observation and astronomical timescales | the astronomical time specifying the coordinate epoch. |
References supernovas::Validating::is_valid(), supernovas::Time::jd(), NOVAS_TRUE_EQUATOR, supernovas::Equatorial::to_ecliptic(), to_equatorial(), and supernovas::Equatorial::to_tod().
|
static |
Returns a reference to a statically defined standard invalid ecliptic coordinates.
These invalid coordinates may be used inside any object that is invalid itself.
Referenced by supernovas::Equatorial::to_ecliptic().