![]() |
siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
|
Lambert solver C++ wrapper. More...


Go to the source code of this file.
Classes | |
| struct | siderust::lambert::Diagnostics |
| Householder-iteration diagnostics accompanying a Lambert solution. More... | |
| struct | siderust::lambert::Solution |
| Complete solution to a Lambert boundary-value problem. More... | |
Namespaces | |
| namespace | siderust |
| namespace | siderust::lambert |
| namespace | siderust::lambert::detail |
Enumerations | |
| enum class | siderust::lambert::Branch : int { siderust::lambert::Prograde = 0 , siderust::lambert::Retrograde = 1 } |
| Branch selector for the Lambert solver. More... | |
Functions | |
| Solution | siderust::lambert::detail::solve_impl (const double *r1_km, const double *r2_km, double tof_s, double mu_km3_s2, Branch branch) |
| Solution | siderust::lambert::solve (const double(&r1_km)[3], const double(&r2_km)[3], double tof_s, double mu_km3_s2, Branch branch=Branch::Prograde) |
| Solve Lambert's single-revolution two-point boundary-value problem. | |
| Solution | siderust::lambert::solve (const std::array< double, 3 > &r1_km, const std::array< double, 3 > &r2_km, double tof_s, double mu_km3_s2, Branch branch=Branch::Prograde) |
Overload accepting std::array<double,3> positions. | |
| std::ostream & | siderust::lambert::operator<< (std::ostream &os, const Solution &sol) |
| Stream a Lambert solution (velocities in km/s). | |
Lambert solver C++ wrapper.
Wraps siderust_lambert_solve (Izzo's algorithm) with a value-semantic C++17 interface. All inputs/outputs use plain double arrays — no heavy unit types cross the FFI; callers can wrap results in qtty types as desired.
Definition in file lambert.hpp.