8 #ifndef __STOP_INFORMATION_H 9 #define __STOP_INFORMATION_H 11 #include "../Core/SharedLibraryExportMacros.h" 53 double stop_age=Core::Inf,
56 double stop_precision=Core::NaN,
63 bool is_crossing =
false,
66 bool crossed_zero =
false,
69 size_t stop_condition_index = 0,
73 short deriv_sign_at_crossing = 0
76 __stop_condition_precision(stop_precision),
77 __stop_reason(stop_reason),
78 __is_crossing(is_crossing),
79 __crossed_zero(crossed_zero),
80 __stop_condition_index(stop_condition_index),
81 __deriv_sign_at_crossing(is_crossing ? deriv_sign_at_crossing : 0) {}
85 __stop_age(orig.__stop_age),
86 __stop_condition_precision(orig.__stop_condition_precision),
87 __stop_reason(orig.__stop_reason),
88 __is_crossing(orig.__is_crossing),
89 __crossed_zero(orig.__crossed_zero),
90 __stop_condition_index(orig.__stop_condition_index),
91 __deriv_sign_at_crossing(orig.__deriv_sign_at_crossing)
102 {
return __stop_condition_precision;}
106 {
return __stop_condition_precision;}
149 assert(__is_crossing);
151 return __deriv_sign_at_crossing;
160 LIB_LOCAL std::ostream &
operator<<(std::ostream &os,
std::ostream & operator<<(std::ostream &os, const ZoneEvolutionQuantities &evol_var)
More civilized output for EvolVarType variables.
StoppingConditionType
The reasons for stopping the evolution currently supported.
Orientations of zones of bodies in a binary system.
Defines the various stopping conditions needed by OrbitSolver.