OpenVolumeMesh
 All Classes Functions Variables Typedefs Pages
CLASSNAME Class Reference

Public Types

typedef Scalar value_type
 the type of the scalar used in this template
typedef VectorT< Scalar, DIM > vector_type
 type of this vector

Public Member Functions

 VectorT ()
 default constructor creates uninitialized values.
 VectorT (const Scalar &v)
 special constructor for 1D vectors
 VectorT (const Scalar &v0, const Scalar &v1)
 special constructor for 2D vectors
 VectorT (const Scalar &v0, const Scalar &v1, const Scalar &v2)
 special constructor for 3D vectors
 VectorT (const Scalar &v0, const Scalar &v1, const Scalar &v2, const Scalar &v3)
 special constructor for 4D vectors
 VectorT (const Scalar &v0, const Scalar &v1, const Scalar &v2, const Scalar &v3, const Scalar &v4)
 special constructor for 5D vectors
 VectorT (const Scalar &v0, const Scalar &v1, const Scalar &v2, const Scalar &v3, const Scalar &v4, const Scalar &v5)
 special constructor for 6D vectors
 VectorT (const Scalar _values[DIM])
 construct from a value array (explicit)
template<typename otherScalarType >
 VectorT (const VectorT< otherScalarType, DIM > &_rhs)
 copy & cast constructor (explicit)
template<typename otherScalarType >
vector_typeoperator= (const VectorT< otherScalarType, DIM > &_rhs)
 cast from vector with a different scalar type
Scalar * data ()
 access to Scalar array
const Scalar * data () const
 access to const Scalar array
Scalar & operator[] (size_t _i)
 get i'th element read-write
const Scalar & operator[] (size_t _i) const
 get i'th element read-only
bool operator== (const vector_type &_rhs) const
 component-wise comparison
bool operator!= (const vector_type &_rhs) const
 component-wise comparison
vector_typeoperator*= (const Scalar &_s)
 component-wise self-multiplication with scalar
vector_typeoperator/= (const Scalar &_s)
vector_type operator* (const Scalar &_s) const
 component-wise multiplication with scalar
vector_type operator/ (const Scalar &_s) const
 component-wise division by with scalar
vector_typeoperator*= (const vector_type &_rhs)
 component-wise self-multiplication
vector_typeoperator/= (const vector_type &_rhs)
 component-wise self-division
vector_typeoperator-= (const vector_type &_rhs)
 vector difference from this
vector_typeoperator+= (const vector_type &_rhs)
 vector self-addition
vector_type operator* (const vector_type &_v) const
 component-wise vector multiplication
vector_type operator/ (const vector_type &_v) const
 component-wise vector division
vector_type operator+ (const vector_type &_v) const
 component-wise vector addition
vector_type operator- (const vector_type &_v) const
 component-wise vector difference
vector_type operator- (void) const
 unary minus
VectorT< Scalar, 3 > operator% (const VectorT< Scalar, 3 > &_rhs) const
Scalar operator| (const vector_type &_rhs) const
template<typename Functor >
vector_type apply (const Functor &_func) const
 component-wise apply function object with Scalar operator()(Scalar).
vector_typevectorize (const Scalar &_s)
 store the same value in each component (e.g. to clear all entries)
bool operator< (const vector_type &_rhs) const
 lexicographical comparison
Euclidean norm calculations
Scalar norm () const
 compute euclidean norm
Scalar length () const
Scalar sqrnorm () const
 compute squared euclidean norm
vector_typenormalize ()
vector_typenormalize_cond ()
Non-Euclidean norm calculations
Scalar l1_norm () const
 compute L1 (Manhattan) norm
Scalar l8_norm () const
 compute l8_norm
Minimum maximum and mean
Scalar max () const
 return the maximal component
Scalar max_abs () const
 return the maximal absolute component
Scalar min () const
 return the minimal component
Scalar min_abs () const
 return the minimal absolute component
Scalar mean () const
 return arithmetic mean
Scalar mean_abs () const
 return absolute arithmetic mean
vector_type minimize (const vector_type &_rhs)
 minimize values: same as *this = min(*this, _rhs), but faster
bool minimized (const vector_type &_rhs)
 minimize values and signalize coordinate minimization
vector_type maximize (const vector_type &_rhs)
 maximize values: same as *this = max(*this, _rhs), but faster
bool maximized (const vector_type &_rhs)
 maximize values and signalize coordinate maximization
vector_type min (const vector_type &_rhs)
 component-wise min
vector_type max (const vector_type &_rhs)
 component-wise max

Static Public Member Functions

static int dim ()
 returns dimension of the vector (deprecated)
static size_t size ()
 returns dimension of the vector
static vector_type vectorized (const Scalar &_s)
 store the same value in each component

Static Public Attributes

static const size_t size_ = DIM

Member Function Documentation

vector_type& CLASSNAME::normalize ( )
inline

normalize vector, return normalized vector

vector_type& CLASSNAME::normalize_cond ( )
inline

normalize vector, return normalized vector and avoids div by zero

VectorT<Scalar,3> CLASSNAME::operator% ( const VectorT< Scalar, 3 > &  _rhs) const
inline

cross product: only defined for Vec3* as specialization

See Also
OpenVolumeMesh::cross
vector_type& CLASSNAME::operator/= ( const Scalar &  _s)
inline

component-wise self-division by scalar

Attention
v *= (1/_s) is much faster than this
Scalar CLASSNAME::operator| ( const vector_type _rhs) const
inline

compute scalar product

See Also
OpenVolumeMesh::dot

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