19 #ifndef OPENXCOM_CORD_H
20 #define OPENXCOM_CORD_H
33 inline CordPolar(
double plon,
double plat)
55 inline Cord(
double px,
double py,
double pz)
75 inline Cord operator +()
79 inline Cord operator -()
81 return Cord(-x, -y, -z);
83 inline Cord& operator *=(
double d)
90 inline Cord& operator /=(
double d)
98 inline Cord& operator +=(
const Cord& c)
105 inline Cord& operator -=(
const Cord& c)
112 inline bool operator ==(
const Cord& c)
114 return AreSame(x, c.x) && AreSame(y, c.y) && AreSame(z, c.z);
117 inline double norm()
const
119 return std::sqrt(x*x + y*y + z*z);
125 x = std::sin(pol.lon) * std::cos(pol.lat);
126 y = std::sin(pol.lat);
127 z = std::cos(pol.lon) * std::cos(pol.lat);
130 inline CordPolar::CordPolar(
const Cord& c)
132 double inv = 1/c.norm();
133 lat = asin(c.y * inv);
134 lon = atan2(c.x, c.z);
COPYING:
Definition: BaseInfoState.cpp:41