1 #ifndef __ZONE_ORIENTATION_H 2 #define __ZONE_ORIENTATION_H 17 #include "../Core/SharedLibraryExportMacros.h" 19 #include "../Core/Common.h" 20 #include "../Core/IncludeEigen.h" 41 double periapsis = Core::NaN) :
42 __inclination(inclination),
43 __periapsis(periapsis)
47 void configure(
double inclination,
double periapsis)
48 {__inclination = inclination; __periapsis = periapsis;}
50 void set_evolution_rates(
double inclination,
double periapsis)
51 {__inclination_rate = inclination; __periapsis_rate = periapsis;}
55 return (evolution_rate ? __inclination_rate: __inclination);
60 return (evolution_rate ? __periapsis_rate : __periapsis);
75 const Eigen::Vector3d &vector,
86 bool with_respect_to_from=
false double periapsis(bool evolution_rate=false) const
The argument of periapsis of this zone minus the reference zone's.
Eigen::Vector3d zone_to_zone_transform(const ZoneOrientation &from_zone, const ZoneOrientation &to_zone, const Eigen::Vector3d &vector, Dissipation::QuantityEntry deriv, bool with_respect_to_from)
Transforms a vector betwen the coordinates systems of two zones.
Orientations of zones of bodies in a binary system.
void configure(double inclination, double periapsis)
Changes the zone orientation.
double __periapsis_rate
The rate at which the periapsis of the zone is evolving.
Declaration of enumerations of dissipation quantities and derivatives.
double inclination(bool evolution_rate=false) const
The angle between the angular momenta of the zone and the orbit.
NO_DERIV
The quantity itself, undifferentiated.