![]() |
siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
|
Namespaces | |
| namespace | body |
| namespace | cartesian |
| namespace | centers |
| namespace | constants |
| namespace | coordinates |
| namespace | detail |
| namespace | ephemeris |
| namespace | frames |
| namespace | icrs_altitude |
| namespace | lambert |
| namespace | moon |
| namespace | oem |
| namespace | sgp4 |
| namespace | spherical |
| namespace | star_altitude |
| namespace | sun |
| namespace | tle |
Classes | |
| class | AllocationFailedError |
| struct | AngularRate |
| class | AstroContext |
| struct | AzimuthCrossingEvent |
| An azimuth bearing-crossing event. More... | |
| struct | AzimuthExtremum |
| An azimuth extremum event. More... | |
| struct | BodycentricParams |
| Parameters for a body-centric coordinate system. More... | |
| struct | BodycentricPos |
| Result of a body-centric coordinate transformation. More... | |
| class | BodyTarget |
| Target implementation for solar-system bodies. More... | |
| struct | CartesianVelocity |
| Cartesian velocity in AU/day, tagged by reference frame. More... | |
| struct | ConicOrbit |
| struct | CrossingEvent |
| A threshold-crossing event (rising or setting). More... | |
| struct | CulminationEvent |
| A culmination (local altitude extremum) event. More... | |
| class | DataLoadError |
| class | DirectionTarget |
Fixed celestial direction target — a Target for a specific sky position. More... | |
| struct | Eccentricity |
| struct | Geodetic |
| Geodetic position (WGS84 ellipsoid). More... | |
| struct | Iau2000A |
| struct | Iau2000B |
| struct | Iau2006 |
| struct | Iau2006A |
| class | InternalPanicError |
| class | InvalidArgumentError |
| class | InvalidBodyError |
| class | InvalidCenterError |
| class | InvalidDimensionError |
| class | InvalidFrameError |
| class | InvalidPeriodError |
| struct | KeplerianOrbit |
| struct | MeanMotionOrbit |
| struct | MoonPhaseGeometry |
| Geometric description of the Moon's phase at a point in time. More... | |
| class | NoEopDataError |
| class | NullPointerError |
| class | OutOfRangeError |
| struct | PhaseEvent |
| A principal lunar phase event (new moon, first quarter, etc.). More... | |
| struct | Planet |
| Planet data (value type, copyable). More... | |
| class | PreparedOrbit |
| struct | ProperMotion |
| Proper motion for a star (equatorial). More... | |
| class | ProperMotionTarget |
| ICRS target with proper motion (RAII wrapper over the FFI handle). More... | |
| class | RuntimeEphemeris |
| Runtime-loaded JPL DE4xx ephemeris. More... | |
| struct | SearchOptions |
| Options for altitude search algorithms. More... | |
| class | SiderustException |
| class | SkyGrid |
| Typed hemispherical alt/az grid sampler. More... | |
| struct | SkyGridCell |
| A single sky-grid cell: a Horizontal direction and its solid angle. More... | |
| struct | SolarLuminosity |
| struct | SolarMass |
| struct | SolarRadius |
| class | Star |
| RAII handle to a Star (opaque Rust object). More... | |
| class | StarTarget |
Target implementation wrapping a const Star&. More... | |
| struct | StellarProperties |
| class | Subject |
| Unified, lightweight handle representing any celestial subject. More... | |
| class | Target |
| Abstract base for any celestial object that can be tracked from an observer location. More... | |
| class | TransformFailedError |
| class | UnknownStarError |
Typedefs | |
| using | ICRSTarget = DirectionTarget< spherical::direction::ICRS > |
| Fixed direction in ICRS (most common use-case). | |
| using | ICRFTarget = DirectionTarget< spherical::direction::ICRF > |
| Fixed direction in ICRF (treated identically to ICRS in Siderust). | |
| using | EquatorialMeanJ2000Target = DirectionTarget< spherical::direction::EquatorialMeanJ2000 > |
| Fixed direction in mean equatorial coordinates of J2000.0 (FK5). | |
| using | EquatorialMeanOfDateTarget = DirectionTarget< spherical::direction::EquatorialMeanOfDate > |
| Fixed direction in mean equatorial coordinates of date (precessed only). | |
| using | EquatorialTrueOfDateTarget = DirectionTarget< spherical::direction::EquatorialTrueOfDate > |
| using | EclipticMeanJ2000Target = DirectionTarget< spherical::direction::EclipticMeanJ2000 > |
| Fixed direction in mean ecliptic coordinates of J2000.0. | |
| using | CivilTime = tempoch::CivilTime |
| using | TimeContext = tempoch::TimeContext |
| using | TT = tempoch::scale::TT |
| using | UTC = tempoch::scale::UTC |
| using | UT1 = tempoch::scale::UT1 |
| using | TDB = tempoch::scale::TDB |
| using | TCG = tempoch::scale::TCG |
| using | TCB = tempoch::scale::TCB |
| using | TAI = tempoch::scale::TAI |
| using | GPST = tempoch::scale::GPST |
| using | JD = tempoch::format::JD |
| using | MJD = tempoch::format::MJD |
| using | Unix = tempoch::format::Unix |
| using | GPS = tempoch::format::GPS |
| using | J2000s = tempoch::format::J2000s |
| using | Calendar = CivilTime |
| template<typename Scale , typename Format > | |
| using | Time = tempoch::EncodedTime< Scale, Format > |
| template<typename Scale , typename Format > | |
| using | Period = tempoch::Period< Time< Scale, Format > > |
| template<typename Scale > | |
| using | TimeAxis = tempoch::Time< Scale > |
| template<typename Scale > | |
| using | J2000Seconds = tempoch::J2000Seconds< Scale > |
| using | Trackable = Target |
Backward-compatible alias. Prefer Target in new code. | |
Enumerations | |
| enum class | AzimuthExtremumKind : int32_t { Max = 0 , Min = 1 } |
| Distinguishes azimuth extrema: northernmost or southernmost bearing. More... | |
| enum class | Body : int32_t { Sun = SIDERUST_BODY_SUN , Moon = SIDERUST_BODY_MOON , Mercury = SIDERUST_BODY_MERCURY , Venus = SIDERUST_BODY_VENUS , Mars = SIDERUST_BODY_MARS , Jupiter = SIDERUST_BODY_JUPITER , Saturn = SIDERUST_BODY_SATURN , Uranus = SIDERUST_BODY_URANUS , Neptune = SIDERUST_BODY_NEPTUNE } |
| Identifies a solar-system body for generic altitude/azimuth dispatch. More... | |
| enum class | Frame : int32_t { ICRS = SIDERUST_FRAME_T_ICRS , EclipticMeanJ2000 = SIDERUST_FRAME_T_ECLIPTIC_MEAN_J2000 , EquatorialMeanJ2000 = SIDERUST_FRAME_T_EQUATORIAL_MEAN_J2000 , EquatorialMeanOfDate = SIDERUST_FRAME_T_EQUATORIAL_MEAN_OF_DATE , EquatorialTrueOfDate = SIDERUST_FRAME_T_EQUATORIAL_TRUE_OF_DATE , Horizontal = SIDERUST_FRAME_T_HORIZONTAL , ECEF = SIDERUST_FRAME_T_ECEF , Galactic = SIDERUST_FRAME_T_GALACTIC , GCRS = SIDERUST_FRAME_T_GCRS , EclipticOfDate = SIDERUST_FRAME_T_ECLIPTIC_OF_DATE , EclipticTrueOfDate = SIDERUST_FRAME_T_ECLIPTIC_TRUE_OF_DATE , CIRS = SIDERUST_FRAME_T_CIRS , TIRS = SIDERUST_FRAME_T_TIRS , ITRF = SIDERUST_FRAME_T_ITRF , ICRF = SIDERUST_FRAME_T_ICRF } |
| enum class | Center : int32_t { Barycentric = SIDERUST_CENTER_T_BARYCENTRIC , Heliocentric = SIDERUST_CENTER_T_HELIOCENTRIC , Geocentric = SIDERUST_CENTER_T_GEOCENTRIC , Topocentric = SIDERUST_CENTER_T_TOPOCENTRIC , Bodycentric = SIDERUST_CENTER_T_BODYCENTRIC } |
| enum class | EarthOrientationModel : int32_t { Iau2000A = SIDERUST_EARTH_ORIENTATION_MODEL_T_IAU2000_A , Iau2000B = SIDERUST_EARTH_ORIENTATION_MODEL_T_IAU2000_B , Iau2006 = SIDERUST_EARTH_ORIENTATION_MODEL_T_IAU2006 , Iau2006A = SIDERUST_EARTH_ORIENTATION_MODEL_T_IAU2006_A } |
| enum class | CrossingDirection : int32_t { Rising = SIDERUST_CROSSING_DIRECTION_T_RISING , Setting = SIDERUST_CROSSING_DIRECTION_T_SETTING } |
| enum class | CulminationKind : int32_t { Max = SIDERUST_CULMINATION_KIND_T_MAX , Min = SIDERUST_CULMINATION_KIND_T_MIN } |
| enum class | RaConvention : int32_t { MuAlpha = SIDERUST_RA_CONVENTION_T_MU_ALPHA , MuAlphaStar = SIDERUST_RA_CONVENTION_T_MU_ALPHA_STAR } |
| enum class | PhaseKind : int32_t { NewMoon = 0 , FirstQuarter = 1 , FullMoon = 2 , LastQuarter = 3 } |
| Principal lunar phase kinds (new-moon quarter events). More... | |
| enum class | MoonPhaseLabel : int32_t { NewMoon = 0 , WaxingCrescent = 1 , FirstQuarter = 2 , WaxingGibbous = 3 , FullMoon = 4 , WaningGibbous = 5 , LastQuarter = 6 , WaningCrescent = 7 } |
| Descriptive moon phase labels (8 canonical phases). More... | |
| enum class | ConicKind : std::uint8_t { Elliptic = 0 , Hyperbolic = 1 } |
| enum class | OrbitReferenceCenter : std::uint8_t { Barycentric = 0 , Heliocentric = 1 , Geocentric = 2 } |
| Specifies the reference center for an orbit. More... | |
| enum class | SubjectKind : int32_t { Body = SIDERUST_SUBJECT_KIND_T_BODY , Star = SIDERUST_SUBJECT_KIND_T_STAR , Icrs = SIDERUST_SUBJECT_KIND_T_ICRS , GenericTarget = SIDERUST_SUBJECT_KIND_T_GENERIC_TARGET } |
| Discriminant for the active field in a Subject. More... | |
| enum class | TwilightPhase : int32_t { Day = SIDERUST_TWILIGHT_PHASE_T_DAY , Civil = SIDERUST_TWILIGHT_PHASE_T_CIVIL , Nautical = SIDERUST_TWILIGHT_PHASE_T_NAUTICAL , Astronomical = SIDERUST_TWILIGHT_PHASE_T_ASTRONOMICAL , Dark = SIDERUST_TWILIGHT_PHASE_T_DARK } |
| Sky-condition phase determined by the Sun's altitude. More... | |
Functions | |
| std::ostream & | operator<< (std::ostream &os, AzimuthExtremumKind kind) |
| Stream operator for AzimuthExtremumKind. | |
| const Planet & | MERCURY () |
| const Planet & | VENUS () |
| const Planet & | EARTH () |
| const Planet & | MARS () |
| const Planet & | JUPITER () |
| const Planet & | SATURN () |
| const Planet & | URANUS () |
| const Planet & | NEPTUNE () |
| Planet | mercury () |
| Planet | venus () |
| Planet | earth () |
| Planet | mars () |
| Planet | jupiter () |
| Planet | saturn () |
| Planet | uranus () |
| Planet | neptune () |
| const Star & | VEGA () |
| const Star & | SIRIUS () |
| const Star & | POLARIS () |
| const Star & | CANOPUS () |
| const Star & | ARCTURUS () |
| const Star & | RIGEL () |
| const Star & | BETELGEUSE () |
| const Star & | PROCYON () |
| const Star & | ALDEBARAN () |
| const Star & | ALTAIR () |
| template<typename C , typename F , typename U > | |
| BodycentricPos< F, U > | to_bodycentric (const cartesian::Position< C, F, U > &pos, const BodycentricParams ¶ms, const Time< TT, JD > &jd) |
| Transform a position to body-centric coordinates. | |
| cartesian::position::ECEF< qtty::Meter > | geodetic_to_cartesian_ecef (const Geodetic &geo) |
| Convert a Geodetic (WGS84) to ECEF Cartesian position. | |
| std::ostream & | operator<< (std::ostream &os, const Geodetic &geo) |
| Stream operator for Geodetic. | |
| void | check_status (siderust_status_t status, const char *operation) |
| void | check_tempoch_status (tempoch_status_t status, const char *operation) |
| Backward-compatible wrapper — delegates to tempoch::check_status. | |
| uint32_t | ffi_version () |
| Returns the siderust-ffi ABI version (major*10000 + minor*100 + patch). | |
| std::ostream & | operator<< (std::ostream &os, CrossingDirection dir) |
| std::ostream & | operator<< (std::ostream &os, CulminationKind kind) |
| std::ostream & | operator<< (std::ostream &os, EarthOrientationModel model) |
| double | illuminated_percent (const MoonPhaseGeometry &geom) |
| Get the illuminated fraction as a percentage [0, 100]. | |
| bool | is_waxing (MoonPhaseLabel label) |
| Check if a phase label describes a waxing moon. | |
| bool | is_waning (MoonPhaseLabel label) |
| Check if a phase label describes a waning moon. | |
| std::ostream & | operator<< (std::ostream &os, PhaseKind kind) |
| Stream operator for PhaseKind. | |
| std::ostream & | operator<< (std::ostream &os, MoonPhaseLabel label) |
| Stream operator for MoonPhaseLabel. | |
| Geodetic | geodetic (double lon_deg, double lat_deg, double height_m=0.0) |
| Create a custom geodetic position (WGS84). | |
| const Geodetic & | ROQUE_DE_LOS_MUCHACHOS () |
| Roque de los Muchachos Observatory (La Palma, Spain). | |
| const Geodetic & | EL_PARANAL () |
| El Paranal Observatory (Chile). | |
| const Geodetic & | MAUNA_KEA () |
| Mauna Kea Observatory (Hawaii, USA). | |
| const Geodetic & | LA_SILLA_OBSERVATORY () |
| La Silla Observatory (Chile). | |
| Geodetic | roque_de_los_muchachos () |
| Geodetic | el_paranal () |
| Geodetic | mauna_kea () |
| Geodetic | la_silla () |
| template<typename C = centers::Heliocentric> | |
| cartesian::Position< C, frames::EclipticMeanJ2000, qtty::AstronomicalUnit > | kepler_position (const KeplerianOrbit &orbit, const Time< TT, JD > &jd) |
| std::ostream & | operator<< (std::ostream &os, ConicKind kind) |
| std::ostream & | operator<< (std::ostream &os, OrbitReferenceCenter center) |
| qtty::Radian | altitude_at (const Subject &subj, const Geodetic &obs, const Time< TT, MJD > &mjd) |
| Altitude at an instant (radians) for any subject. | |
| std::vector< Period< TT, MJD > > | above_threshold (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) |
| Periods when a subject is above a threshold altitude. | |
| std::vector< Period< TT, MJD > > | below_threshold (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) |
| Periods when a subject is below a threshold altitude. | |
| std::vector< CrossingEvent > | crossings (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree threshold, const SearchOptions &opts={}) |
| Threshold-crossing events for a subject. | |
| std::vector< CulminationEvent > | culminations (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={}) |
| Culmination (local extrema) events for a subject. | |
| std::vector< Period< TT, MJD > > | altitude_ranges (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_alt, qtty::Degree max_alt, const SearchOptions &opts={}) |
| Periods when a subject's altitude is within [min, max]. | |
| qtty::Degree | azimuth_at (const Subject &subj, const Geodetic &obs, const Time< TT, MJD > &mjd) |
| Azimuth at an instant (degrees, N-clockwise) for any subject. | |
| std::vector< AzimuthCrossingEvent > | azimuth_crossings (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree bearing, const SearchOptions &opts={}) |
| Azimuth bearing-crossing events for a subject. | |
| std::vector< AzimuthExtremum > | azimuth_extrema (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, const SearchOptions &opts={}) |
| Azimuth extrema (northernmost / southernmost) for a subject. | |
| std::vector< Period< TT, MJD > > | in_azimuth_range (const Subject &subj, const Geodetic &obs, const Period< TT, MJD > &window, qtty::Degree min_deg, qtty::Degree max_deg, const SearchOptions &opts={}) |
| Periods when a subject's azimuth is within [min_deg, max_deg]. | |
| TwilightPhase | twilight_phase (qtty::Degree altitude) |
| Classify the sky condition from the Sun's altitude in degrees. | |
| TwilightPhase | twilight_phase (qtty::Radian altitude) |
| Classify the sky condition from the Sun's altitude in radians. | |
| using siderust::Calendar = typedef CivilTime |
| using siderust::CivilTime = typedef tempoch::CivilTime |
| using siderust::EclipticMeanJ2000Target = typedef DirectionTarget<spherical::direction::EclipticMeanJ2000> |
Fixed direction in mean ecliptic coordinates of J2000.0.
Definition at line 393 of file target.hpp.
| using siderust::EquatorialMeanJ2000Target = typedef DirectionTarget<spherical::direction::EquatorialMeanJ2000> |
Fixed direction in mean equatorial coordinates of J2000.0 (FK5).
Definition at line 383 of file target.hpp.
| using siderust::EquatorialMeanOfDateTarget = typedef DirectionTarget<spherical::direction::EquatorialMeanOfDate> |
Fixed direction in mean equatorial coordinates of date (precessed only).
Definition at line 386 of file target.hpp.
| using siderust::EquatorialTrueOfDateTarget = typedef DirectionTarget<spherical::direction::EquatorialTrueOfDate> |
Fixed direction in true equatorial coordinates of date (precessed + nutated).
Definition at line 390 of file target.hpp.
| using siderust::GPS = typedef tempoch::format::GPS |
| using siderust::GPST = typedef tempoch::scale::GPST |
| using siderust::ICRFTarget = typedef DirectionTarget<spherical::direction::ICRF> |
Fixed direction in ICRF (treated identically to ICRS in Siderust).
Definition at line 380 of file target.hpp.
| using siderust::ICRSTarget = typedef DirectionTarget<spherical::direction::ICRS> |
Fixed direction in ICRS (most common use-case).
Definition at line 377 of file target.hpp.
| using siderust::J2000s = typedef tempoch::format::J2000s |
| using siderust::J2000Seconds = typedef tempoch::J2000Seconds<Scale> |
| using siderust::JD = typedef tempoch::format::JD |
| using siderust::MJD = typedef tempoch::format::MJD |
| using siderust::Period = typedef tempoch::Period<Time<Scale, Format> > |
| using siderust::TAI = typedef tempoch::scale::TAI |
| using siderust::TCB = typedef tempoch::scale::TCB |
| using siderust::TCG = typedef tempoch::scale::TCG |
| using siderust::TDB = typedef tempoch::scale::TDB |
| using siderust::Time = typedef tempoch::EncodedTime<Scale, Format> |
| using siderust::TimeAxis = typedef tempoch::Time<Scale> |
| using siderust::TimeContext = typedef tempoch::TimeContext |
| using siderust::Trackable = typedef Target |
Backward-compatible alias. Prefer Target in new code.
Definition at line 132 of file trackable.hpp.
| using siderust::TT = typedef tempoch::scale::TT |
| using siderust::Unix = typedef tempoch::format::Unix |
| using siderust::UT1 = typedef tempoch::scale::UT1 |
| using siderust::UTC = typedef tempoch::scale::UTC |
|
strong |
Distinguishes azimuth extrema: northernmost or southernmost bearing.
| Enumerator | |
|---|---|
| Max | Northernmost (or easternmost) direction reached by the body. |
| Min | Southernmost (or westernmost) direction reached by the body. |
Definition at line 38 of file azimuth.hpp.
|
strong |
Identifies a solar-system body for generic altitude/azimuth dispatch.
Maps 1:1 to the FFI SiderustBody discriminant.
| Enumerator | |
|---|---|
| Sun | |
| Moon | |
| Mercury | |
| Venus | |
| Mars | |
| Jupiter | |
| Saturn | |
| Uranus | |
| Neptune | |
Definition at line 47 of file body_target.hpp.
|
strong |
| Enumerator | |
|---|---|
| Barycentric | |
| Heliocentric | |
| Geocentric | |
| Topocentric | |
| Bodycentric | |
Definition at line 187 of file ffi_core.hpp.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| Rising | |
| Setting | |
Definition at line 202 of file ffi_core.hpp.
|
strong |
| Enumerator | |
|---|---|
| Max | |
| Min | |
Definition at line 207 of file ffi_core.hpp.
|
strong |
| Enumerator | |
|---|---|
| Iau2000A | |
| Iau2000B | |
| Iau2006 | |
| Iau2006A | |
Definition at line 195 of file ffi_core.hpp.
|
strong |
| Enumerator | |
|---|---|
| ICRS | |
| EclipticMeanJ2000 | |
| EquatorialMeanJ2000 | |
| EquatorialMeanOfDate | |
| EquatorialTrueOfDate | |
| Horizontal | |
| ECEF | |
| Galactic | |
| GCRS | |
| EclipticOfDate | |
| EclipticTrueOfDate | |
| CIRS | |
| TIRS | |
| ITRF | |
| ICRF | |
Definition at line 169 of file ffi_core.hpp.
|
strong |
Descriptive moon phase labels (8 canonical phases).
| Enumerator | |
|---|---|
| NewMoon | |
| WaxingCrescent | |
| FirstQuarter | |
| WaxingGibbous | |
| FullMoon | |
| WaningGibbous | |
| LastQuarter | |
| WaningCrescent | |
Definition at line 40 of file lunar_phase.hpp.
|
strong |
Specifies the reference center for an orbit.
Indicates which standard center the orbital elements are defined relative to. This is needed when transforming positions to/from a body-centric frame, as the orbit must be converted to match the coordinate system.
Definition at line 50 of file orbital_center.hpp.
|
strong |
Principal lunar phase kinds (new-moon quarter events).
| Enumerator | |
|---|---|
| NewMoon | |
| FirstQuarter | |
| FullMoon | |
| LastQuarter | |
Definition at line 30 of file lunar_phase.hpp.
|
strong |
| Enumerator | |
|---|---|
| MuAlpha | |
| MuAlphaStar | |
Definition at line 250 of file ffi_core.hpp.
|
strong |
Discriminant for the active field in a Subject.
| Enumerator | |
|---|---|
| Body | |
| Star | |
| Icrs | |
| GenericTarget | |
Definition at line 62 of file subject.hpp.
|
strong |
Sky-condition phase determined by the Sun's altitude.
Mirrors SiderustTwilightPhase from siderust-ffi.
| Enumerator | |
|---|---|
| Day | Sun above horizon. |
| Civil | -6° to 0°. |
| Nautical | -12° to -6°. |
| Astronomical | -18° to -12°. |
| Dark | Below -18°. |
Definition at line 42 of file twilight.hpp.
|
inline |
Periods when a subject is above a threshold altitude.
Definition at line 159 of file subject.hpp.
|
inline |
Definition at line 296 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Definition at line 300 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Altitude at an instant (radians) for any subject.
Definition at line 148 of file subject.hpp.
References siderust::Subject::c_inner(), check_status(), and siderust::Geodetic::to_c().
|
inline |
Periods when a subject's altitude is within [min, max].
Definition at line 217 of file subject.hpp.
|
inline |
Definition at line 280 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Azimuth at an instant (degrees, N-clockwise) for any subject.
Definition at line 233 of file subject.hpp.
References siderust::Subject::c_inner(), check_status(), and siderust::Geodetic::to_c().
|
inline |
Azimuth bearing-crossing events for a subject.
Definition at line 243 of file subject.hpp.
|
inline |
Azimuth extrema (northernmost / southernmost) for a subject.
Definition at line 258 of file subject.hpp.
|
inline |
Periods when a subject is below a threshold altitude.
Definition at line 174 of file subject.hpp.
|
inline |
Definition at line 288 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Definition at line 276 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Definition at line 111 of file ffi_core.hpp.
Referenced by siderust::body::altitude_at(), siderust::sun::altitude_at(), siderust::moon::altitude_at(), siderust::DirectionTarget< C >::altitude_at(), siderust::ProperMotionTarget::altitude_at(), siderust::icrs_altitude::altitude_at(), siderust::star_altitude::altitude_at(), altitude_at(), siderust::body::azimuth_at(), siderust::sun::azimuth_at(), siderust::moon::azimuth_at(), siderust::DirectionTarget< C >::azimuth_at(), siderust::ProperMotionTarget::azimuth_at(), siderust::icrs_altitude::azimuth_at(), siderust::star_altitude::azimuth_at(), azimuth_at(), siderust::Star::catalog(), siderust::SkyGrid::cells(), siderust::Star::create(), siderust::DirectionTarget< C >::data(), siderust::ProperMotionTarget::data(), siderust::DirectionTarget< C >::DirectionTarget(), siderust::ephemeris::earth_barycentric(), siderust::RuntimeEphemeris::earth_barycentric(), siderust::RuntimeEphemeris::earth_barycentric_velocity(), siderust::ephemeris::earth_heliocentric(), siderust::RuntimeEphemeris::earth_heliocentric(), siderust::AstroContext::from_default_ffi(), geodetic(), siderust::ephemeris::jupiter_barycentric(), siderust::ephemeris::jupiter_heliocentric(), kepler_position(), siderust::detail::make_el_paranal(), siderust::detail::make_la_silla(), siderust::detail::make_mauna_kea(), siderust::detail::make_planet_earth(), siderust::detail::make_planet_jupiter(), siderust::detail::make_planet_mars(), siderust::detail::make_planet_mercury(), siderust::detail::make_planet_neptune(), siderust::detail::make_planet_saturn(), siderust::detail::make_planet_uranus(), siderust::detail::make_planet_venus(), siderust::detail::make_roque_de_los_muchachos(), siderust::ephemeris::mars_barycentric(), siderust::ephemeris::mars_heliocentric(), siderust::ephemeris::mercury_barycentric(), siderust::ephemeris::mercury_heliocentric(), siderust::detail::OwnedFfiContext::model(), siderust::ephemeris::moon_geocentric(), siderust::RuntimeEphemeris::moon_geocentric(), siderust::Star::name(), siderust::ephemeris::neptune_barycentric(), siderust::ephemeris::neptune_heliocentric(), siderust::tle::Tle::norad_id(), siderust::detail::OwnedFfiContext::OwnedFfiContext(), siderust::detail::OwnedFfiContext::OwnedFfiContext(), siderust::tle::Tle::parse(), siderust::oem::parse(), siderust::moon::phase_geocentric(), siderust::moon::phase_label(), siderust::moon::phase_topocentric(), siderust::MeanMotionOrbit::position_at(), siderust::ConicOrbit::position_at(), siderust::PreparedOrbit::position_at(), siderust::PreparedOrbit::PreparedOrbit(), siderust::ProperMotionTarget::ProperMotionTarget(), siderust::RuntimeEphemeris::RuntimeEphemeris(), siderust::RuntimeEphemeris::RuntimeEphemeris(), siderust::ephemeris::saturn_barycentric(), siderust::ephemeris::saturn_heliocentric(), siderust::lambert::detail::solve_impl(), siderust::ephemeris::sun_barycentric(), siderust::RuntimeEphemeris::sun_barycentric(), to_bodycentric(), siderust::Geodetic::to_cartesian(), siderust::cartesian::Position< C, F, U >::to_center(), siderust::cartesian::Direction< F >::to_frame(), siderust::cartesian::Displacement< F, U >::to_frame(), siderust::cartesian::Position< C, F, U >::to_frame(), siderust::spherical::Direction< F >::to_frame(), siderust::cartesian::Direction< F >::to_frame_with(), siderust::cartesian::Displacement< F, U >::to_frame_with(), siderust::cartesian::Position< C, F, U >::to_frame_with(), siderust::spherical::Direction< F >::to_frame_with(), siderust::BodycentricPos< F, U >::to_geocentric(), siderust::spherical::Direction< F >::to_horizontal(), siderust::spherical::Direction< F >::to_horizontal_precise(), siderust::spherical::Direction< F >::to_horizontal_with(), twilight_phase(), twilight_phase(), siderust::ephemeris::uranus_barycentric(), siderust::ephemeris::uranus_heliocentric(), siderust::ephemeris::venus_barycentric(), and siderust::ephemeris::venus_heliocentric().
|
inline |
Backward-compatible wrapper — delegates to tempoch::check_status.
Definition at line 151 of file ffi_core.hpp.
|
inline |
Threshold-crossing events for a subject.
Definition at line 189 of file subject.hpp.
|
inline |
Culmination (local extrema) events for a subject.
Definition at line 203 of file subject.hpp.
|
inline |
Definition at line 132 of file bodies.hpp.
References siderust::detail::make_planet_earth().
Referenced by earth().
|
inline |
Definition at line 160 of file bodies.hpp.
References EARTH().
|
inline |
El Paranal Observatory (Chile).
Definition at line 61 of file observatories.hpp.
References siderust::detail::make_el_paranal().
Referenced by el_paranal().
|
inline |
Definition at line 84 of file observatories.hpp.
References EL_PARANAL().
|
inline |
Returns the siderust-ffi ABI version (major*10000 + minor*100 + patch).
Definition at line 163 of file ffi_core.hpp.
|
inline |
Create a custom geodetic position (WGS84).
Definition at line 44 of file observatories.hpp.
References check_status(), and siderust::Geodetic::from_c().
|
inline |
Get the illuminated fraction as a percentage [0, 100].
Definition at line 233 of file lunar_phase.hpp.
References siderust::MoonPhaseGeometry::illuminated_fraction.
|
inline |
Periods when a subject's azimuth is within [min_deg, max_deg].
Definition at line 272 of file subject.hpp.
|
inline |
Check if a phase label describes a waning moon.
Definition at line 254 of file lunar_phase.hpp.
References LastQuarter, WaningCrescent, and WaningGibbous.
|
inline |
Check if a phase label describes a waxing moon.
Definition at line 240 of file lunar_phase.hpp.
References FirstQuarter, WaxingCrescent, and WaxingGibbous.
|
inline |
Definition at line 140 of file bodies.hpp.
References siderust::detail::make_planet_jupiter().
Referenced by jupiter().
|
inline |
Definition at line 162 of file bodies.hpp.
References JUPITER().
|
inline |
Definition at line 84 of file orbit.hpp.
References check_status(), and siderust::KeplerianOrbit::to_c().
|
inline |
Definition at line 86 of file observatories.hpp.
References LA_SILLA_OBSERVATORY().
|
inline |
La Silla Observatory (Chile).
Definition at line 77 of file observatories.hpp.
References siderust::detail::make_la_silla().
Referenced by la_silla().
|
inline |
Definition at line 136 of file bodies.hpp.
References siderust::detail::make_planet_mars().
Referenced by mars().
|
inline |
Definition at line 161 of file bodies.hpp.
References MARS().
|
inline |
Mauna Kea Observatory (Hawaii, USA).
Definition at line 69 of file observatories.hpp.
References siderust::detail::make_mauna_kea().
Referenced by mauna_kea().
|
inline |
Definition at line 85 of file observatories.hpp.
References MAUNA_KEA().
|
inline |
Definition at line 124 of file bodies.hpp.
References siderust::detail::make_planet_mercury().
Referenced by mercury().
|
inline |
Definition at line 158 of file bodies.hpp.
References MERCURY().
|
inline |
Definition at line 152 of file bodies.hpp.
References siderust::detail::make_planet_neptune().
Referenced by neptune().
|
inline |
Definition at line 165 of file bodies.hpp.
References NEPTUNE().
|
inline |
Stream operator for AzimuthExtremumKind.
Definition at line 395 of file azimuth.hpp.
|
inline |
Definition at line 222 of file orbit.hpp.
References Elliptic, and Hyperbolic.
|
inline |
Stream operator for Geodetic.
Definition at line 67 of file geodetic.hpp.
References siderust::Geodetic::height, siderust::Geodetic::lat, and siderust::Geodetic::lon.
|
inline |
Definition at line 216 of file ffi_core.hpp.
|
inline |
Definition at line 226 of file ffi_core.hpp.
|
inline |
|
inline |
Stream operator for MoonPhaseLabel.
Definition at line 289 of file lunar_phase.hpp.
References FirstQuarter, FullMoon, LastQuarter, NewMoon, WaningCrescent, WaningGibbous, WaxingCrescent, and WaxingGibbous.
|
inline |
Definition at line 163 of file orbital_center.hpp.
References Barycentric, Geocentric, and Heliocentric.
|
inline |
Stream operator for PhaseKind.
Definition at line 272 of file lunar_phase.hpp.
References FirstQuarter, FullMoon, LastQuarter, and NewMoon.
|
inline |
Definition at line 272 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Definition at line 292 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Definition at line 284 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Roque de los Muchachos Observatory (La Palma, Spain).
Definition at line 53 of file observatories.hpp.
References siderust::detail::make_roque_de_los_muchachos().
Referenced by roque_de_los_muchachos().
|
inline |
Definition at line 83 of file observatories.hpp.
References ROQUE_DE_LOS_MUCHACHOS().
|
inline |
Definition at line 144 of file bodies.hpp.
References siderust::detail::make_planet_saturn().
Referenced by saturn().
|
inline |
Definition at line 163 of file bodies.hpp.
References SATURN().
|
inline |
Definition at line 268 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Transform a position to body-centric coordinates.
Mirrors Rust's position.to_bodycentric(params, jd).
The source center must be Geocentric, Heliocentric, or Barycentric. Calling this with Bodycentric or Topocentric as the source center will throw InvalidCenterError at runtime.
The result frame F and unit U are preserved from the source position.
| C | Source center (Geocentric, Heliocentric, or Barycentric). |
| F | Reference frame. |
| U | Length unit. |
| pos | Source position. |
| params | Orbital parameters of the body to use as the new center. |
| jd | Julian Date for Keplerian propagation and center shifts. |
BodycentricPos<F, U> — relative position plus embedded params.| InvalidCenterError | if the source center is not supported. |
Definition at line 137 of file bodycentric_transforms.hpp.
References check_status(), siderust::cartesian::Position< C, F, U >::to_c(), and siderust::BodycentricParams::to_c().
|
inline |
Classify the sky condition from the Sun's altitude in degrees.
| altitude | Sun altitude above the horizon (degrees, signed). Negative values mean the Sun is below the horizon. |
TwilightPhase value. | NullPointerError | (should never happen in normal operation). |
Definition at line 58 of file twilight.hpp.
References check_status().
|
inline |
Classify the sky condition from the Sun's altitude in radians.
| altitude | Sun altitude (radians). |
TwilightPhase value. Definition at line 70 of file twilight.hpp.
References check_status().
|
inline |
Definition at line 148 of file bodies.hpp.
References siderust::detail::make_planet_uranus().
Referenced by uranus().
|
inline |
Definition at line 164 of file bodies.hpp.
References URANUS().
|
inline |
Definition at line 264 of file bodies.hpp.
References siderust::Star::catalog().
|
inline |
Definition at line 128 of file bodies.hpp.
References siderust::detail::make_planet_venus().
Referenced by venus().
|
inline |
Definition at line 159 of file bodies.hpp.
References VENUS().