VectorNav C++ Library
Classes | Typedefs | Functions
vector.h File Reference
#include <cassert>
#include <sstream>
#include <ostream>
#include <cmath>
#include "exceptions.h"
#include "int.h"

Go to the source code of this file.

Classes

struct  vn::math::vec< tdim, T >
 Template for a Euclidean vector. More...
 
struct  vn::math::vec< 2, T >
 Vector with 2 component specialization. More...
 
struct  vn::math::vec< 3, T >
 Vector with 3 component specialization. More...
 
struct  vn::math::vec< 4, T >
 Vector with 4 component specialization. More...
 

Typedefs

typedef vec< 2 > vn::math::vec2
 2-component vector using float as its underlying data type.
 
typedef vec< 3 > vn::math::vec3
 3-component vector using float as its underlying data type.
 
typedef vec< 4 > vn::math::vec4
 4-component vector using float as its underlying data type.
 
typedef vec< 2, float > vn::math::vec2f
 2-component vector using float as its underlying data type.
 
typedef vec< 3, float > vn::math::vec3f
 3-component vector using float as its underlying data type.
 
typedef vec< 4, float > vn::math::vec4f
 4-component vector using float as its underlying data type.
 
typedef vec< 2, double > vn::math::vec2d
 2-component vector using double as its underlying data type.
 
typedef vec< 3, double > vn::math::vec3d
 3-component vector using double as its underlying data type.
 
typedef vec< 4, double > vn::math::vec4d
 4-component vector using double as its underlying data type.
 
typedef vec< 2, long double > vn::math::vec2ld
 2-component vector using long double as its underlying data type.
 
typedef vec< 3, long double > vn::math::vec3ld
 3-component vector using long double as its underlying data type.
 
typedef vec< 4, long double > vn::math::vec4ld
 4-component vector using long double as its underlying data type.
 
typedef vec< 2, int32_t > vn::math::vec2i32
 2-component vector using int32_t as its underlying data type.
 
typedef vec2i32 vn::math::ivec2
 Namenclature used by OpenGL API.
 
typedef vec< 3, int32_t > vn::math::vec3i32
 3-component vector using int32_t as its underlying data type.
 
typedef vec< 4, int32_t > vn::math::vec4i32
 4-component vector using int32_t as its underlying data type.
 
typedef vec< 2, uint32_t > vn::math::vec2u32
 2-component vector using uint32_t as its underlying data type.
 
typedef vec< 3, uint32_t > vn::math::vec3u32
 3-component vector using uint32_t as its underlying data type.
 
typedef vec< 4, uint32_t > vn::math::vec4u32
 4-component vector using uint32_t as its underlying data type.
 

Functions

template<size_t tdim, typename T >
vec< tdim, T > vn::math::operator+ (vec< tdim, T > lhs, const vec< tdim, T > &rhs)
 Adds two vectors together. More...
 
template<size_t tdim, typename T >
vec< tdim, T > vn::math::operator- (vec< tdim, T > lhs, const vec< tdim, T > &rhs)
 Subtracts a vector from another vector. More...
 
template<size_t tdim, typename T , typename S >
vec< tdim, T > vn::math::operator* (vec< tdim, T > lhs, const S &rhs)
 Multiplies a vector by a scalar. Done both ways for python. More...
 
template<size_t tdim, typename T , typename S >
vec< tdim, T > vn::math::operator* (const S &rhs, vec< tdim, T > lhs)
 Multiplies a vector by a scalar. Done both ways for Python. More...
 
template<size_t tdim, typename T , typename S >
vec< tdim, T > vn::math::operator/ (vec< tdim, T > lhs, const S &rhs)
 Divides a vector by a scalar. More...
 
template<size_t tdim, typename T >
std::string vn::math::str (vec< tdim, T > v)
 Provides a method to generate a representable string from a provided vector. More...
 
template<size_t tdim, typename T >
std::ostream & vn::math::operator<< (std::ostream &out, vec< tdim, T > v)
 Overloads the ostream << operator for easy usage in displaying vectors. More...
 

Detailed Description

{COMMON_HEADER}

DESCRIPTION

This header file provides may types for working with vectors.