HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Vec4.h File Reference
#include <openvdb/Exceptions.h>
#include "Math.h"
#include "Tuple.h"
#include "Vec3.h"
#include <cmath>
#include <type_traits>
+ Include dependency graph for Vec4.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  openvdb::OPENVDB_VERSION_NAME::math::Mat3< T >
 3x3 matrix class. More...
 
class  openvdb::OPENVDB_VERSION_NAME::math::Vec4< T >
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::math
 

Typedefs

typedef Vec4< int32_t > openvdb::OPENVDB_VERSION_NAME::math::Vec4i
 
typedef Vec4< uint32_t > openvdb::OPENVDB_VERSION_NAME::math::Vec4ui
 
typedef Vec4< float > openvdb::OPENVDB_VERSION_NAME::math::Vec4s
 
typedef Vec4< double > openvdb::OPENVDB_VERSION_NAME::math::Vec4d
 

Functions

template<typename T0 , typename T1 >
bool openvdb::OPENVDB_VERSION_NAME::math::operator== (const Vec4< T0 > &v0, const Vec4< T1 > &v1)
 Equality operator, does exact floating point comparisons. More...
 
template<typename T0 , typename T1 >
bool openvdb::OPENVDB_VERSION_NAME::math::operator!= (const Vec4< T0 > &v0, const Vec4< T1 > &v1)
 Inequality operator, does exact floating point comparisons. More...
 
template<typename S , typename T >
Vec4< typename promote< S, T >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator* (S scalar, const Vec4< T > &v)
 Returns V, where $V_i = v_i * scalar$ for $i \in [0, 3]$. More...
 
template<typename S , typename T >
Vec4< typename promote< S, T >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator* (const Vec4< T > &v, S scalar)
 Returns V, where $V_i = v_i * scalar$ for $i \in [0, 3]$. More...
 
template<typename T0 , typename T1 >
Vec4< typename promote< T0, T1 >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator* (const Vec4< T0 > &v0, const Vec4< T1 > &v1)
 Returns V, where $V_i = v0_i * v1_i$ for $i \in [0, 3]$. More...
 
template<typename S , typename T >
Vec4< typename promote< S, T >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator/ (S scalar, const Vec4< T > &v)
 Returns V, where $V_i = scalar / v_i$ for $i \in [0, 3]$. More...
 
template<typename S , typename T >
Vec4< typename promote< S, T >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator/ (const Vec4< T > &v, S scalar)
 Returns V, where $V_i = v_i / scalar$ for $i \in [0, 3]$. More...
 
template<typename T0 , typename T1 >
Vec4< typename promote< T0, T1 >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator/ (const Vec4< T0 > &v0, const Vec4< T1 > &v1)
 Returns V, where $V_i = v0_i / v1_i$ for $i \in [0, 3]$. More...
 
template<typename T0 , typename T1 >
Vec4< typename promote< T0, T1 >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator+ (const Vec4< T0 > &v0, const Vec4< T1 > &v1)
 Returns V, where $V_i = v0_i + v1_i$ for $i \in [0, 3]$. More...
 
template<typename S , typename T >
Vec4< typename promote< S, T >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator+ (const Vec4< T > &v, S scalar)
 Returns V, where $V_i = v_i + scalar$ for $i \in [0, 3]$. More...
 
template<typename T0 , typename T1 >
Vec4< typename promote< T0, T1 >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator- (const Vec4< T0 > &v0, const Vec4< T1 > &v1)
 Returns V, where $V_i = v0_i - v1_i$ for $i \in [0, 3]$. More...
 
template<typename S , typename T >
Vec4< typename promote< S, T >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator- (const Vec4< T > &v, S scalar)
 Returns V, where $V_i = v_i - scalar$ for $i \in [0, 3]$. More...
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::isApproxEqual (const Vec4< T > &a, const Vec4< T > &b)
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::isApproxEqual (const Vec4< T > &a, const Vec4< T > &b, const Vec4< T > &eps)
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::isFinite (const Vec4< T > &v)
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::isZero (const Vec4< T > &v)
 Return true if all components are exactly equal to zero. More...
 
template<typename T >
Vec4< T > openvdb::OPENVDB_VERSION_NAME::math::Abs (const Vec4< T > &v)
 
template<typename T >
Vec4< T > openvdb::OPENVDB_VERSION_NAME::math::minComponent (const Vec4< T > &v1, const Vec4< T > &v2)
 Return component-wise minimum of the two vectors. More...
 
template<typename T >
Vec4< T > openvdb::OPENVDB_VERSION_NAME::math::maxComponent (const Vec4< T > &v1, const Vec4< T > &v2)
 Return component-wise maximum of the two vectors. More...
 
template<typename T >
Vec4< T > openvdb::OPENVDB_VERSION_NAME::math::Exp (Vec4< T > v)
 Return a vector with the exponent applied to each of the components of the input vector. More...
 
template<typename T >
Vec4< T > openvdb::OPENVDB_VERSION_NAME::math::Log (Vec4< T > v)
 Return a vector with log applied to each of the components of the input vector. More...