OpenVDB  12.0.0
Classes | Namespaces | Typedefs | Functions
Mat3.h File Reference
#include <openvdb/Exceptions.h>
#include <openvdb/util/Assert.h>
#include "Vec3.h"
#include "Mat.h"
#include <algorithm>
#include <cmath>
#include <iomanip>

Go to the source code of this file.

Classes

class  Vec3< T >
 
class  Mat4< T >
 4x4 -matrix class. More...
 
class  Quat< T >
 
class  Mat3< T >
 3x3 matrix class. More...
 

Namespaces

 openvdb
 
 openvdb::v12_0
 
 openvdb::v12_0::math
 
 openvdb::v12_0::math::mat3_internal
 

Typedefs

using Mat3s = Mat3< float >
 
using Mat3d = Mat3< double >
 
using Mat3f = Mat3d
 

Functions

template<typename T0 , typename T1 >
Mat3< typename promote< T0, T1 >::type > operator* (const Mat3< T0 > &m0, const Mat3< T1 > &m1)
 Multiply m0 by m1 and return the resulting matrix. More...
 
template<typename T >
Mat3< T > outerProduct (const Vec3< T > &v1, const Vec3< T > &v2)
 
template<typename T , typename T0 >
Mat3< T > powLerp (const Mat3< T0 > &m1, const Mat3< T0 > &m2, T t)
 
template<typename T >
void pivot (int i, int j, Mat3< T > &S, Vec3< T > &D, Mat3< T > &Q)
 
template<typename T >
bool 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 > Abs (const Mat3< T > &m)
 
template<typename Type1 , typename Type2 >
Mat3< Type1 > cwiseAdd (const Mat3< Type1 > &m, const Type2 s)
 
template<typename T >
bool cwiseLessThan (const Mat3< T > &m0, const Mat3< T > &m1)
 
template<typename T >
bool cwiseGreaterThan (const Mat3< T > &m0, const Mat3< T > &m1)
 
template<>
math::Mat3s zeroVal< math::Mat3s > ()
 
template<>
math::Mat3d zeroVal< math::Mat3d > ()