#include <src/orbits/orbits.hpp>
          template<typename Real>
          KeplerOrbit struct
        
        | Template parameters | |
|---|---|
| Real | |
Contents
Public types
- using Scalar = Real
 - Floating point like type.
 
Constructors, destructors, conversion operators
- KeplerOrbit() defaulted
 - KeplerOrbit(KeplerOrbit const&) defaulted
 - KeplerOrbit(KeplerOrbit&&) defaulted
 - 
              template<typename T1, typename T2, typename T3, typename T4>KeplerOrbit(Scalar m_1, Scalar m_2, Scalar semi_latus_rectum, Scalar eccentricity, T1 inclination, T2 longitude_of_ascending_node, T3 argument_of_periapsis, T4 true_anomaly)
 - Construct a new Orbit Args object from orbital parameters.
 
Public functions
- auto operator=(KeplerOrbit const&) -> KeplerOrbit& defaulted
 - auto operator=(KeplerOrbit&&) -> KeplerOrbit& defaulted
 - void shuffle_i()
 - Suffle the inclination.
 - void shuffle_Omega()
 - Suffle the Longitude of the ascending node.
 - void shuffle_omega()
 - Suffle the Argument of periapsis.
 - void shuffle_nu()
 - Suffle the true anomaly.
 
Public variables
- Scalar m1
 - Mass of the primary object.
 - Scalar m2
 - Mass of the secondary object.
 - Scalar p
 - Semi-latus rectum of the orbit a(1-e^2) .
 - Scalar e
 - Eccentricity of the orbit.
 - Scalar i
 - Orbit inclination.
 - Scalar Omega
 - Longitude of the ascending node.
 - Scalar omega
 - Argument of periapsis.
 - Scalar nu
 - True anomaly.
 - OrbitType orbit_type
 - Orbit type.
 
Friends
- auto operator<<(std::ostream& os, KeplerOrbit const& obt) -> std::ostream&
 - Write the orbit to an output stream.
 
Function documentation
              
                template<typename Real>
              
               hub:: orbit:: KeplerOrbit<Real>:: KeplerOrbit() defaulted
            
Default constructor.
              
                template<typename Real>
              
               hub:: orbit:: KeplerOrbit<Real>:: KeplerOrbit(KeplerOrbit const&) defaulted
            
Default copy constructor.
              
                template<typename Real>
              
               hub:: orbit:: KeplerOrbit<Real>:: KeplerOrbit(KeplerOrbit&&) defaulted
            
Default move constructor
              
                template<typename Real>
                template<typename T1, typename T2, typename T3, typename T4>
              
               hub:: orbit:: KeplerOrbit<Real>:: KeplerOrbit(Scalar m_1,
              Scalar m_2,
              Scalar semi_latus_rectum,
              Scalar eccentricity,
              T1 inclination,
              T2 longitude_of_ascending_node,
              T3 argument_of_periapsis,
              T4 true_anomaly)
            
            Construct a new Orbit Args object from orbital parameters.
| Parameters | |
|---|---|
| m_1 in | Mass of the primary object. | 
| m_2 in | Mass of the secondary object. | 
| semi_latus_rectum in | Semi-latus rectum. | 
| eccentricity in | Eccentricity. | 
| inclination in | Inclination. | 
| longitude_of_ascending_node in | Longitude of the ascending node. | 
| argument_of_periapsis in | Argument of the periapsis. | 
| true_anomaly in | True anomaly. | 
              
                template<typename Real>
              
              KeplerOrbit& hub:: orbit:: KeplerOrbit<Real>:: operator=(KeplerOrbit const&) defaulted
            
Default copy assignment operator
              
                template<typename Real>
              
              KeplerOrbit& hub:: orbit:: KeplerOrbit<Real>:: operator=(KeplerOrbit&&) defaulted
            
Default move assignment operator
              
                template<typename Real>
              
              std::ostream& operator<<(std::ostream& os,
              KeplerOrbit const& obt)
            
            Write the orbit to an output stream.
| Parameters | |
|---|---|
| os out | Output stream | 
| obt in | Orbit parameters. | 
| Returns | std::ostream& Output stream. |