19 #ifndef __libpbd_cartesian_h__
20 #define __libpbd_cartesian_h__
43 other.
x += xtranslate;
44 other.
y += ytranslate;
45 other.
z += ztranslate;
65 AngularVector (
double a,
double e,
double l = 1.0) : azi(a), ele(e), length (l) {}
84 return fabs (azi - other.
azi) <= FLT_EPSILON &&
85 fabs (ele - other.
ele) <= FLT_EPSILON &&
86 fabs (length - other.
length) <= FLT_EPSILON;
90 return fabs (azi - other.
azi) > FLT_EPSILON ||
91 fabs (ele - other.
ele) > FLT_EPSILON ||
92 fabs (length - other.
length) > FLT_EPSILON;
bool operator!=(shared_ptr< T > const &a, shared_ptr< U > const &b)
void cartesian(CartesianVector &c) const
CartesianVector & scale(CartesianVector &other, double xscale, double yscale, double zscale=1.0)
CartesianVector(double xp, double yp, double zp=0.0)
void angular(AngularVector &a) const
AngularVector(double a, double e, double l=1.0)
CartesianVector & translate(CartesianVector &other, double xtranslate, double ytranslate, double ztranslate=0.0)
LIBPBD_API void cartesian_to_spherical(double x, double y, double z, double &azi, double &ele, double &len)
bool operator==(const RouteProcessorSelection &a, const RouteProcessorSelection &b)
LIBPBD_API void spherical_to_cartesian(double azi, double ele, double len, double &x, double &y, double &z)