|
CelestialCalendar 1.0.0 · unreleased development @ 67a7c4c79a4a4a6aa7e703c9e6f0039ae34bee82
|
Namespaces | |
| namespace | detail |
Classes | |
| struct | TargetFacts |
| Target identity and provider domains; rate_node preserves the paired ascending trajectory. More... | |
| struct | Position |
| Apparent geocentric coordinates in the true ecliptic and equinox of date. More... | |
| struct | EquatorialPosition |
| Apparent geocentric equatorial coordinates of date; nodes have no physical distance. More... | |
| struct | LongitudeRate |
| A signed instantaneous longitude rate; a negative value means longitude is decreasing at that instant. More... | |
| struct | LongitudeEvent |
| A crossing or exact numerical contact at a supplied longitude. More... | |
| struct | StationEvent |
| A stationary instant of the published finite-difference rate, with its two-sided motion. More... | |
| struct | LongitudeDifferenceEvent |
| An event in the directed, canonical longitude difference first minus second. More... | |
Enumerations | |
| enum class | Target : uint8_t { SUN , MOON , MERCURY , VENUS , MARS , JUPITER , SATURN , URANUS , NEPTUNE , PLUTO , MEAN_ASCENDING , MEAN_DESCENDING , TRUE_ASCENDING , TRUE_DESCENDING } |
| A body or lunar node. More... | |
| enum class | PositionSource : uint8_t { SUN_VSOP87D , MOON_ELP2000_82B_TRUNC , PLANET_VSOP87D , PLUTO_PLUTO95_APPARENT , NODE_MEAN , NODE_TRUE_MEEUS_FIVE_TERM } |
| The computation supplying a target's apparent position. More... | |
| enum class | DomainOrigin : uint8_t { SOURCE , IMPLEMENTATION } |
| Origin of a bounded position domain; ignored when no position domain is declared. More... | |
| enum class | EventDirection : uint8_t { INCREASING , DECREASING , TANGENT } |
| Behavior of an angular level on the two sides of an event. More... | |
| enum class | Motion : uint8_t { DIRECT , RETROGRADE } |
| The sign of longitude motion away from a stationary instant. More... | |
Functions | |
| constexpr auto | is_target (const Target target) -> bool |
| Recognize named Target values; new distinct enumerators must also enter TARGET_FACTS. | |
| constexpr auto | target_facts (const Target target) -> const TargetFacts & |
| Look up a named target; unknown values are invalid arguments. | |
| constexpr auto | source_of (const Target target) -> PositionSource |
| The source of a named target's apparent position. | |
| constexpr auto | position_domain (const Target target) -> std::optional< std::array< double, 2 > > |
| Half-open provider domain, or no hard interval; neither implies accuracy or successful evaluation. | |
| auto | position (const Target target, const double jde_tt) -> Position |
| Evaluate one target's apparent position without a rate stencil or civil policy. | |
| auto | equatorial_position (const Target target, const double jde_tt) -> EquatorialPosition |
| Project one apparent ecliptic position to geocentric apparent RA/Dec of date. | |
| constexpr auto | longitude_rate_domain (const Target target) -> std::array< double, 2 > |
| Return the half-open center domain of a target's longitude-rate operation. | |
| auto | longitude_rate (const Target target, const double jde_tt) -> LongitudeRate |
| Instantaneous geocentric longitude rate using the target's position model. | |
| auto | longitude_events (const Target target, const toolbox::AngleDeg target_longitude, const double start_jde_tt, const double end_jde_tt) -> std::vector< LongitudeEvent > |
| Return every crossing or exact numerical contact at a supplied tropical longitude. | |
| auto | stations (const Target target, const double start_jde_tt, const double end_jde_tt) -> std::vector< StationEvent > |
| Return every isolated zero of ephemeris::longitude_rate in a half-open TT interval. | |
| auto | longitude_difference_events (const Target first, const Target second, const toolbox::AngleDeg target_difference, const double start_jde_tt, const double end_jde_tt) -> std::vector< LongitudeDifferenceEvent > |
| Return every event at a directed longitude difference, first minus second. | |
Variables | |
| constexpr auto | TARGET_FACTS |
| Target facts in chart order; absent position domains admit finite-input evaluation, which may fail. | |
| constexpr auto | TARGETS |
| The target roster, derived from the facts table in chart order. | |
| constexpr double | EVENT_MAXIMUM_QUERY_SPAN_TT_DAYS |
| Maximum nonempty event-query span in TT days. | |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
inlinenodiscard |
Project one apparent ecliptic position to geocentric apparent RA/Dec of date.
| target | A named ephemeris target. |
| jde_tt | Finite JDE(TT), within the target's declared provider window. |
| std::invalid_argument | For malformed or out-of-provider-domain input. |
| std::runtime_error | If position evaluation or projection produces invalid coordinates. |
|
nodiscardconstexpr |
Recognize named Target values; new distinct enumerators must also enter TARGET_FACTS.
|
inlinenodiscard |
Return every event at a directed longitude difference, first minus second.
| first | The first moving body or node. |
| second | A distinct supported target. |
| target_difference | A finite signed angle, canonicalized to (-180,180] degrees. |
| start_jde_tt | Inclusive start, within the intersection of the two longitude_rate_domain windows. |
| end_jde_tt | Exclusive end; the nonempty span must not exceed 3660 TT days. |
| std::invalid_argument | For self-pairs, continuously satisfied relations or malformed/out-of-window inputs. |
|
inlinenodiscard |
Return every crossing or exact numerical contact at a supplied tropical longitude.
| target | The moving body or node. |
| target_longitude | A finite angle; whole-turn shifts denote the same level. |
| start_jde_tt | Inclusive start, within longitude_rate_domain. |
| end_jde_tt | Exclusive end; the nonempty span must not exceed 3660 TT days. |
|
inlinenodiscard |
Instantaneous geocentric longitude rate using the target's position model.
| jde_tt | JDE(TT). |
| std::invalid_argument | For invalid arguments, out-of-domain samples or inexact sample offsets. |
| std::runtime_error | If numerical evaluation fails. |
|
nodiscardconstexpr |
Return the half-open center domain of a target's longitude-rate operation.
| target | A named ephemeris target. |
| std::invalid_argument | If the target is unknown. |
|
inlinenodiscard |
Evaluate one target's apparent position without a rate stencil or civil policy.
| target | A named ephemeris target. |
| jde_tt | Finite JDE(TT), within the provider window where one is declared. |
| std::invalid_argument | For malformed or out-of-provider-domain input. |
| std::runtime_error | If computation fails or produces invalid coordinates. |
|
nodiscardconstexpr |
Half-open provider domain, or no hard interval; neither implies accuracy or successful evaluation.
|
nodiscardconstexpr |
The source of a named target's apparent position.
|
inlinenodiscard |
Return every isolated zero of ephemeris::longitude_rate in a half-open TT interval.
| target | The moving body or node. |
| start_jde_tt | Inclusive start, within longitude_rate_domain. |
| end_jde_tt | Exclusive end; the nonempty span must not exceed 3660 TT days. |
|
nodiscardconstexpr |
Look up a named target; unknown values are invalid arguments.
|
inlineconstexpr |
Maximum nonempty event-query span in TT days.
|
inlineconstexpr |
Target facts in chart order; absent position domains admit finite-input evaluation, which may fail.
|
inlineconstexpr |
The target roster, derived from the facts table in chart order.