1 #define BUILDING_LIBRARY 8 const Eigen::Vector3d &vector,
9 Dissipation::QuantityEntry deriv,
10 bool with_respect_to_from)
24 sin_sin, cos_cos, sin_cos, cos_sin;
27 if(with_respect_to_from) {cos_dw=sin_dw; sin_dw=-buffer;}
28 else {cos_dw=-sin_dw; sin_dw=buffer;}
31 if(with_respect_to_from) {
32 sin_sin=sin_to*cos_from;
33 cos_cos=-cos_to*sin_from;
34 sin_cos=-sin_to*sin_from;
35 cos_sin=cos_to*cos_from;
37 sin_sin=cos_to*sin_from;
38 cos_cos=-sin_to*cos_from;
39 sin_cos=cos_to*cos_from;
40 cos_sin=-sin_to*sin_from;
43 sin_sin=sin_to*sin_from;
44 cos_cos=cos_to*cos_from;
45 sin_cos=sin_to*cos_from;
46 cos_sin=cos_to*sin_from;
48 return Eigen::Vector3d(
49 (sin_sin + cos_cos * cos_dw) * vector[0]
51 cos_to * sin_dw * vector[1]
53 (sin_cos - cos_sin * cos_dw) * vector[2],
56 cos_from * sin_dw * vector[0]
60 sin_from * sin_dw * vector[2],
62 (cos_sin - sin_cos * cos_dw) * vector[0]
64 sin_to * sin_dw * vector[1]
66 (cos_cos + sin_sin * cos_dw) * vector[2]
Declares a class for orientations of zones of DissipatingBody objects.
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.
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.