OpenVDB  3.1.0
Classes | Namespaces | Typedefs | Functions
Vec3.h File Reference
#include <cmath>
#include <openvdb/Exceptions.h>
#include "Math.h"
#include "Tuple.h"

Go to the source code of this file.

Classes

class  Mat3< T >
 3x3 matrix class. More...
 
class  Vec3< T >
 

Namespaces

 openvdb
 
 openvdb::v3_1_0
 
 openvdb::v3_1_0::math
 

Typedefs

typedef Vec3< int32_t > Vec3i
 
typedef Vec3< uint32_t > Vec3ui
 
typedef Vec3< float > Vec3s
 
typedef Vec3< double > Vec3d
 

Functions

template<typename T0 , typename T1 >
bool operator== (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Equality operator, does exact floating point comparisons. More...
 
template<typename T0 , typename T1 >
bool operator!= (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Inequality operator, does exact floating point comparisons. More...
 
template<typename S , typename T >
Vec3< typename promote< S, T >::type > operator* (S scalar, const Vec3< T > &v)
 Returns V, where $V_i = v_i * scalar$ for $i \in [0, 2]$. More...
 
template<typename S , typename T >
Vec3< typename promote< S, T >::type > operator* (const Vec3< T > &v, S scalar)
 Returns V, where $V_i = v_i * scalar$ for $i \in [0, 2]$. More...
 
template<typename T0 , typename T1 >
Vec3< typename promote< T0, T1 >::type > operator* (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Returns V, where $V_i = v0_i * v1_i$ for $i \in [0, 2]$. More...
 
template<typename S , typename T >
Vec3< typename promote< S, T >::type > operator/ (S scalar, const Vec3< T > &v)
 Returns V, where $V_i = scalar / v_i$ for $i \in [0, 2]$. More...
 
template<typename S , typename T >
Vec3< typename promote< S, T >::type > operator/ (const Vec3< T > &v, S scalar)
 Returns V, where $V_i = v_i / scalar$ for $i \in [0, 2]$. More...
 
template<typename T0 , typename T1 >
Vec3< typename promote< T0, T1 >::type > operator/ (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Returns V, where $V_i = v0_i / v1_i$ for $i \in [0, 2]$. More...
 
template<typename T0 , typename T1 >
Vec3< typename promote< T0, T1 >::type > operator+ (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Returns V, where $V_i = v0_i + v1_i$ for $i \in [0, 2]$. More...
 
template<typename S , typename T >
Vec3< typename promote< S, T >::type > operator+ (const Vec3< T > &v, S scalar)
 Returns V, where $V_i = v_i + scalar$ for $i \in [0, 2]$. More...
 
template<typename T0 , typename T1 >
Vec3< typename promote< T0, T1 >::type > operator- (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Returns V, where $V_i = v0_i - v1_i$ for $i \in [0, 2]$. More...
 
template<typename S , typename T >
Vec3< typename promote< S, T >::type > operator- (const Vec3< T > &v, S scalar)
 Returns V, where $V_i = v_i - scalar$ for $i \in [0, 2]$. More...
 
template<typename T >
angle (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T >
bool isApproxEqual (const Vec3< T > &a, const Vec3< T > &b)
 
template<typename T >
bool isApproxEqual (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &eps)
 
template<typename T >
bool isFinite (const Vec3< T > &v)
 
template<typename T >
Vec3< T > Abs (const Vec3< T > &v)
 
template<typename T >
void orthonormalize (Vec3< T > &v1, Vec3< T > &v2, Vec3< T > &v3)
 
template<typename T >
Vec3< T > minComponent (const Vec3< T > &v1, const Vec3< T > &v2)
 Return component-wise minimum of the two vectors. More...
 
template<typename T >
Vec3< T > maxComponent (const Vec3< T > &v1, const Vec3< T > &v2)
 Return component-wise maximum of the two vectors. More...
 
template<typename T >
Vec3< T > Exp (Vec3< T > v)
 Return a vector with the exponent applied to each of the components of the input vector. More...