![]() |
siderust-cpp 0.8.0
Header-only C++ wrapper for siderust
|
Namespaces | |
| namespace | detail |
Classes | |
| struct | Diagnostics |
| Householder-iteration diagnostics accompanying a Lambert solution. More... | |
| struct | Solution |
| Complete solution to a Lambert boundary-value problem. More... | |
Enumerations | |
| enum class | Branch : int { Prograde = 0 , Retrograde = 1 } |
| Branch selector for the Lambert solver. More... | |
Functions | |
| Solution | 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 | 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 & | operator<< (std::ostream &os, const Solution &sol) |
| Stream a Lambert solution (velocities in km/s). | |
|
strong |
Branch selector for the Lambert solver.
| Enumerator | |
|---|---|
| Prograde | Direct (prograde) single-revolution transfer. |
| Retrograde | Retrograde single-revolution transfer. |
Definition at line 36 of file lambert.hpp.
|
inline |
Stream a Lambert solution (velocities in km/s).
Definition at line 98 of file lambert.hpp.
References siderust::lambert::Solution::diag, siderust::lambert::Diagnostics::iterations, siderust::lambert::Diagnostics::residual, siderust::lambert::Solution::v1_kms, and siderust::lambert::Solution::v2_kms.
|
inline |
Solve Lambert's single-revolution two-point boundary-value problem.
| r1_km | Departure position [x, y, z] in km (3 elements). |
| r2_km | Arrival position [x, y, z] in km (3 elements). |
| tof_s | Time of flight in seconds. |
| mu_km3_s2 | Gravitational parameter of the central body, km³·s⁻². |
| branch | Prograde (default) or retrograde transfer. |
| siderust::InvalidArgumentError | if the solver fails to converge or the input geometry is degenerate. |
Definition at line 84 of file lambert.hpp.
References siderust::lambert::detail::solve_impl().
|
inline |
Overload accepting std::array<double,3> positions.
Definition at line 90 of file lambert.hpp.
References siderust::lambert::detail::solve_impl().