Hoops Visualize HPS  version 2018-SP2
Hoops Visualize HPS 3D Rendering Engine
Looking for a senior C++ dev?
I'm looking for work. Hire me!
HPS::Vector_3D< F > Class Template Reference

#include <hps.h>

Inheritance diagram for HPS::Vector_3D< F >:
Collaboration diagram for HPS::Vector_3D< F >:

Public Member Functions

 Vector_3D ()
 
 Vector_3D (F v1, F v2, F v3)
 
template<typename D >
 Vector_3D (Vector_3D< D > const &that)
 
 Vector_3D (Point_3D< F > const &p)
 
 Vector_3D (Plane_3D< F > const &p)
 
 Vector_3D (Vector_2D< F > const &that)
 
Vector_3D const operator- () const
 
bool operator== (Vector_3D const &v) const
 
bool operator!= (Vector_3D const &v) const
 
bool Equals (Vector_3D const &v, int in_tolerance=32) const
 
Vector_3Doperator+= (Vector_3D const &v)
 
Vector_3Doperator-= (Vector_3D const &v)
 
Vector_3D const operator+ (Vector_3D const &v) const
 
Vector_3D const operator- (Vector_3D const &v) const
 
Vector_3Doperator*= (F s)
 
Vector_3Doperator/= (F s)
 
Vector_3D const operator* (F s) const
 
Vector_3D const operator/ (F s) const
 
Foperator[] (size_t i)
 
F const & operator[] (size_t i) const
 
HPS_INLINE double Length () const
 
HPS_INLINE double LengthSquared () const
 
HPS_INLINE double Length2D () const
 
HPS_INLINE double LengthSquared2D () const
 
HPS_INLINE Vector_3DNormalize (bool check_range=false, F epsilon=Float_Traits< F >::Epsilon())
 
HPS_INLINE Vector_3DNormalize (F epsilon)
 
HPS_INLINE Vector_3DClean_Zeroes (F epsilon=F(1.0e-4))
 
HPS_INLINE F Magnitude () const
 
HPS_INLINE F Manhattan () const
 
HPS_INLINE F Dot (Vector_3D const &v) const
 
HPS_INLINE Vector_3D Cross (Vector_3D const &v) const
 
HPS_INLINE Vector_3D Scale (Vector_3D const &v) const
 

Static Public Member Functions

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

Public Attributes

F x
 
F y
 
F z
 

Constructor & Destructor Documentation

◆ Vector_3D() [1/6]

template<typename F>
HPS::Vector_3D< F >::Vector_3D ( )
inline

◆ Vector_3D() [2/6]

template<typename F>
HPS::Vector_3D< F >::Vector_3D ( F  v1,
F  v2,
F  v3 
)
inline

◆ Vector_3D() [3/6]

template<typename F>
template<typename D >
HPS::Vector_3D< F >::Vector_3D ( Vector_3D< D > const &  that)
inlineexplicit

◆ Vector_3D() [4/6]

template<typename F>
HPS::Vector_3D< F >::Vector_3D ( Point_3D< F > const &  p)
inlineexplicit

◆ Vector_3D() [5/6]

template<typename F>
HPS::Vector_3D< F >::Vector_3D ( Plane_3D< F > const &  p)
explicit

◆ Vector_3D() [6/6]

template<typename F>
HPS_INLINE HPS::Vector_3D< F >::Vector_3D ( Vector_2D< F > const &  that)
explicit

Member Function Documentation

◆ Clean_Zeroes()

template<typename F>
HPS_INLINE Vector_3D& HPS::Vector_3D< F >::Clean_Zeroes ( F  epsilon = F(1.0e-4))
inline

◆ Cross()

template<typename F>
HPS_INLINE Vector_3D HPS::Vector_3D< F >::Cross ( Vector_3D< F > const &  v) const
inline

◆ Dot()

template<typename F>
HPS_INLINE F HPS::Vector_3D< F >::Dot ( Vector_3D< F > const &  v) const
inline
Here is the caller graph for this function:

◆ Equals()

template<typename F>
bool HPS::Vector_3D< F >::Equals ( Vector_3D< F > const &  v,
int  in_tolerance = 32 
) const
inline

◆ Length()

template<typename F>
HPS_INLINE double HPS::Vector_3D< F >::Length ( ) const
inline
Here is the caller graph for this function:

