CD_Matrix::Vector3T< T, normOptimization > Struct Template Reference

#include <sch/Matrix/SmallMatrix3x3T.h>

Public Types

typedef Vector3T< T, normOptimization > Vector
 

Public Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int)
 
 Vector3T ()
 
 Vector3T (const T &x, const T &y, const T &z)
 
 Vector3T (const T *const p)
 
void Set (const T &x, const T &y, const T &z)
 
void Set (const T *const p)
 
template<bool b>
 Vector3T (const struct Vector3T< T, b > &v)
 
template<bool b>
Vector3Toperator= (const struct Vector3T< T, b > &v)
 
Vector3T operator- () const
 
T & operator[] (unsigned i)
 
const T & operator[] (unsigned i) const
 
T & operator() (unsigned i)
 
template<bool b>
bool operator== (const struct Vector3T< T, b > &v) const
 
template<bool b>
Vector3T operator+ (const struct Vector3T< T, b > &v) const
 
template<bool b>
Vector3T operator- (const struct Vector3T< T, b > &v) const
 
template<bool b>
void operator+= (const struct Vector3T< T, b > &v)
 
template<bool b>
void operator-= (const struct Vector3T< T, b > &v)
 
Vector3T operator* (const T &t) const
 
template<bool b>
operator* (const Vector3T< T, b > &v) const
 
Vector3T operator* (const Matrix3x3T< T > &m) const
 
void operator*= (const Matrix3x3T< T > m)
 
Vector3T operator/ (const T &t) const
 
void operator*= (const T &t)
 
void operator/= (const T &t)
 
void normalize ()
 
Vector3T normalized () const
 
norm () const
 
optimizedNorm ()
 
normsquared () const
 
bool IsZero () const
 
template<bool b>
Vector3T operator^ (const Vector3T< T, b > &v2) const
 

Public Attributes

m_x
 
m_y
 
m_z
 

Friends

std::ostream & operator<< (std::ostream &os, Vector3T< T, normOptimization > const &v)
 

Detailed Description

template<typename T, bool normOptimization>
struct CD_Matrix::Vector3T< T, normOptimization >

Template to handle 3 dimensional vector

Member Typedef Documentation

◆ Vector

template<typename T , bool normOptimization>
typedef Vector3T<T, normOptimization> CD_Matrix::Vector3T< T, normOptimization >::Vector

Constructor & Destructor Documentation

◆ Vector3T() [1/4]

template<typename T , bool normOptimization>
CD_Matrix::Vector3T< T, normOptimization >::Vector3T ( )
inlineexplicit

Basic constructor: all the field are set to zero.

◆ Vector3T() [2/4]

template<typename T , bool normOptimization>
CD_Matrix::Vector3T< T, normOptimization >::Vector3T ( const T &  x,
const T &  y,
const T &  z 
)
inlineexplicit

◆ Vector3T() [3/4]

template<typename T , bool normOptimization>
CD_Matrix::Vector3T< T, normOptimization >::Vector3T ( const T *const  p)
inlineexplicit

◆ Vector3T() [4/4]

template<typename T , bool normOptimization>
template<bool b>
CD_Matrix::Vector3T< T, normOptimization >::Vector3T ( const struct Vector3T< T, b > &  v)
inline

copy constructor

Member Function Documentation

◆ IsZero()

template<typename T , bool normOptimization>
bool CD_Matrix::Vector3T< T, normOptimization >::IsZero ( ) const
inline

◆ norm()

template<typename T , bool normOptimization>
T CD_Matrix::Vector3T< T, normOptimization >::norm ( ) const
inline

Get the norm.

◆ normalize()

template<typename T , bool normOptimization>
void CD_Matrix::Vector3T< T, normOptimization >::normalize ( )
inline

Normalize .

◆ normalized()

template<typename T , bool normOptimization>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::normalized ( ) const
inline

Normalized .

◆ normsquared()

template<typename T , bool normOptimization>
T CD_Matrix::Vector3T< T, normOptimization >::normsquared ( ) const
inline

Get the norm squared

◆ operator()()

template<typename T , bool normOptimization>
T& CD_Matrix::Vector3T< T, normOptimization >::operator() ( unsigned  i)
inline

Array operator

◆ operator*() [1/3]

template<typename T , bool normOptimization>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator* ( const Matrix3x3T< T > &  m) const
inline

multiplication as a row vector by a left-hand matrix

◆ operator*() [2/3]

