open_iA  2020.01
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Classes | Typedefs | Functions
iAvec3.h File Reference
#include <algorithm>
#include <cmath>
Include dependency graph for iAvec3.h:
This graph shows which files directly or indirectly include this file:

Classes

class  iAVec3T< T >
 Class representing a 3-dimensional vector. More...
 

Typedefs

typedef iAVec3T< double > iAVec3d
 
typedef iAVec3T< float > iAVec3f
 
typedef iAVec3T< int > iAVec3i
 

Functions

template<typename T1 , typename T2 >
T1 angleBetween (iAVec3T< T1 > const &u, iAVec3T< T2 > const &v)
 get angle between two vectors (in radians) More...
 
template<typename T1 , typename T2 >
iAVec3T< T1 > crossProduct (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 get cross product between two vectors More...
 
template<typename T1 , typename T2 >
T1 dotProduct (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 get dot product between two vectors More...
 
template<typename T1 , typename T2 >
T1 operator& (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 alias for dot product (deprecated!) More...
 
template<typename RealType , typename ParamType >
iAVec3T< RealType > operator/ (const iAVec3T< RealType > &u, ParamType a)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator^ (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 alias for cross product (deprecated!) More...
 
template<typename T >
bool operator!= (const iAVec3T< T > &u, const iAVec3T< T > &v)
 
template<typename T >
bool operator< (const iAVec3T< T > &u, const iAVec3T< T > &v)
 
template<typename T >
bool operator== (const iAVec3T< T > &u, const iAVec3T< T > &v)
 
template<typename T >
bool operator> (const iAVec3T< T > &u, const iAVec3T< T > &v)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator* (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator* (const iAVec3T< T1 > &u, T2 a)
 
template<typename T1 , typename T2 >
iAVec3T< T2 > operator* (T1 a, const iAVec3T< T2 > &u)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator+ (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator+ (const iAVec3T< T1 > &u, T2 a)
 
template<typename T1 , typename T2 >
iAVec3T< T2 > operator+ (T1 a, const iAVec3T< T2 > &u)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator- (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator- (const iAVec3T< T1 > &u, T2 a)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator/ (const iAVec3T< T1 > &u, const iAVec3T< T2 > &v)
 
template<typename T1 , typename T2 >
iAVec3T< T1 > operator/ (const iAVec3T< T1 > &u, T2 a)
 

Typedef Documentation

◆ iAVec3d

typedef iAVec3T<double> iAVec3d

◆ iAVec3f

typedef iAVec3T<float> iAVec3f

◆ iAVec3i

typedef iAVec3T<int> iAVec3i

Function Documentation

◆ angleBetween()

template<typename T1 , typename T2 >
T1 angleBetween ( iAVec3T< T1 > const &  u,
iAVec3T< T2 > const &  v 
)

get angle between two vectors (in radians)

◆ crossProduct()

template<typename T1 , typename T2 >
iAVec3T<T1> crossProduct ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

get cross product between two vectors

◆ dotProduct()

template<typename T1 , typename T2 >
T1 dotProduct ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

get dot product between two vectors

◆ operator!=()

template<typename T >
bool operator!= ( const iAVec3T< T > &  u,
const iAVec3T< T > &  v 
)

◆ operator&()

template<typename T1 , typename T2 >
T1 operator& ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

alias for dot product (deprecated!)

◆ operator*() [1/3]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator* ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

◆ operator*() [2/3]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator* ( const iAVec3T< T1 > &  u,
T2  a 
)

◆ operator*() [3/3]

template<typename T1 , typename T2 >
iAVec3T< T2 > operator* ( T1  a,
const iAVec3T< T2 > &  u 
)

◆ operator+() [1/3]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator+ ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

basic arithmetical operations on two vectors / a vector and a value

◆ operator+() [2/3]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator+ ( const iAVec3T< T1 > &  u,
T2  a 
)

◆ operator+() [3/3]

template<typename T1 , typename T2 >
iAVec3T< T2 > operator+ ( T1  a,
const iAVec3T< T2 > &  u 
)

◆ operator-() [1/2]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator- ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

◆ operator-() [2/2]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator- ( const iAVec3T< T1 > &  u,
T2  a 
)

◆ operator/() [1/3]

template<typename RealType , typename ParamType >
iAVec3T<RealType> operator/ ( const iAVec3T< RealType > &  u,
ParamType  a 
)

◆ operator/() [2/3]

template<typename T1 , typename T2 >
iAVec3T< T1 > operator/ ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

◆ operator/() [3/3]

template<typename T1 , typename T2 >
iAVec3T<T1> operator/ ( const iAVec3T< T1 > &  u,
T2  a 
)

◆ operator<()

template<typename T >
bool operator< ( const iAVec3T< T > &  u,
const iAVec3T< T > &  v 
)

◆ operator==()

template<typename T >
bool operator== ( const iAVec3T< T > &  u,
const iAVec3T< T > &  v 
)

Comparison operators for two vectors. Note that only two vectors of the same type can be compared

◆ operator>()

template<typename T >
bool operator> ( const iAVec3T< T > &  u,
const iAVec3T< T > &  v 
)

◆ operator^()

template<typename T1 , typename T2 >
iAVec3T< T1 > operator^ ( const iAVec3T< T1 > &  u,
const iAVec3T< T2 > &  v 
)

alias for cross product (deprecated!)