siderust-cpp
Header-only C++ wrapper for siderust
Loading...
Searching...
No Matches
siderust Namespace Reference

Namespaces

namespace  cartesian
 
namespace  centers
 
namespace  detail
 
namespace  ephemeris
 
namespace  frames
 
namespace  icrs_altitude
 
namespace  moon
 
namespace  spherical
 
namespace  star_altitude
 
namespace  sun
 

Classes

class  AllocationFailedError
 
struct  CrossingEvent
 A threshold-crossing event (rising or setting). More...
 
struct  CulminationEvent
 A culmination (local altitude extremum) event. More...
 
struct  Geodetic
 Geodetic position (WGS84 ellipsoid). More...
 
class  InvalidArgumentError
 
class  InvalidBodyError
 
class  InvalidCenterError
 
class  InvalidFrameError
 
class  InvalidPeriodError
 
class  NullPointerError
 
struct  Orbit
 Keplerian orbital elements. More...
 
struct  Planet
 Planet data (value type, copyable). More...
 
struct  ProperMotion
 Proper motion for a star (equatorial). More...
 
struct  SearchOptions
 Options for altitude search algorithms. More...
 
class  SiderustException
 
class  Star
 RAII handle to a Star (opaque Rust object). More...
 
class  TransformFailedError
 
class  UnknownStarError
 

Typedefs

using UTC = tempoch::UTC
 
using JulianDate = tempoch::JulianDate
 
using MJD = tempoch::MJD
 
using Period = tempoch::Period
 

Enumerations

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  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 }
 

Functions

Planet mercury ()
 
Planet venus ()
 
Planet earth ()
 
Planet mars ()
 
Planet jupiter ()
 
Planet saturn ()
 
Planet uranus ()
 
Planet neptune ()
 
cartesian::position::ECEF< qtty::Meter > geodetic_to_cartesian_ecef (const Geodetic &geo)
 Convert a Geodetic (WGS84) to ECEF Cartesian position.
 
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.
 
Geodetic geodetic (double lon_deg, double lat_deg, double height_m=0.0)
 Create a custom geodetic position (WGS84).
 
Geodetic roque_de_los_muchachos ()
 
Geodetic el_paranal ()
 
Geodetic mauna_kea ()
 
Geodetic la_silla ()
 

Variables

const Planet MERCURY = detail::make_planet_mercury()
 
const Planet VENUS = detail::make_planet_venus()
 
const Planet EARTH = detail::make_planet_earth()
 
const Planet MARS = detail::make_planet_mars()
 
const Planet JUPITER = detail::make_planet_jupiter()
 
const Planet SATURN = detail::make_planet_saturn()
 
const Planet URANUS = detail::make_planet_uranus()
 
const Planet NEPTUNE = detail::make_planet_neptune()
 
const Star VEGA = Star::catalog("VEGA")
 
const Star SIRIUS = Star::catalog("SIRIUS")
 
const Star POLARIS = Star::catalog("POLARIS")
 
const Star CANOPUS = Star::catalog("CANOPUS")
 
const Star ARCTURUS = Star::catalog("ARCTURUS")
 
const Star RIGEL = Star::catalog("RIGEL")
 
const Star BETELGEUSE = Star::catalog("BETELGEUSE")
 
const Star PROCYON = Star::catalog("PROCYON")
 
const Star ALDEBARAN = Star::catalog("ALDEBARAN")
 
const Star ALTAIR = Star::catalog("ALTAIR")
 
const Geodetic ROQUE_DE_LOS_MUCHACHOS = detail::make_roque_de_los_muchachos()
 Roque de los Muchachos Observatory (La Palma, Spain).
 
const Geodetic EL_PARANAL = detail::make_el_paranal()
 El Paranal Observatory (Chile).
 
const Geodetic MAUNA_KEA = detail::make_mauna_kea()
 Mauna Kea Observatory (Hawaii, USA).
 
const Geodetic LA_SILLA_OBSERVATORY = detail::make_la_silla()
 La Silla Observatory (Chile).
 

Typedef Documentation

◆ JulianDate

