 |
NumCpp
2.1.0
A C++ implementation of the Python Numpy library
|
Go to the documentation of this file.
84 uint8 inDecDegreesWhole,
uint8 inDecMinutes,
double inDecSeconds) :
85 ra_(inRaHours, inRaMinutes, inRaSeconds),
86 dec_(inSign, inDecDegreesWhole, inDecMinutes, inDecSeconds)
126 if (inCartesianVector.
size() != 3)
131 x_ = inCartesianVector[0];
132 y_ = inCartesianVector[1];
133 z_ = inCartesianVector[2];
163 double x() const noexcept
173 double y() const noexcept
183 double z() const noexcept
233 return std::acos(
dot(
xyz(), inOtherCoordinate.
xyz()).
item());
246 if (inVector.
size() != 3)
261 std::string returnStr;
262 returnStr = ra_.
str();
263 returnStr += dec_.
str();
264 returnStr +=
"Cartesian = " +
xyz().
str();
285 return ra_ == inRhs.ra_ && dec_ == inRhs.dec_;
297 return !(*
this == inRhs);
310 inStream << inCoord.
str();
325 void cartesianToPolar() noexcept
327 double degreesRa =
rad2deg(std::atan2(y_, x_));
335 const double degreesDec =
rad2deg(std::asin(z_ / r));
336 dec_ = Dec(degreesDec);
342 void polarToCartesian() noexcept
double degreeSeperation(const NdArray< double > &inVector) const
Definition: Coordinate.hpp:219
value_type item() const
Definition: NdArrayCore.hpp:2958
double degreeSeperation(const Coordinate &inOtherCoordinate) const
Definition: Coordinate.hpp:206
const Dec & dec() const noexcept
Definition: Coordinate.hpp:143
double y() const noexcept
Definition: Coordinate.hpp:173
auto sqrt(dtype inValue) noexcept
Definition: sqrt.hpp:51
std::string str() const
Definition: Coordinate.hpp:259
Holds a right ascension object.
Definition: RA.hpp:47
const RA & ra() const noexcept
Definition: Coordinate.hpp:153
std::uint8_t uint8
Definition: Types.hpp:43
bool operator==(const Coordinate &inRhs) const noexcept
Definition: Coordinate.hpp:283
NdArray< dtype > dot(const NdArray< dtype > &inArray1, const NdArray< dtype > &inArray2)
Definition: dot.hpp:48
void print() const
Definition: Coordinate.hpp:271
constexpr auto deg2rad(dtype inValue) noexcept
Definition: deg2rad.hpp:50
auto cos(dtype inValue) noexcept
Definition: cos.hpp:52
Coordinate(const RA &inRA, const Dec &inDec) noexcept
Definition: Coordinate.hpp:97
double radianSeperation(const Coordinate &inOtherCoordinate) const
Definition: Coordinate.hpp:231
std::string str() const
Definition: NdArrayCore.hpp:4389
constexpr auto rad2deg(dtype inValue) noexcept
Definition: rad2deg.hpp:51
bool operator!=(const Coordinate &inRhs) const noexcept
Definition: Coordinate.hpp:295
Coordinate(double inRaDegrees, double inDecDegrees)
Definition: Coordinate.hpp:65
NdArray< double > xyz() const
Definition: Coordinate.hpp:193
size_type size() const noexcept
Definition: NdArrayCore.hpp:4326
Holds a Declination object.
Definition: Dec.hpp:51
auto sin(dtype inValue) noexcept
Definition: sin.hpp:52
NdArray< dtype > flatten() const
Definition: NdArrayCore.hpp:2775
Definition: Coordinate.hpp:45
Holds a full coordinate object.
Definition: Coordinate.hpp:51
double x() const noexcept
Definition: Coordinate.hpp:163
std::string str() const
Definition: RA.hpp:146
double degrees() const noexcept
Definition: Dec.hpp:117
double radianSeperation(const NdArray< double > &inVector) const
Definition: Coordinate.hpp:244
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition: Error.hpp:37
double degrees() const noexcept
Definition: RA.hpp:106
Coordinate(const NdArray< double > &inCartesianVector)
Definition: Coordinate.hpp:124
constexpr dtype sqr(dtype inValue) noexcept
Definition: sqr.hpp:45
std::string str() const
Definition: Dec.hpp:167
Coordinate(uint8 inRaHours, uint8 inRaMinutes, double inRaSeconds, Sign inSign, uint8 inDecDegreesWhole, uint8 inDecMinutes, double inDecSeconds)
Definition: Coordinate.hpp:83
double z() const noexcept
Definition: Coordinate.hpp:183
friend std::ostream & operator<<(std::ostream &inStream, const Coordinate &inCoord)
Definition: Coordinate.hpp:308
Coordinate(double inX, double inY, double inZ) noexcept
Definition: Coordinate.hpp:111
Sign
Struct Enum for positive or negative Dec angle.
Definition: Dec.hpp:47