![]() |
siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
|
Abstract base for any celestial object that can be tracked from an observer location. More...
#include <siderust/trackable.hpp>

Public Member Functions | |
| virtual | ~Target ()=default |
| virtual std::string | name () const =0 |
| Human-readable name for this target (e.g. "Sun", "Vega", "ICRS(279.2°, 38.8°)"). | |
| virtual qtty::Degree | altitude_at (const Geodetic &obs, const Time< TT, MJD > &mjd) const =0 |
| Compute altitude (degrees) at a given Time<TT, MJD> instant. | |
| virtual std::vector< Period< TT, MJD > > | above_threshold (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) const =0 |
| Find periods when the object is above a threshold altitude. | |
| virtual std::vector< Period< TT, MJD > > | below_threshold (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) const =0 |
| Find periods when the object is below a threshold altitude. | |
| virtual std::vector< CrossingEvent > | crossings (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) const =0 |
| Find threshold-crossing events (rising / setting). | |
| virtual std::vector< CulminationEvent > | culminations (const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={}) const =0 |
| Find culmination (local altitude extremum) events. | |
| virtual qtty::Degree | azimuth_at (const Geodetic &obs, const Time< TT, MJD > &mjd) const =0 |
| Compute azimuth (degrees, N-clockwise) at a given Time<TT, MJD> instant. | |
| virtual std::vector< AzimuthCrossingEvent > | azimuth_crossings (const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree bearing, const SearchOptions &opts={}) const =0 |
| Find epochs when the object crosses a given azimuth bearing. | |
| Target ()=default | |
| Target (const Target &)=delete | |
| Target & | operator= (const Target &)=delete |
| Target (Target &&)=default | |
| Target & | operator= (Target &&)=default |
Abstract base for any celestial object that can be tracked from an observer location.
Subclasses represent concrete target kinds: fixed sky directions, catalog stars, solar-system bodies, and (in the future) satellites. All must implement name(), altitude_at(), and azimuth_at(); the search helpers also need overrides.
Definition at line 54 of file trackable.hpp.
|
virtualdefault |
|
default |
Referenced by operator=(), operator=(), Target(), and Target().
|
delete |
References Target().
|
default |
References Target().
|
pure virtual |
Find periods when the object is above a threshold altitude.
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Compute altitude (degrees) at a given Time<TT, MJD> instant.
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Compute azimuth (degrees, N-clockwise) at a given Time<TT, MJD> instant.
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Find epochs when the object crosses a given azimuth bearing.
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Find periods when the object is below a threshold altitude.
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Find threshold-crossing events (rising / setting).
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Find culmination (local altitude extremum) events.
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.
|
pure virtual |
Human-readable name for this target (e.g. "Sun", "Vega", "ICRS(279.2°, 38.8°)").
Implemented in siderust::BodyTarget, siderust::DirectionTarget< C >, siderust::DirectionTarget< spherical::direction::EclipticMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanJ2000 >, siderust::DirectionTarget< spherical::direction::EquatorialMeanOfDate >, siderust::DirectionTarget< spherical::direction::EquatorialTrueOfDate >, siderust::DirectionTarget< spherical::direction::ICRF >, siderust::DirectionTarget< spherical::direction::ICRS >, siderust::ProperMotionTarget, and siderust::StarTarget.