using siderust::JulianDate = typedef tempoch::JulianDate

Definition at line 17 of file time.hpp.

◆ MJD

using siderust::MJD = typedef tempoch::MJD

Definition at line 18 of file time.hpp.

◆ Period

using siderust::Period = typedef tempoch::Period

Definition at line 19 of file time.hpp.

◆ UTC

using siderust::UTC = typedef tempoch::UTC

Definition at line 16 of file time.hpp.

Enumeration Type Documentation

◆ Center

enum class siderust::Center : int32_t
strong
Enumerator
Barycentric 
Heliocentric 
Geocentric 
Topocentric 
Bodycentric 

Definition at line 137 of file ffi_core.hpp.

◆ CrossingDirection

enum class siderust::CrossingDirection : int32_t
strong
Enumerator
Rising 
Setting 

Definition at line 145 of file ffi_core.hpp.

◆ CulminationKind

enum class siderust::CulminationKind : int32_t
strong
Enumerator
Max 
Min 

Definition at line 150 of file ffi_core.hpp.

◆ Frame

enum class siderust::Frame : int32_t
strong
Enumerator
ICRS 
EclipticMeanJ2000 
EquatorialMeanJ2000 
EquatorialMeanOfDate 
EquatorialTrueOfDate 
Horizontal 
ECEF 
Galactic 
GCRS 
EclipticOfDate 
EclipticTrueOfDate 
CIRS 
TIRS 
ITRF 
ICRF 

Definition at line 119 of file ffi_core.hpp.

◆ RaConvention

enum class siderust::RaConvention : int32_t
strong
Enumerator
MuAlpha 
MuAlphaStar 

Definition at line 155 of file ffi_core.hpp.

Function Documentation

◆ check_status()

◆ check_tempoch_status()

void siderust::check_tempoch_status ( tempoch_status_t  status,
const char *  operation 
)
inline

Backward-compatible wrapper — delegates to tempoch::check_status.

Definition at line 111 of file ffi_core.hpp.

◆ earth()

Planet siderust::earth ( )
inline

Definition at line 142 of file bodies.hpp.

References EARTH.

Referenced by ephemeris_typed_example().

◆ el_paranal()

Geodetic siderust::el_paranal ( )
inline

Definition at line 73 of file observatories.hpp.

References EL_PARANAL.

◆ geodetic()

Geodetic siderust::geodetic ( double  lon_deg,
double  lat_deg,
double  height_m = 0.0 
)
inline

Create a custom geodetic position (WGS84).

Definition at line 44 of file observatories.hpp.

References check_status(), and siderust::Geodetic::from_c().

◆ jupiter()

Planet siderust::jupiter ( )
inline

Definition at line 144 of file bodies.hpp.

References JUPITER.

◆ la_silla()

Geodetic siderust::la_silla ( )
inline

Definition at line 75 of file observatories.hpp.

References LA_SILLA_OBSERVATORY.

◆ mars()

Planet siderust::mars ( )
inline

Definition at line 143 of file bodies.hpp.

References MARS.

◆ mauna_kea()

Geodetic siderust::mauna_kea ( )
inline

Definition at line 74 of file observatories.hpp.

References MAUNA_KEA.

◆ mercury()

Planet siderust::mercury ( )
inline

Definition at line 140 of file bodies.hpp.

References MERCURY.

◆ neptune()

Planet siderust::neptune ( )
inline

Definition at line 147 of file bodies.hpp.

References NEPTUNE.

◆ roque_de_los_muchachos()

Geodetic siderust::roque_de_los_muchachos ( )
inline

Definition at line 72 of file observatories.hpp.

References ROQUE_DE_LOS_MUCHACHOS.

◆ saturn()

Planet siderust::saturn ( )
inline

Definition at line 145 of file bodies.hpp.

References SATURN.

◆ uranus()

Planet siderust::uranus ( )
inline

Definition at line 146 of file bodies.hpp.

References URANUS.

◆ venus()

Planet siderust::venus ( )
inline

Definition at line 141 of file bodies.hpp.

References VENUS.

Variable Documentation

◆ ALDEBARAN