template<typename T , bool normOptimization>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator* ( const T &  t) const
inline

Binary operator *

◆ operator*() [3/3]

template<typename T , bool normOptimization>
template<bool b>
T CD_Matrix::Vector3T< T, normOptimization >::operator* ( const Vector3T< T, b > &  v) const
inline

Binary operator * : dot product

◆ operator*=() [1/2]

template<typename T , bool normOptimization>
void CD_Matrix::Vector3T< T, normOptimization >::operator*= ( const Matrix3x3T< T >  m)
inline

◆ operator*=() [2/2]

template<typename T , bool normOptimization>
void CD_Matrix::Vector3T< T, normOptimization >::operator*= ( const T &  t)
inline

Binary operator *=

◆ operator+()

template<typename T , bool normOptimization>
template<bool b>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator+ ( const struct Vector3T< T, b > &  v) const
inline

Binary operator +

◆ operator+=()

template<typename T , bool normOptimization>
template<bool b>
void CD_Matrix::Vector3T< T, normOptimization >::operator+= ( const struct Vector3T< T, b > &  v)
inline

Binary operator +=

◆ operator-() [1/2]

template<typename T , bool normOptimization>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator- ( ) const
inline

Unary operator -

◆ operator-() [2/2]

template<typename T , bool normOptimization>
template<bool b>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator- ( const struct Vector3T< T, b > &  v) const
inline

Binary operator -

◆ operator-=()

template<typename T , bool normOptimization>
template<bool b>
void CD_Matrix::Vector3T< T, normOptimization >::operator-= ( const struct Vector3T< T, b > &  v)
inline

Binary operator -=

◆ operator/()

template<typename T , bool normOptimization>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator/ ( const T &  t) const
inline

Binary operator /

◆ operator/=()

template<typename T , bool normOptimization>
void CD_Matrix::Vector3T< T, normOptimization >::operator/= ( const T &  t)
inline

Binary operator /=

◆ operator=()

template<typename T , bool normOptimization>
template<bool b>
Vector3T& CD_Matrix::Vector3T< T, normOptimization >::operator= ( const struct Vector3T< T, b > &  v)
inline

Assignement operator

◆ operator==()

template<typename T , bool normOptimization>
template<bool b>
bool CD_Matrix::Vector3T< T, normOptimization >::operator== ( const struct Vector3T< T, b > &  v) const
inline

Binary operator ==

◆ operator[]() [1/2]

template<typename T , bool normOptimization>
T& CD_Matrix::Vector3T< T, normOptimization >::operator[] ( unsigned  i)
inline

Array operator

◆ operator[]() [2/2]

template<typename T , bool normOptimization>
const T& CD_Matrix::Vector3T< T, normOptimization >::operator[] ( unsigned  i) const
inline

Array operator

◆ operator^()

template<typename T , bool normOptimization>
template<bool b>
Vector3T CD_Matrix::Vector3T< T, normOptimization >::operator^ ( const Vector3T< T, b > &  v2) const
inline

Cross product

◆ optimizedNorm()

template<typename T , bool normOptimization>
T CD_Matrix::Vector3T< T, normOptimization >::optimizedNorm ( )
inline

Get the norm.

◆ serialize()

template<typename T , bool normOptimization>
template<class Archive >
void CD_Matrix::Vector3T< T, normOptimization >::serialize ( Archive &  ar,
const unsigned int   
)
inline

◆ Set() [1/2]

template<typename T , bool normOptimization>
void CD_Matrix::Vector3T< T, normOptimization >::Set ( const T &  x,
const T &  y,
const T &  z 
)
inline

◆ Set() [2/2]

template<typename T , bool normOptimization>
void CD_Matrix::Vector3T< T, normOptimization >::Set ( const T *const  p)
inline

Friends And Related Function Documentation

◆ operator<<

template<typename T , bool normOptimization>
std::ostream& operator<< ( std::ostream &  os,
Vector3T< T, normOptimization > const &  v 
)
friend

Member Data Documentation

◆ m_x

template<typename T , bool normOptimization>
T CD_Matrix::Vector3T< T, normOptimization >::m_x

◆ m_y

template<typename T , bool normOptimization>
T CD_Matrix::Vector3T< T, normOptimization >::m_y

◆ m_z

template<typename T , bool normOptimization>
T CD_Matrix::Vector3T< T, normOptimization >::m_z

The documentation for this struct was generated from the following files: