Vector_3D

template<typename F>
class HPS::Vector_3D

Public Functions

inline HPS_INLINE Vector_3D & Clean_Zeroes (F epsilon=F(1.0e-4))
inline HPS_INLINE Vector_3D Cross (Vector_3D const &v) const
inline Vector_3D<F> different_vector() const
inline HPS_INLINE F Dot (Vector_3D const &v) const
inline bool Equals(Vector_3D const &v, int in_tolerance = 32) const
inline HPS_INLINE double Length () const
Returns

The length of this vector.

inline HPS_INLINE double Length2D () const
inline HPS_INLINE double LengthSquared () const
inline HPS_INLINE double LengthSquared2D () const
inline HPS_INLINE F Magnitude () const

Returns the largest absolute directional vector of all major directions (x, y, or z), also known as the “Chebyshev Distance”.

Returns

Largest absolute directional vector component.

inline HPS_INLINE F Manhattan () const
inline HPS_INLINE Vector_3D & Normalize (bool check_range=false, F epsilon=Float_Traits< F >::Epsilon())
inline HPS_INLINE Vector_3D & Normalize (F epsilon)
inline HPS_INLINE Vector_3D Normalized (bool check_range=false, F epsilon=Float_Traits< F >::Epsilon()) const
inline HPS_INLINE Vector_3D Normalized (F epsilon) const
inline bool operator!=(Vector_3D const &v) const
inline Vector_3D const operator*(F s) const
inline Vector_3D &operator*=(F s)
inline Vector_3D const operator+(Vector_3D const &v) const
inline Vector_3D &operator+=(Vector_3D const &v)
inline Vector_3D const operator-() const
inline Vector_3D const operator-(Vector_3D const &v) const
inline Vector_3D &operator-=(Vector_3D const &v)
inline Vector_3D const operator/(F s) const
inline Vector_3D &operator/=(F s)
inline bool operator==(Vector_3D const &v) const
inline F &operator[](size_t i)
inline F const &operator[](size_t i) const
inline HPS_INLINE Vector_3D Scale (Vector_3D const &v) const
inline Vector_3D()
inline Vector_3D(F v1, F v2, F v3)
explicit Vector_3D(Plane_3D<F> const &p)
inline explicit Vector_3D(Point_3D<F> const &p)
explicit Vector_3D(Vector_2D<F> const &that)
template<typename D>
inline explicit Vector_3D(Vector_3D<D> const &that)

Public Members

F x
F y
F z

Public Static Functions

static inline HPS_INLINE Vector_3D Unit ()
static inline HPS_INLINE Vector_3D XAxis ()
static inline HPS_INLINE Vector_3D YAxis ()
static inline HPS_INLINE Vector_3D ZAxis ()
static inline HPS_INLINE Vector_3D Zero ()