MVE - Multi-View Environment mve-devel
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
vector.h File Reference
#include <algorithm>
#include <functional>
#include <stdexcept>
#include <numeric>
#include <cmath>
#include <ostream>
#include "math/defines.h"
#include "math/algo.h"
Include dependency graph for vector.h:

Go to the source code of this file.

Classes

class  math::Vector< T, N >
 Vector class for arbitrary dimensions and types. More...
 

Namespaces

namespace  math
 Vector, Matrix, basic operations, etc.
 

Typedefs

typedef Vector< float, 128 > math::Vec128f
 
typedef Vector< unsigned short, 128 > math::Vec128us
 
typedef Vector< char, 1 > math::Vec1c
 
typedef Vector< double, 1 > math::Vec1d
 
typedef Vector< float, 1 > math::Vec1f
 
typedef Vector< int, 1 > math::Vec1i
 
typedef Vector< std::size_t, 1 > math::Vec1st
 
typedef Vector< unsigned char, 1 > math::Vec1uc
 
typedef Vector< unsigned int, 1 > math::Vec1ui
 
typedef Vector< unsigned short, 1 > math::Vec1us
 
typedef Vector< char, 2 > math::Vec2c
 
typedef Vector< double, 2 > math::Vec2d
 
typedef Vector< float, 2 > math::Vec2f
 
typedef Vector< int, 2 > math::Vec2i
 
typedef Vector< std::size_t, 2 > math::Vec2st
 
typedef Vector< unsigned char, 2 > math::Vec2uc
 
typedef Vector< unsigned int, 2 > math::Vec2ui
 
typedef Vector< unsigned short, 2 > math::Vec2us
 
typedef Vector< char, 3 > math::Vec3c
 
typedef Vector< double, 3 > math::Vec3d
 
typedef Vector< float, 3 > math::Vec3f
 
typedef Vector< int, 3 > math::Vec3i
 
typedef Vector< std::size_t, 3 > math::Vec3st
 
typedef Vector< unsigned char, 3 > math::Vec3uc
 
typedef Vector< unsigned int, 3 > math::Vec3ui
 
typedef Vector< unsigned short, 3 > math::Vec3us
 
typedef Vector< char, 4 > math::Vec4c
 
typedef Vector< double, 4 > math::Vec4d
 
typedef Vector< float, 4 > math::Vec4f
 
typedef Vector< int, 4 > math::Vec4i
 
typedef Vector< std::size_t, 4 > math::Vec4st
 
typedef Vector< unsigned char, 4 > math::Vec4uc
 
typedef Vector< unsigned int, 4 > math::Vec4ui
 
typedef Vector< unsigned short, 4 > math::Vec4us
 
typedef Vector< char, 5 > math::Vec5c
 
typedef Vector< double, 5 > math::Vec5d
 
typedef Vector< float, 5 > math::Vec5f
 
typedef Vector< int, 5 > math::Vec5i
 
typedef Vector< std::size_t, 5 > math::Vec5st
 
typedef Vector< unsigned char, 5 > math::Vec5uc
 
typedef Vector< unsigned int, 5 > math::Vec5ui
 
typedef Vector< unsigned short, 5 > math::Vec5us
 
typedef Vector< float, 64 > math::Vec64f
 
typedef Vector< short, 64 > math::Vec64s
 
typedef Vector< char, 6 > math::Vec6c
 
typedef Vector< double, 6 > math::Vec6d
 
typedef Vector< float, 6 > math::Vec6f
 
typedef Vector< int, 6 > math::Vec6i
 
typedef Vector< std::size_t, 6 > math::Vec6st
 
typedef Vector< unsigned char, 6 > math::Vec6uc
 
typedef Vector< unsigned int, 6 > math::Vec6ui
 
typedef Vector< unsigned short, 6 > math::Vec6us
 

Functions

template<typename T >
Vector< T, 3 > math::cross_product (Vector< T, 3 > const &v1, Vector< T, 3 > const &v2)
 Cross product function for 3-vectors of any type.
 
template<typename T , int N>
Vector< T, N > math::cross_product (Vector< T, N > const &, Vector< T, N > const &)
 Cross product template for partial specialization.
 
template<typename T , int N>
bool math::isnan (Vector< T, N > const &v)
 Tests if any of the vector values is NaN.
 
template<typename T , int N>
Vector< T, N > math::operator* (T const &s, Vector< T, N > const &v)
 Scalar-vector multiplication.
 
template<typename T , int N>
Vector< T, N > math::operator+ (T const &s, Vector< T, N > const &v)
 Scalar-vector addition.
 
template<typename T , int N>
Vector< T, N > math::operator- (T const &s, Vector< T, N > const &v)
 Scalar-vector substraction.
 
template<typename T , int N>
std::ostream & math::operator<< (std::ostream &os, Vector< T, N > const &v)
 Serializing a vector to an output stream.