siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
siderust::Target Class Referenceabstract

Abstract base for any celestial object that can be tracked from an observer location. More...

#include <siderust/trackable.hpp>

Inheritance diagram for siderust::Target:

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~Target()

virtual siderust::Target::~Target ( )
virtualdefault

◆ Target() [1/3]

siderust::Target::Target ( )
default

Referenced by operator=(), operator=(), Target(), and Target().

◆ Target() [2/3]

siderust::Target::Target ( const Target & )
delete

References Target().

◆ Target() [3/3]

siderust::Target::Target ( Target && )
default

References Target().

Member Function Documentation

◆ above_threshold()

◆ altitude_at()

◆ azimuth_at()

◆ azimuth_crossings()

◆ below_threshold()

◆ crossings()

◆ culminations()

◆ name()

◆ operator=() [1/2]

Target & siderust::Target::operator= ( const Target & )
delete

References Target().

◆ operator=() [2/2]

Target & siderust::Target::operator= ( Target && )
default

References Target().


The documentation for this class was generated from the following file: