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);
86 degrees_ =
static_cast<double>(hours_) * 15.0 +
static_cast<double>(minutes_) / 4.0 + seconds_ / 240.0;
181 return !(*
this == inRhs);
190 friend std::ostream&
operator<<(std::ostream& inStream,
const RA& inRa)
192 inStream << inRa.
str();
200 double seconds_{ 0.0 };
201 double degrees_{ 0.0 };
202 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:155
std::string str() const
Definition: RA.hpp:145
uint8 hours() const noexcept
Definition: RA.hpp:115
RA(uint8 inHours, uint8 inMinutes, double inSeconds) noexcept
Definition: RA.hpp:81
uint8 minutes() const noexcept
Definition: RA.hpp:125
double radians() const noexcept
Definition: RA.hpp:95
friend std::ostream & operator<<(std::ostream &inStream, const RA &inRa)
Definition: RA.hpp:190
double degrees() const noexcept
Definition: RA.hpp:105
RA(double inDegrees)
Definition: RA.hpp:59
bool operator!=(const RA &inRhs) const noexcept
Definition: RA.hpp:179
bool operator==(const RA &inRhs) const noexcept
Definition: RA.hpp:167
double seconds() const noexcept
Definition: RA.hpp:135
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:47
dtype floor(dtype inValue) noexcept
Definition: floor.hpp:48
std::uint8_t uint8
Definition: Types.hpp:42