Template Class Vector3Quantity

Inheritance Relationships

Base Type

Class Documentation

template <typename T>
class Vector3Quantity : public hermes::Vector3<T>

Template class for 3-vectors of type Quantity.

Allows accessing and changing the elements x, y, z directly or through the corresponding get and set methods.

Angle definitions are phi [-pi, pi]: azimuthal angle in the x-y plane, 0 pointing in x-direction theta [0, pi]: zenith angle towards the z axis, 0 pointing in z-direction

Template Parameters
  • Quantity: Any of the QClass quantities

Public Functions

Vector3Quantity()
Vector3Quantity(const Vector3Quantity<T> &v)
template <typename U>
Vector3Quantity(const Vector3Quantity<U> &v)
template <typename U>
Vector3Quantity(const Vector3<U> &v)
Vector3Quantity(const T &X)
Vector3Quantity(const T &X, const T &Y, const T &Z)
Vector3d getValue() const
QAngle getPhi() const
QAngle getTheta() const
Vector3Quantity<T> getUnitVectorTheta() const
Vector3Quantity<T> getUnitVectorPhi() const
QAngle getAngleTo(const Vector3Quantity<T> &v) const
Vector3Quantity<T> getRotated(const Vector3Quantity<T> &axis, T angle) const
Vector3Quantity<T> clip(T lower, T upper) const
Vector3Quantity<T> abs() const
Vector3Quantity<T> floor() const
Vector3Quantity<T> ceil() const
auto dot(const Vector3Quantity<T> &v) const
Vector3Quantity<T> cross(const Vector3Quantity<T> &v) const
bool operator==(const Vector3Quantity<T> &v) const
Vector3Quantity<T> operator+(const Vector3Quantity<T> &v) const
Vector3Quantity<T> operator+(const T &f) const
Vector3Quantity<T> operator-(const Vector3Quantity<T> &v) const
Vector3Quantity<T> operator-(const T &f) const
Vector3Quantity<T> operator/(const Vector3Quantity<T> &v) const
Vector3Quantity<T> operator/(const T &f) const
Vector3Quantity<T> operator%(const Vector3Quantity<T> &v) const
Vector3Quantity<T> operator%(const T &f) const
Vector3Quantity<T> &operator-=(const Vector3Quantity<T> &v)
Vector3Quantity<T> &operator-=(const T &f)
Vector3Quantity<T> &operator+=(const Vector3Quantity<T> &v)
Vector3Quantity<T> &operator+=(const T &f)
Vector3Quantity<T> &operator*=(const Vector3Quantity<T> &v)
Vector3Quantity<T> &operator*=(const T &f)
Vector3Quantity<T> &operator/=(const Vector3Quantity<T> &v)
Vector3Quantity<T> &operator/=(const T &f)
Vector3Quantity<T> &operator%=(const Vector3Quantity<T> &v)
Vector3Quantity<T> &operator%=(const T &f)
Vector3Quantity<T> &operator=(const Vector3Quantity<T> &v)
Vector3Quantity<T> &operator=(const T &f)
virtual void setX(const T X)
virtual void setY(const T Y)
virtual void setZ(const T Z)
virtual void setXYZ(const T X, const T Y, const T Z)
virtual void setR(const T r)
void setRThetaPhi(const T r, const QAngle theta, const QAngle phi)
T getX() const
T getY() const
T getZ() const
T getR() const
T getR2() const
T getRho() const
Vector3<T> getUnitVector() const
QAngle getAngleTo(const Vector3<T> &v) const
bool isParallelTo(const Vector3<T> &v, QAngle maxAngle) const
T getDistanceTo(const Vector3<T> &point) const
Vector3<T> getParallelTo(const Vector3<T> &v) const
Vector3<T> getPerpendicularTo(const Vector3<T> &v) const
Vector3<T> getRotated(const Vector3<T> &axis, T angle) const
T min() const
T max() const
T dot(const Vector3<T> &v) const
Vector3<T> cross(const Vector3<T> &v) const
bool operator==(const Vector3<T> &v) const
Vector3<T> operator+(const Vector3<T> &v) const
Vector3<T> operator-(const Vector3<T> &v) const
Vector3<T> operator*(const Vector3<T> &v) const
Vector3<T> operator*(const T &v) const
Vector3<T> operator/(const Vector3<T> &v) const
Vector3<T> operator%(const Vector3<T> &v) const
Vector3<T> &operator-=(const Vector3<T> &v)
Vector3<T> &operator+=(const Vector3<T> &v)
Vector3<T> &operator*=(const Vector3<T> &v)
Vector3<T> &operator/=(const Vector3<T> &v)
Vector3<T> &operator%=(const Vector3<T> &v)

Public Members

T x
T y
T z