31 return std::sqrt(std::pow(
x, 2) + std::pow(
y, 2) + std::pow(
z, 2));
42 return (
x == p.
x &&
y == p.
y &&
z == p.
z);
58 return Position(p.
x + this->x, p.
y + this->y, p.
z + this->z);
66 return Position(this->
x - p.
x, this->y - p.
y, this->z - p.
z);
75 return Position(this->
x * m, this->
y * m, this->
z * m);
Position operator/(const double &m) const
Divide by a scalar.
Definition: position.h:82
double y
y component in m
Definition: position.h:23
Position()
Implicit constructor Instantiate position to (0,0,0)m.
Definition: position.h:13
double x
x component in m
Definition: position.h:22
bool operator!=(const Position &p) const
Compare two positions.
Definition: position.h:51
Position(double x, double y, double z)
Explicit constructor.
Definition: position.h:21
double z
z component in m
Definition: position.h:24
Position operator*(const double &m) const
Multiply times a scalar.
Definition: position.h:74
Position operator+(const Position &p) const
Definition: position.h:57
bool operator==(const Position &p) const
Compare two positions.
Definition: position.h:41
Store 3D position.
Definition: position.h:8
Position operator-(const Position &p) const
Definition: position.h:65
double norm() const
Returns the norm of the vector.
Definition: position.h:30