Public Types | Public Member Functions | Public Attributes | List of all members
fcl::Vec3fX< T > Class Template Reference

Vector3 class wrapper. The core data is in the template parameter class. More...

#include <hpp/fcl/math/vec_3fx.h>

Collaboration diagram for fcl::Vec3fX< T >:
[legend]

Public Types

typedef T::meta_type U
 

Public Member Functions

 Vec3fX ()
 
 Vec3fX (const Vec3fX &other)
 
 Vec3fX (U x, U y, U z)
 create Vector (x, y, z) More...
 
 Vec3fX (U x)
 create vector (x, x, x) More...
 
 Vec3fX (const T &data_)
 create vector using the internal data type More...
 
U operator[] (size_t i) const
 
Uoperator[] (size_t i)
 
Vec3fX operator+ (const Vec3fX &other) const
 
Vec3fX operator- (const Vec3fX &other) const
 
Vec3fX operator* (const Vec3fX &other) const
 
Vec3fX operator/ (const Vec3fX &other) const
 
Vec3fXoperator+= (const Vec3fX &other)
 
Vec3fXoperator-= (const Vec3fX &other)
 
Vec3fXoperator*= (const Vec3fX &other)
 
Vec3fXoperator/= (const Vec3fX &other)
 
Vec3fX operator+ (U t) const
 
Vec3fX operator- (U t) const
 
Vec3fX operator* (U t) const
 
Vec3fX operator/ (U t) const
 
Vec3fXoperator+= (U t)
 
Vec3fXoperator-= (U t)
 
Vec3fXoperator*= (U t)
 
Vec3fXoperator/= (U t)
 
Vec3fX operator- () const
 
Vec3fX cross (const Vec3fX &other) const
 
U dot (const Vec3fX &other) const
 
Vec3fXnormalize ()
 
Vec3fXnormalize (bool *signal)
 
Vec3fXabs ()
 
U length () const
 
U norm () const
 
U sqrLength () const
 
U squaredNorm () const
 
void setValue (U x, U y, U z)
 
void setValue (U x)
 
void setZero ()
 
bool equal (const Vec3fX &other, U epsilon=std::numeric_limits< U >::epsilon() *100) const
 
Vec3fX< T > & negate ()
 
bool operator== (const Vec3fX &other) const
 
bool operator!= (const Vec3fX &other) const
 
Vec3fX< T > & ubound (const Vec3fX< T > &u)
 
Vec3fX< T > & lbound (const Vec3fX< T > &l)
 
bool isZero () const
 

Public Attributes

data
 interval vector3 data More...
 

Detailed Description

template<typename T>
class fcl::Vec3fX< T >

Vector3 class wrapper. The core data is in the template parameter class.

Member Typedef Documentation

◆ U

template<typename T>
typedef T::meta_type fcl::Vec3fX< T >::U

Constructor & Destructor Documentation

◆ Vec3fX() [1/5]

template<typename T>
fcl::Vec3fX< T >::Vec3fX ( )
inline

◆ Vec3fX() [2/5]

template<typename T>
fcl::Vec3fX< T >::Vec3fX ( const Vec3fX< T > &  other)
inline

◆ Vec3fX() [3/5]

template<typename T>
fcl::Vec3fX< T >::Vec3fX ( U  x,
U  y,
U  z 
)
inline

create Vector (x, y, z)

◆ Vec3fX() [4/5]

template<typename T>
fcl::Vec3fX< T >::Vec3fX ( U  x)
inline

create vector (x, x, x)

◆ Vec3fX() [5/5]

template<typename T>
fcl::Vec3fX< T >::Vec3fX ( const T &  data_)
inline

create vector using the internal data type

Member Function Documentation

◆ abs()

template<typename T>
Vec3fX& fcl::Vec3fX< T >::abs ( )
inline

◆ cross()

template<typename T>
Vec3fX fcl::Vec3fX< T >::cross ( const Vec3fX< T > &  other) const
inline

◆ dot()

template<typename T>
U fcl::Vec3fX< T >::dot ( const Vec3fX< T > &  other) const
inline

◆ equal()

template<typename T>
bool fcl::Vec3fX< T >::equal ( const Vec3fX< T > &  other,
U  epsilon = std::numeric_limits<U>::epsilon() * 100 
) const
inline

