59 explicit RA(
double inDegrees) :
63 if (inDegrees < 0 || inDegrees >= 360)
69 const double decMinutes = (degrees_ -
static_cast<double>(hours_) * 15.0) * 4.0;
71 seconds_ =
static_cast<double>((decMinutes -
static_cast<double>(minutes_)) * 60.0);
87 degrees_ =
static_cast<double>(hours_) * 15.0 +
static_cast<double>(minutes_) / 4.0 + seconds_ / 240.0;
183 return !(*
this == inRhs);
192 friend std::ostream&
operator<<(std::ostream& inStream,
const RA& inRa)
194 inStream << inRa.
str();
202 double seconds_{ 0.0 };
203 double degrees_{ 0.0 };
204 double radians_{ 0.0 };
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:36
Holds a right ascension object.
Definition: RA.hpp:47
void print() const
Definition: RA.hpp:157
std::string str() const
Definition: RA.hpp:146
uint8 hours() const noexcept
Definition: RA.hpp:116
uint8 minutes() const noexcept
Definition: RA.hpp:126
double radians() const noexcept
Definition: RA.hpp:96
friend std::ostream & operator<<(std::ostream &inStream, const RA &inRa)
Definition: RA.hpp:192
double degrees() const noexcept
Definition: RA.hpp:106
RA(double inDegrees)
Definition: RA.hpp:59
bool operator!=(const RA &inRhs) const noexcept
Definition: RA.hpp:181
bool operator==(const RA &inRhs) const noexcept
Definition: RA.hpp:169
double seconds() const noexcept
Definition: RA.hpp:136
std::string num2str(dtype inNumber)
Definition: num2str.hpp:46
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition: essentiallyEqual.hpp:51
Definition: Coordinate.hpp:45
constexpr auto deg2rad(dtype inValue) noexcept
Definition: deg2rad.hpp:47
dtype floor(dtype inValue) noexcept
Definition: floor.hpp:48
std::uint8_t uint8
Definition: Types.hpp:42