1 #ifndef GCP_UTIL_ANGLE_H
2 #define GCP_UTIL_ANGLE_H
15 #include "gcp/util/common/ConformableQuantity.h"
32 Angle(
bool modulo=
false);
37 Angle(std::string degrees,
bool modulo=
false);
43 Angle(
const Degrees& units,
double degrees,
bool modulo=
false);
45 Angle(
const ArcSec& units,
double as,
bool modulo=
false);
50 void operator=(
Angle& angle);
51 void operator=(
const Angle& angle);
63 void setDegrees(
double degrees,
double arcmin,
double arcsec);
83 inline double degrees() {
84 return radians_ * degPerRad_;
87 inline double arcsec() {
88 return radians_ * arcSecPerRad_;
91 inline double arcmin() {
92 return radians_ * arcMinPerRad_;
96 return radians_ * masPerRad_;
131 bool operator>=(
Angle& angle);
132 bool operator<(
Angle& angle);
133 bool operator<(
const Angle& angle);
134 bool operator<=(
Angle& angle);
149 static const double pi_;
150 static const double twoPi_;
152 static const double degPerRad_;
153 static const double arcSecPerDegree_;
154 static const double masPerDegree_;
155 static const double arcSecPerRad_;
156 static const double arcMinPerRad_;
157 static const double masPerRad_;
176 #endif // End #ifndef GCP_UTIL_ANGLE_H
Angle operator-(Angle &angle)
Definition: Angle.cc:331
friend std::ostream & operator<<(std::ostream &os, Angle &angle)
void setDegrees(double degrees)
Definition: Angle.cc:106
void setArcSec(double as)
Definition: Angle.cc:146
void operator/=(unsigned uval)
Definition: Angle.cc:339
virtual ~Angle()
Definition: Angle.cc:72
Angle operator/(unsigned uval)
Definition: Angle.cc:344
Angle operator+(Angle &angle)
Definition: Angle.cc:320
bool operator>(Angle &angle)
Definition: Angle.cc:354
void setRadians(double radians)
Definition: Angle.cc:97
void setArcMinutes(double am)
Definition: Angle.cc:138
virtual void addRadians(double radians)
Definition: Angle.cc:162
void setMas(double mas)
Definition: Angle.cc:154
std::string strDegrees()
Definition: Angle.cc:193
Angle(bool modulo=false)
Definition: Angle.cc:24
static double sexagesimalToDouble(std::string valStr)
Definition: Angle.cc:211
virtual void addDegrees(double degrees)
Definition: Angle.cc:177
static std::string doubleToSexagesimal(double val)
Definition: Angle.cc:266
double radians()
Definition: Angle.h:79