◆ Length2D()

template<typename F>
HPS_INLINE double HPS::Vector_3D< F >::Length2D ( ) const
inline

◆ LengthSquared()

template<typename F>
HPS_INLINE double HPS::Vector_3D< F >::LengthSquared ( ) const
inline
Here is the caller graph for this function:

◆ LengthSquared2D()

template<typename F>
HPS_INLINE double HPS::Vector_3D< F >::LengthSquared2D ( ) const
inline

◆ Magnitude()

template<typename F>
HPS_INLINE F HPS::Vector_3D< F >::Magnitude ( ) const
inline

◆ Manhattan()

template<typename F>
HPS_INLINE F HPS::Vector_3D< F >::Manhattan ( ) const
inline

◆ Normalize() [1/2]

template<typename F>
HPS_INLINE Vector_3D& HPS::Vector_3D< F >::Normalize ( bool  check_range = false,
F  epsilon = Float_Traits<F>::Epsilon() 
)
inline
Here is the caller graph for this function:

◆ Normalize() [2/2]

template<typename F>
HPS_INLINE Vector_3D& HPS::Vector_3D< F >::Normalize ( F  epsilon)
inline
Here is the caller graph for this function:

◆ operator!=()

template<typename F>
bool HPS::Vector_3D< F >::operator!= ( Vector_3D< F > const &  v) const
inline

◆ operator*()

template<typename F>
Vector_3D const HPS::Vector_3D< F >::operator* ( F  s) const
inline

◆ operator*=()

template<typename F>
Vector_3D& HPS::Vector_3D< F >::operator*= ( F  s)
inline

◆ operator+()

template<typename F>
Vector_3D const HPS::Vector_3D< F >::operator+ ( Vector_3D< F > const &  v) const
inline

◆ operator+=()

template<typename F>
Vector_3D& HPS::Vector_3D< F >::operator+= ( Vector_3D< F > const &  v)
inline

◆ operator-() [1/2]

template<typename F>
Vector_3D const HPS::Vector_3D< F >::operator- ( ) const
inline

◆ operator-() [2/2]

template<typename F>
Vector_3D const HPS::Vector_3D< F >::operator- ( Vector_3D< F > const &  v) const
inline

◆ operator-=()

template<typename F>
Vector_3D& HPS::Vector_3D< F >::operator-= ( Vector_3D< F > const &  v)
inline

◆ operator/()

template<typename F>
Vector_3D const HPS::Vector_3D< F >::operator/ ( F  s) const
inline

◆ operator/=()

template<typename F>
Vector_3D& HPS::Vector_3D< F >::operator/= ( F  s)
inline

◆ operator==()

template<typename F>
bool HPS::Vector_3D< F >::operator== ( Vector_3D< F > const &  v) const
inline

◆ operator[]() [1/2]

template<typename F>
F& HPS::Vector_3D< F >::operator[] ( size_t  i)
inline

◆ operator[]() [2/2]

template<typename F>
F const& HPS::Vector_3D< F >::operator[] ( size_t  i) const
inline

◆ Scale()

template<typename F>
HPS_INLINE Vector_3D HPS::Vector_3D< F >::Scale ( Vector_3D< F > const &  v) const
inline

◆ Unit()

template<typename F>
static HPS_INLINE Vector_3D HPS::Vector_3D< F >::Unit ( )
inlinestatic

◆ XAxis()

template<typename F>
static HPS_INLINE Vector_3D HPS::Vector_3D< F >::XAxis ( )
inlinestatic

◆ YAxis()

template<typename F>
static HPS_INLINE Vector_3D HPS::Vector_3D< F >::YAxis ( )
inlinestatic

◆ ZAxis()

template<typename F>
static HPS_INLINE Vector_3D HPS::Vector_3D< F >::ZAxis ( )
inlinestatic

◆ Zero()

template<typename F>
static HPS_INLINE Vector_3D HPS::Vector_3D< F >::Zero ( )
inlinestatic
Here is the caller graph for this function:

Member Data Documentation

◆ x

template<typename F>
F HPS::Vector_3D< F >::x

◆ y

template<typename F>
F HPS::Vector_3D< F >::y

◆ z

template<typename F>
F HPS::Vector_3D< F >::z

The documentation for this class was generated from the following file: