72 hours_ =
static_cast<uint8>(std::floor(degrees_ / 15.));
73 const double decMinutes = (degrees_ -
static_cast<double>(hours_) * 15.) * 4.;
75 seconds_ =
static_cast<double>((
decMinutes -
static_cast<double>(minutes_)) * 60.);
90 degrees_ =
static_cast<double>(hours_) * 15. +
static_cast<double>(minutes_) / 4. + seconds_ / 240.;
186 return !(*
this ==
inRhs);
205 double seconds_{ 0. };
206 double degrees_{ 0. };
207 double radians_{ 0. };
248 seconds_ = (
decMinutes -
static_cast<double>(minutes_)) * 60.;
265 degrees_ =
static_cast<double>(degreesWhole_) +
static_cast<double>(minutes_) / 60. + seconds_ / 3600.;
308 return degreesWhole_;
374 return !(*
this ==
inRhs);
394 uint8 degreesWhole_{ 0 };
396 double seconds_{ 0. };
397 double degrees_{ 0. };
398 double radians_{ 0. };
668 return ra_ ==
inRhs.ra_ && dec_ ==
inRhs.dec_;
680 return !(*
this ==
inRhs);
708 void cartesianToPolar()
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition Error.hpp:37
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition NdArrayCore.hpp:139
self_type flatten() const
Definition NdArrayCore.hpp:2923
std::string str() const
Definition NdArrayCore.hpp:4658
Holds a 3D vector.
Definition Vec3.hpp:51
Cartensian coordinates.
Definition Cartesian.hpp:45
Holds a full celestial Celestial object.
Definition Celestial.hpp:404
Celestial(uint8 inRaHours, uint8 inRaMinutes, double inRaSeconds, Dec::Sign inSign, uint8 inDecDegreesWhole, uint8 inDecMinutes, double inDecSeconds)
Definition Celestial.hpp:435
Celestial(double inX, double inY, double inZ)
Definition Celestial.hpp:468
friend std::ostream & operator<<(std::ostream &inStream, const Celestial &inCoord)
Definition Celestial.hpp:691
double y() const noexcept
Definition Celestial.hpp:556
const RA & ra() const noexcept
Definition Celestial.hpp:536
Celestial(const Cartesian &inCartesianVector)
Definition Celestial.hpp:481
double z() const noexcept
Definition Celestial.hpp:566
bool operator==(const Celestial &inRhs) const noexcept
Definition Celestial.hpp:666
Celestial(const RA &inRA, const Dec &inDec) noexcept
Definition Celestial.hpp:454
Celestial(const NdArray< double > &inCartesianVector)
Definition Celestial.hpp:507
double degreeSeperation(const NdArray< double > &inVector) const
Definition Celestial.hpp:602
double radianSeperation(const Celestial &inOtherCelestial) const
Definition Celestial.hpp:614
Celestial(double inRaDegrees, double inDecDegrees)
Definition Celestial.hpp:417
std::string str() const
Definition Celestial.hpp:642
NdArray< double > xyz() const
Definition Celestial.hpp:576
const Dec & dec() const noexcept
Definition Celestial.hpp:526
bool operator!=(const Celestial &inRhs) const noexcept
Definition Celestial.hpp:678
double degreeSeperation(const Celestial &inOtherCelestial) const
Definition Celestial.hpp:589
Celestial(const Vec3 &inCartesianVector)
Definition Celestial.hpp:494
double x() const noexcept
Definition Celestial.hpp:546
double radianSeperation(const NdArray< double > &inVector) const
Definition Celestial.hpp:627
void print() const
Definition Celestial.hpp:654
Holds a Declination object.
Definition Celestial.hpp:213
double degrees() const noexcept
Definition Celestial.hpp:286
Sign sign() const noexcept
Definition Celestial.hpp:276
friend std::ostream & operator<<(std::ostream &inStream, const Dec &inDec)
Definition Celestial.hpp:385
double radians() const noexcept
Definition Celestial.hpp:296
uint8 minutes() const noexcept
Definition Celestial.hpp:316
void print() const
Definition Celestial.hpp:348
Dec(Sign inSign, uint8 inDegrees, uint8 inMinutes, double inSeconds) noexcept
Definition Celestial.hpp:259
uint8 degreesWhole() const noexcept
Definition Celestial.hpp:306
std::string str() const
Definition Celestial.hpp:336
bool operator==(const Dec &inRhs) const noexcept
Definition Celestial.hpp:360
double seconds() const noexcept
Definition Celestial.hpp:326
Dec(double inDegrees)
Definition Celestial.hpp:233
bool operator!=(const Dec &inRhs) const noexcept
Definition Celestial.hpp:372
Sign
Struct Enum for positive or negative Dec angle.
Definition Celestial.hpp:218
Holds a right ascension object.
Definition Celestial.hpp:51
uint8 minutes() const noexcept
Definition Celestial.hpp:129
double radians() const noexcept
Definition Celestial.hpp:99
double seconds() const noexcept
Definition Celestial.hpp:139
void print() const
Definition Celestial.hpp:160
double degrees() const noexcept
Definition Celestial.hpp:109
friend std::ostream & operator<<(std::ostream &inStream, const RA &inRa)
Definition Celestial.hpp:195
uint8 hours() const noexcept
Definition Celestial.hpp:119
RA(double inDegrees)
Definition Celestial.hpp:63
bool operator==(const RA &inRhs) const noexcept
Definition Celestial.hpp:172
std::string str() const
Definition Celestial.hpp:149
RA(uint8 inHours, uint8 inMinutes, double inSeconds) noexcept
Definition Celestial.hpp:85
bool operator!=(const RA &inRhs) const noexcept
Definition Celestial.hpp:184
std::string num2str(dtype inNumber)
Definition num2str.hpp:44
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition essentiallyEqual.hpp:49
constexpr dtype sqr(dtype inValue) noexcept
Definition sqr.hpp:42
constexpr auto deg2rad(dtype inValue) noexcept
Definition deg2rad.hpp:47
NdArray< dtype > dot(const NdArray< dtype > &inArray1, const NdArray< dtype > &inArray2)
Definition dot.hpp:47
constexpr auto rad2deg(dtype inValue) noexcept
Definition rad2deg.hpp:48
NdArray< dtype > arange(dtype inStart, dtype inStop, dtype inStep=1)
Definition arange.hpp:59
std::uint8_t uint8
Definition Types.hpp:42