150 return { 1., 0., 0. };
160 return { 0., 1., 0. };
170 return { 0., 0., 1. };
193 return !(*
this ==
other);
271 os <<
"Cartesian(x=" <<
vec.
x <<
", y=" <<
vec.y <<
", z=" <<
vec.z <<
")\n";
#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
Holds a 2D vector.
Definition Vec2.hpp:49
Holds a 3D vector.
Definition Vec3.hpp:51
Cartensian coordinates.
Definition Cartesian.hpp:45
bool operator!=(const Cartesian &other) const noexcept
Non-Equality Operator.
Definition Cartesian.hpp:191
Cartesian(const Vec3 &inCartesianVector)
Default Constructor.
Definition Cartesian.hpp:86
bool operator==(const Cartesian &other) const noexcept
Non-Equality Operator.
Definition Cartesian.hpp:179
virtual ~Cartesian()=default
Destructor.
static Cartesian zHat() noexcept
z Unit Vector
Definition Cartesian.hpp:168
Cartesian & operator=(const Cartesian &other) noexcept=default
Copy Assignement Operator.
static Cartesian xHat() noexcept
x Unit Vector
Definition Cartesian.hpp:148
Cartesian(const Cartesian &other) noexcept=default
Copy Constructor.
double z
Definition Cartesian.hpp:49
Cartesian(const Vec2 &inCartesianVector)
Default Constructor.
Definition Cartesian.hpp:75
Cartesian(Cartesian &&other) noexcept=default
Move Constructor.
static Cartesian yHat() noexcept
y Unit Vector
Definition Cartesian.hpp:158
double y
Definition Cartesian.hpp:48
Cartesian() noexcept=default
Default Constructor.
double x
Definition Cartesian.hpp:47
Cartesian(const NdArray< double > &inCartesianVector)
Definition Cartesian.hpp:98
Cartesian & operator=(Cartesian &&other) noexcept=default
Move Assignement Operator.
Definition Cartesian.hpp:40
double norm(const Cartesian &vec) noexcept
Vector norm.
Definition Cartesian.hpp:295
Cartesian cross(const Cartesian &vec1, const Cartesian &vec2) noexcept
Vector cross product.
Definition Cartesian.hpp:282
std::ostream & operator<<(std::ostream &os, const Cartesian &vec)
Stream operator.
Definition Cartesian.hpp:269
double angle(const Cartesian &vec1, const Cartesian &vec2) noexcept
angle between the two vectors
Definition Cartesian.hpp:318
Cartesian operator+(const Cartesian &lhs, const Cartesian &rhs) noexcept
Addition of two cartesian points.
Definition Cartesian.hpp:203
Cartesian normalize(const Cartesian &vec) noexcept
normalize the input vector
Definition Cartesian.hpp:306
Cartesian operator-(const Cartesian &lhs, const Cartesian &rhs) noexcept
Subtraction of two cartesian points.
Definition Cartesian.hpp:214
double operator*(const Cartesian &lhs, const Cartesian &rhs) noexcept
Dot product of two cartesian points.
Definition Cartesian.hpp:225
Cartesian operator/(const Cartesian &vec, double denominator) noexcept
Scalar Division a cartesian point.
Definition Cartesian.hpp:258
bool essentiallyEqual(dtype inValue1, dtype inValue2) noexcept
Definition essentiallyEqual.hpp:49
NdArray< dtype > arange(dtype inStart, dtype inStop, dtype inStep=1)
Definition arange.hpp:59