Referenced by fcl::AABB::equal().

◆ isZero()

template<typename T>
bool fcl::Vec3fX< T >::isZero ( ) const
inline

◆ lbound()

template<typename T>
Vec3fX<T>& fcl::Vec3fX< T >::lbound ( const Vec3fX< T > &  l)
inline

◆ length()

template<typename T>
U fcl::Vec3fX< T >::length ( ) const
inline

◆ negate()

template<typename T>
Vec3fX<T>& fcl::Vec3fX< T >::negate ( )
inline

◆ norm()

template<typename T>
U fcl::Vec3fX< T >::norm ( ) const
inline

◆ normalize() [1/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::normalize ( )
inline

◆ normalize() [2/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::normalize ( bool *  signal)
inline

◆ operator!=()

template<typename T>
bool fcl::Vec3fX< T >::operator!= ( const Vec3fX< T > &  other) const
inline

◆ operator*() [1/2]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator* ( const Vec3fX< T > &  other) const
inline

◆ operator*() [2/2]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator* ( U  t) const
inline

◆ operator*=() [1/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator*= ( const Vec3fX< T > &  other)
inline

◆ operator*=() [2/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator*= ( U  t)
inline

◆ operator+() [1/2]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator+ ( const Vec3fX< T > &  other) const
inline

◆ operator+() [2/2]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator+ ( U  t) const
inline

◆ operator+=() [1/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator+= ( const Vec3fX< T > &  other)
inline

◆ operator+=() [2/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator+= ( U  t)
inline

◆ operator-() [1/3]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator- ( const Vec3fX< T > &  other) const
inline

◆ operator-() [2/3]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator- ( U  t) const
inline

◆ operator-() [3/3]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator- ( ) const
inline

◆ operator-=() [1/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator-= ( const Vec3fX< T > &  other)
inline

◆ operator-=() [2/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator-= ( U  t)
inline

◆ operator/() [1/2]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator/ ( const Vec3fX< T > &  other) const
inline

◆ operator/() [2/2]

template<typename T>
Vec3fX fcl::Vec3fX< T >::operator/ ( U  t) const
inline

◆ operator/=() [1/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator/= ( const Vec3fX< T > &  other)
inline

◆ operator/=() [2/2]

template<typename T>
Vec3fX& fcl::Vec3fX< T >::operator/= ( U  t)
inline

◆ operator==()

template<typename T>
bool fcl::Vec3fX< T >::operator== ( const Vec3fX< T > &  other) const
inline

◆ operator[]() [1/2]

template<typename T>
U fcl::Vec3fX< T >::operator[] ( size_t  i) const
inline

◆ operator[]() [2/2]

template<typename T>
U& fcl::Vec3fX< T >::operator[] ( size_t  i)
inline

◆ setValue() [1/2]

template<typename T>
void fcl::Vec3fX< T >::setValue ( U  x,
U  y,
U  z 
)
inline

◆ setValue() [2/2]

template<typename T>
void fcl::Vec3fX< T >::setValue ( U  x)
inline

◆ setZero()

template<typename T>
void fcl::Vec3fX< T >::setZero ( )
inline

◆ sqrLength()

template<typename T>
U fcl::Vec3fX< T >::sqrLength ( ) const
inline

Referenced by fcl::OBB::size().

◆ squaredNorm()

template<typename T>
U fcl::Vec3fX< T >::squaredNorm ( ) const
inline

◆ ubound()

template<typename T>
Vec3fX<T>& fcl::Vec3fX< T >::ubound ( const Vec3fX< T > &  u)
inline

Member Data Documentation

◆ data

template<typename T>
T fcl::Vec3fX< T >::data

interval vector3 data

Referenced by fcl::abs(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::cross(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::dot(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dot(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dotX(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dotY(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::dotZ(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::equal(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::lbound(), fcl::max(), fcl::min(), fcl::normalize(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator*(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::operator*(), fcl::operator*(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator*=(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator+(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator+=(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator-(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator-=(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator/(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator/=(), fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::operator==(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDot(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDotX(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDotY(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeDotZ(), fcl::Matrix3fX< details::Matrix3Data< FCL_REAL > >::transposeTimes(), and fcl::Vec3fX< details::Vec3Data< FCL_REAL > >::ubound().