HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Mat3.h File Reference
#include <openvdb/Exceptions.h>
#include "Vec3.h"
#include "Mat.h"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <iomanip>
+ Include dependency graph for Mat3.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::Vec3< T >
 
class  openvdb::OPENVDB_VERSION_NAME::math::Mat4< T >
 4x4 -matrix class. More...
 
class  openvdb::OPENVDB_VERSION_NAME::math::Quat< T >
 
class  openvdb::OPENVDB_VERSION_NAME::math::Mat3< T >
 3x3 matrix class. More...
 

Namespaces

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

Typedefs

using openvdb::OPENVDB_VERSION_NAME::math::Mat3s = Mat3< float >
 
using openvdb::OPENVDB_VERSION_NAME::math::Mat3d = Mat3< double >
 
using openvdb::OPENVDB_VERSION_NAME::math::Mat3f = Mat3d
 

Functions

template<typename T0 , typename T1 >
Mat3< typename promote< T0, T1 >
::type
openvdb::OPENVDB_VERSION_NAME::math::operator* (const Mat3< T0 > &m0, const Mat3< T1 > &m1)
 Multiply m0 by m1 and return the resulting matrix. More...
 
template<typename T >
Mat3< T > openvdb::OPENVDB_VERSION_NAME::math::outerProduct (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename T0 >
Mat3< T > openvdb::OPENVDB_VERSION_NAME::math::powLerp (const Mat3< T0 > &m1, const Mat3< T0 > &m2, T t)
 
template<typename T >
void openvdb::OPENVDB_VERSION_NAME::math::mat3_internal::pivot (int i, int j, Mat3< T > &S, Vec3< T > &D, Mat3< T > &Q)
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::diagonalizeSymmetricMatrix (const Mat3< T > &input, Mat3< T > &Q, Vec3< T > &D, unsigned int MAX_ITERATIONS=250)
 Use Jacobi iterations to decompose a symmetric 3x3 matrix (diagonalize and compute eigenvectors) More...
 
template<typename T >
Mat3< T > openvdb::OPENVDB_VERSION_NAME::math::Abs (const Mat3< T > &m)
 
template<typename Type1 , typename Type2 >
Mat3< Type1 > openvdb::OPENVDB_VERSION_NAME::math::cwiseAdd (const Mat3< Type1 > &m, const Type2 s)
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::cwiseLessThan (const Mat3< T > &m0, const Mat3< T > &m1)
 
template<typename T >
bool openvdb::OPENVDB_VERSION_NAME::math::cwiseGreaterThan (const Mat3< T > &m0, const Mat3< T > &m1)
 
template<>
math::Mat3s openvdb::OPENVDB_VERSION_NAME::zeroVal< math::Mat3s > ()
 
template<>
math::Mat3d openvdb::OPENVDB_VERSION_NAME::zeroVal< math::Mat3d > ()