1 #ifndef GCP_UTIL_DECANGLE_H
2 #define GCP_UTIL_DECANGLE_H
11 #include "gcp/util/common/Angle.h"
31 inline double arcMinutes() {
32 return radians_ * arcMinPerRad_;
35 inline double arcSeconds() {
36 return radians_ * arcSecPerRad_;
59 inline int getIntegerDegrees() {
60 bool neg = radians_ < 0.0;
61 double arad = fabs(radians_);
62 unsigned degs = (unsigned)(arad * degPerRad_);
64 return (neg ? -1 : 1)*degs;
67 inline unsigned getIntegerArcMinutes() {
68 double arad = fabs(radians_);
69 unsigned degs = (unsigned)(arad * degPerRad_);
70 unsigned mins = (unsigned)((arad * degPerRad_ - degs)*60);
74 inline unsigned getIntegerArcSeconds() {
75 double arad = fabs(radians_);
76 unsigned degs = (unsigned)(arad * degPerRad_);
77 unsigned mins = (unsigned)((arad * degPerRad_ - degs)*60);
78 unsigned secs = (unsigned)(((arad * degPerRad_ - degs)*60 - mins)*60);
82 inline unsigned getIntegerMilliArcSeconds() {
83 double arad = fabs(radians_);
84 unsigned degs = (unsigned)(arad * degPerRad_);
85 unsigned mins = (unsigned)((arad * degPerRad_ - degs)*60);
86 unsigned secs = (unsigned)(((arad * degPerRad_ - degs)*60 - mins)*60);
87 return (
unsigned)((((arad * degPerRad_ - degs)*60 - mins)*60 - secs) * 1000);
92 static const double arcSecPerRad_ = 206265;
93 static const double arcMinPerRad_ = 206265.0 / 60;
102 #endif // End #ifndef GCP_UTIL_DECANGLE_H
Definition: DecAngle.h:16
void setRadians(double radians)
Definition: Angle.cc:97
virtual ~DecAngle()
Definition: DecAngle.h:29
DecAngle operator-(DecAngle &angle)
Definition: DecAngle.h:52
virtual void addRadians(double radians)
Definition: Angle.cc:162
DecAngle()
Definition: DecAngle.h:22
DecAngle operator+(DecAngle &angle)
Definition: DecAngle.h:42
double radians()
Definition: Angle.h:79