57 explicit RA(
double inDegrees) :
61 if (inDegrees < 0 || inDegrees >= 360)
67 const double decMinutes = (degrees_ -
static_cast<double>(hours_) * 15.) * 4.;
69 seconds_ =
static_cast<double>((decMinutes -
static_cast<double>(minutes_)) * 60.);
85 degrees_ =
static_cast<double>(hours_) * 15. +
static_cast<double>(minutes_) / 4. + seconds_ / 240.;
94 [[nodiscard]]
double radians() const noexcept
144 [[nodiscard]] std::string
str()
const
181 return !(*
this == inRhs);
190 friend std::ostream&
operator<<(std::ostream& inStream,
const RA& inRa)
192 inStream << inRa.
str();
200 double seconds_{ 0. };
201 double degrees_{ 0. };
202 double radians_{ 0. };
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:37
Holds a right ascension object.
Definition: RA.hpp:45
void print() const
Definition: RA.hpp:155
std::string str() const
Definition: RA.hpp:144
uint8 hours() const noexcept
Definition: RA.hpp:114
uint8 minutes() const noexcept
Definition: RA.hpp:124
double radians() const noexcept
Definition: RA.hpp:94
friend std::ostream & operator<<(std::ostream &inStream, const RA &inRa)
Definition: RA.hpp:190
double degrees() const noexcept
Definition: RA.hpp:104
RA(double inDegrees)
Definition: RA.hpp:57
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:134
Definition: Coordinate.hpp:45
std::string num2str(dtype inNumber)
Definition: num2str.hpp:44
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition: essentiallyEqual.hpp:48
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