const Star siderust::ALDEBARAN = Star::catalog("ALDEBARAN")
inline

Definition at line 265 of file bodies.hpp.

◆ ALTAIR

const Star siderust::ALTAIR = Star::catalog("ALTAIR")
inline

Definition at line 266 of file bodies.hpp.

◆ ARCTURUS

const Star siderust::ARCTURUS = Star::catalog("ARCTURUS")
inline

Definition at line 261 of file bodies.hpp.

◆ BETELGEUSE

const Star siderust::BETELGEUSE = Star::catalog("BETELGEUSE")
inline

Definition at line 263 of file bodies.hpp.

◆ CANOPUS

const Star siderust::CANOPUS = Star::catalog("CANOPUS")
inline

Definition at line 260 of file bodies.hpp.

◆ EARTH

const Planet siderust::EARTH = detail::make_planet_earth()
inline

Definition at line 132 of file bodies.hpp.

Referenced by earth(), and main().

◆ EL_PARANAL

const Geodetic siderust::EL_PARANAL = detail::make_el_paranal()
inline

El Paranal Observatory (Chile).

Definition at line 59 of file observatories.hpp.

Referenced by el_paranal().

◆ JUPITER

const Planet siderust::JUPITER = detail::make_planet_jupiter()
inline

Definition at line 134 of file bodies.hpp.

Referenced by jupiter(), and main().

◆ LA_SILLA_OBSERVATORY

const Geodetic siderust::LA_SILLA_OBSERVATORY = detail::make_la_silla()
inline

La Silla Observatory (Chile).

Definition at line 69 of file observatories.hpp.

Referenced by la_silla().

◆ MARS

const Planet siderust::MARS = detail::make_planet_mars()
inline

Definition at line 133 of file bodies.hpp.

Referenced by main(), and mars().

◆ MAUNA_KEA

const Geodetic siderust::MAUNA_KEA = detail::make_mauna_kea()
inline

Mauna Kea Observatory (Hawaii, USA).

Definition at line 64 of file observatories.hpp.

Referenced by main(), and mauna_kea().

◆ MERCURY

const Planet siderust::MERCURY = detail::make_planet_mercury()
inline

Definition at line 130 of file bodies.hpp.

Referenced by main(), and mercury().

◆ NEPTUNE

const Planet siderust::NEPTUNE = detail::make_planet_neptune()
inline

Definition at line 137 of file bodies.hpp.

Referenced by main(), and neptune().

◆ POLARIS

const Star siderust::POLARIS = Star::catalog("POLARIS")
inline

Definition at line 259 of file bodies.hpp.

◆ PROCYON

const Star siderust::PROCYON = Star::catalog("PROCYON")
inline

Definition at line 264 of file bodies.hpp.

◆ RIGEL

const Star siderust::RIGEL = Star::catalog("RIGEL")
inline

Definition at line 262 of file bodies.hpp.

◆ ROQUE_DE_LOS_MUCHACHOS

const Geodetic siderust::ROQUE_DE_LOS_MUCHACHOS = detail::make_roque_de_los_muchachos()
inline

Roque de los Muchachos Observatory (La Palma, Spain).

Definition at line 54 of file observatories.hpp.

Referenced by main(), roque_de_los_muchachos(), and spherical_direction_example().

◆ SATURN

const Planet siderust::SATURN = detail::make_planet_saturn()
inline

Definition at line 135 of file bodies.hpp.

Referenced by main(), and saturn().

◆ SIRIUS

const Star siderust::SIRIUS = Star::catalog("SIRIUS")
inline

Definition at line 258 of file bodies.hpp.

◆ URANUS

const Planet siderust::URANUS = detail::make_planet_uranus()
inline

Definition at line 136 of file bodies.hpp.

Referenced by main(), and uranus().

◆ VEGA

const Star siderust::VEGA = Star::catalog("VEGA")
inline

Definition at line 257 of file bodies.hpp.

Referenced by main().

◆ VENUS

const Planet siderust::VENUS = detail::make_planet_venus()
inline

Definition at line 131 of file bodies.hpp.

Referenced by main(), and venus().