OpenVDB  1.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  Vec3< T >

Namespaces

namespace  openvdb
namespace  openvdb::v1_1_0
namespace  openvdb::v1_1_0::math

Typedefs

typedef Vec3< int > Vec3i
typedef Vec3< unsigned int > Vec3ui
typedef Vec3< float > Vec3s
typedef Vec3< double > Vec3d
typedef Vec3s Vec3f

Functions

template<typename T0 , typename T1 >
bool operator== (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Equality operator, does exact floating point comparisons.
template<typename T0 , typename T1 >
bool operator!= (const Vec3< T0 > &v0, const Vec3< T1 > &v1)
 Inequality operator, does exact floating point comparisons.
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]$.
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]$.
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]$.
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]$.
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]$.
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]$.
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]$.
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]$.
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]$.
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]$.
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 >
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.
template<typename T >
Vec3< T > maxComponent (const Vec3< T > &v1, const Vec3< T > &v2)
 Return component-wise maximum of the two vectors.