1 #ifndef DEF_DOUBLEVEC3D
2 #define DEF_DOUBLEVEC3D
210 virtual void setVals(
double x,
double y,
double z);
DoubleVec3D operator-(const DoubleVec3D &vec)
Unary minus operator.
Definition: DoubleVec3D.cpp:89
DoubleVec3D operator*(const DoubleVec3D &vec, const double &val)
Multiplication by a scalar operator (commutative).
Definition: DoubleVec3D.cpp:102
DoubleVec3D operator+(const DoubleVec3D &vec1, const DoubleVec3D &vec2)
Sum operator.
Definition: DoubleVec3D.cpp:83
void to_json(json &j, const DoubleVec3D &vec)
Conversion to json.
Definition: DoubleVec3D.cpp:140
double length(const DoubleVec3D &vec)
Gives the norm of the vector.
Definition: DoubleVec3D.cpp:136
double dotProd(const DoubleVec3D &vec1, const DoubleVec3D &vec2)
Dot product.
Definition: DoubleVec3D.cpp:132
DoubleVec3D operator/(const DoubleVec3D &vec, const double &val)
Division by a scalar operator.
Definition: DoubleVec3D.cpp:110
DoubleVec3D crossProd(const DoubleVec3D &vec1, const DoubleVec3D &vec2)
Cross product.
Definition: DoubleVec3D.cpp:125
std::ostream & operator<<(std::ostream &stream, const DoubleVec3D &vec)
Ostream operator.
Definition: DoubleVec3D.cpp:118
void from_json(const json &j, DoubleVec3D &vec)
Conversion from json.
Definition: DoubleVec3D.cpp:146
Defines functions that are used when drawing the interface.
nlohmann::json json
Definition: InterfaceGestion.h:14
A three-dimensional vector using double values.
Definition: DoubleVec3D.h:190
double getX() const
Getter for the first coordinate.
Definition: DoubleVec3D.cpp:20
virtual void setVals(double x, double y, double z)
Setter for all coordinates.
Definition: DoubleVec3D.cpp:32
void normalise()
Normalises the vector.
Definition: DoubleVec3D.cpp:61
DoubleVec3D(double val=0)
Default constructor. Gives all coordinates the same value.
Definition: DoubleVec3D.cpp:4
double getZ() const
Getter for the third coordinate.
Definition: DoubleVec3D.cpp:22
void operator/=(const double &val)
Division by a scalar operator.
Definition: DoubleVec3D.cpp:57
bool normalised
Stores whether the vector was normalised.
Definition: DoubleVec3D.h:197
void operator*=(const double &val)
Multiplication by a scalar operator.
Definition: DoubleVec3D.cpp:50
double getY() const
Getter for the second coordinate.
Definition: DoubleVec3D.cpp:21
bool isNormalised() const
Returns whether the vector is normalised.
Definition: DoubleVec3D.cpp:74
void operator-=(const DoubleVec3D &vec)
Difference operator.
Definition: DoubleVec3D.cpp:48
void operator+=(const DoubleVec3D &vec)
Sum operator.
Definition: DoubleVec3D.cpp:41
bool isZero() const
Returns whether the vector has a length of zero.
Definition: DoubleVec3D.cpp:76