63 explicit Dec(
double inDegrees) :
67 if (inDegrees < -90 || inDegrees > 90)
73 const double absDegrees =
std::abs(degrees_);
76 const double decMinutes = (absDegrees -
static_cast<double>(degreesWhole_)) * 60.0;
78 seconds_ = (decMinutes -
static_cast<double>(minutes_)) * 60.0;
91 degreesWhole_(inDegrees),
95 degrees_ =
static_cast<double>(degreesWhole_) +
static_cast<double>(minutes_) / 60.0 + seconds_ / 3600.0;
138 return degreesWhole_;
203 return !(*
this == inRhs);
216 inStream << inDec.
str();
223 uint8 degreesWhole_{ 0 };
225 double seconds_{ 0.0 };
226 double degrees_{ 0.0 };
227 double radians_{ 0.0 };
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:36
Holds a Declination object.
Definition: Dec.hpp:51
double seconds() const noexcept
Definition: Dec.hpp:156
bool operator==(const Dec &inRhs) const noexcept
Definition: Dec.hpp:189
bool operator!=(const Dec &inRhs) const noexcept
Definition: Dec.hpp:201
Dec(double inDegrees)
Definition: Dec.hpp:63
friend std::ostream & operator<<(std::ostream &inStream, const Dec &inDec)
Definition: Dec.hpp:214
std::string str() const
Definition: Dec.hpp:166
void print() const
Definition: Dec.hpp:177
uint8 degreesWhole() const noexcept
Definition: Dec.hpp:136
Sign sign() const noexcept
Definition: Dec.hpp:106
double degrees() const noexcept
Definition: Dec.hpp:116
uint8 minutes() const noexcept
Definition: Dec.hpp:146
Dec(Sign inSign, uint8 inDegrees, uint8 inMinutes, double inSeconds) noexcept
Definition: Dec.hpp:89
double radians() const noexcept
Definition: Dec.hpp:126
Sign
Struct Enum for positive or negative Dec angle.
Definition: Dec.hpp:46
std::string num2str(dtype inNumber)
Definition: num2str.hpp:46
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition: essentiallyEqual.hpp:52
Definition: Coordinate.hpp:45
constexpr auto deg2rad(dtype inValue) noexcept
Definition: deg2rad.hpp:49
auto abs(dtype inValue) noexcept
Definition: abs.hpp:51
dtype floor(dtype inValue) noexcept
Definition: floor.hpp:48
std::uint8_t uint8
Definition: Types.hpp:42