VectorT< Scalar, N > Class Template Reference
Inheritance diagram for VectorT< Scalar, N >:
Collaboration diagram for VectorT< Scalar, N >:

Public Types

typedef Scalar value_type
 the type of the scalar used in this template
typedef VectorT< Scalar, N > 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 _values[N])
 construct from a value array (explicit)
template<typename otherScalarType >
 VectorT (const VectorT< otherScalarType, N > &_rhs)
 copy & cast constructor (explicit)
template<typename otherScalarType >
vector_typeoperator= (const VectorT< otherScalarType, N > &_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)
 component-wise self-division by scalar More...
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
 cross product: only defined for Vec3* as specialization More...
Scalar operator| (const vector_type &_rhs) const
 compute scalar product More...
Euclidean norm calculations
Scalar norm () const
 compute euclidean norm
Scalar length () const
 compute euclidean norm
Scalar sqrnorm () const
 compute squared euclidean norm
vector_typenormalize ()
 normalize vector, return normalized vector
const vector_type normalized () const
 return normalized vector
vector_typenormalize_cond ()
 normalize vector, return normalized vector and avoids div by zero
Non-Euclidean norm calculations
Scalar l1_norm () const
 compute L1 (Manhattan) norm
Scalar l8_norm () const
 compute l8_norm

Static Public Member Functions

static int dim ()
 returns dimension of the vector (deprecated)
static size_t size ()
 returns dimension of the vector

Static Public Attributes

static const size_t size_ = N

Minimum maximum and mean

static vector_type vectorized (const Scalar &_s)
 store the same value in each component
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_typeminimize (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_typemaximize (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) const
 component-wise min
vector_type max (const vector_type &_rhs) const
 component-wise max
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

Member Function Documentation

◆ operator%()

template<typename Scalar , int N>
VectorT<Scalar,3> VectorT< Scalar, N >::operator% ( const VectorT< Scalar, 3 > &  _rhs) const

cross product: only defined for Vec3* as specialization

See also

◆ operator/=()

template<typename Scalar , int N>
vector_type& VectorT< Scalar, N >::operator/= ( const Scalar &  _s)

component-wise self-division by scalar

v *= (1/_s) is much faster than this

◆ operator|()

template<typename Scalar , int N>
Scalar VectorT< Scalar, N >::operator| ( const vector_type _rhs) const

compute scalar product

See also

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

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .