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

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”.


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 ()