| 
    HDK
    
   | 
 
#include "Math.h"#include <openvdb/Exceptions.h>#include <algorithm>#include <cmath>#include <iostream>#include <string>
 Include dependency graph for Mat.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::Mat< SIZE, T > | 
| class | openvdb::OPENVDB_VERSION_NAME::math::Quat< T > | 
| class | openvdb::OPENVDB_VERSION_NAME::math::Vec3< T > | 
Namespaces | |
| openvdb | |
| openvdb::OPENVDB_VERSION_NAME | |
| openvdb::OPENVDB_VERSION_NAME::math | |
Functions | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::rotation (const Quat< typename MatType::value_type > &q, typename MatType::value_type eps=static_cast< typename MatType::value_type >(1.0e-8)) | 
| Return the rotation matrix specified by the given quaternion.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::rotation (Axis axis, typename MatType::value_type angle) | 
| Return a matrix for rotation by angle radians about the given axis.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::rotation (const Vec3< typename MatType::value_type > &_axis, typename MatType::value_type angle) | 
| Return a matrix for rotation by angle radians about the given axis.  More... | |
| template<class MatType > | |
| Vec3< typename  MatType::value_type >  | openvdb::OPENVDB_VERSION_NAME::math::eulerAngles (const MatType &mat, RotationOrder rotationOrder, typename MatType::value_type eps=static_cast< typename MatType::value_type >(1.0e-8)) | 
| Return the Euler angles composing the given rotation matrix.  More... | |
| template<typename MatType , typename ValueType1 , typename ValueType2 > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::rotation (const Vec3< ValueType1 > &_v1, const Vec3< ValueType2 > &_v2, typename MatType::value_type eps=static_cast< typename MatType::value_type >(1.0e-8)) | 
| Return a rotation matrix that maps v1 onto v2 about the cross product of v1 and v2.   More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::scale (const Vec3< typename MatType::value_type > &s) | 
| Return a matrix that scales by s.  More... | |
| template<class MatType > | |
| Vec3< typename  MatType::value_type >  | openvdb::OPENVDB_VERSION_NAME::math::getScale (const MatType &mat) | 
| Return a Vec3 representing the lengths of the passed matrix's upper 3×3's rows.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::unit (const MatType &mat, typename MatType::value_type eps=1.0e-8) | 
| Return a copy of the given matrix with its upper 3×3 rows normalized.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::unit (const MatType &in, typename MatType::value_type eps, Vec3< typename MatType::value_type > &scaling) | 
| Return a copy of the given matrix with its upper 3×3 rows normalized, and return the length of each of these rows in scaling.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::shear (Axis axis0, Axis axis1, typename MatType::value_type shear) | 
| Set the matrix to a shear along axis0 by a fraction of axis1.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::skew (const Vec3< typename MatType::value_type > &skew) | 
| Return a matrix as the cross product of the given vector.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::aim (const Vec3< typename MatType::value_type > &direction, const Vec3< typename MatType::value_type > &vertical) | 
| Return an orientation matrix such that z points along direction, and y is along the direction / vertical plane.  More... | |
| template<class MatType > | |
| MatType | openvdb::OPENVDB_VERSION_NAME::math::snapMatBasis (const MatType &source, Axis axis, const Vec3< typename MatType::value_type > &direction) | 
| This function snaps a specific axis to a specific direction, preserving scaling.  More... | |
| template<class MatType > | |
| MatType & | openvdb::OPENVDB_VERSION_NAME::math::padMat4 (MatType &dest) | 
| Write 0s along Mat4's last row and column, and a 1 on its diagonal.  More... | |
| template<typename MatType > | |
| void | openvdb::OPENVDB_VERSION_NAME::math::sqrtSolve (const MatType &aA, MatType &aB, double aTol=0.01) | 
| Solve for A=B*B, given A.  More... | |
| template<typename MatType > | |
| void | openvdb::OPENVDB_VERSION_NAME::math::powSolve (const MatType &aA, MatType &aB, double aPower, double aTol=0.01) | 
| template<typename MatType > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::isIdentity (const MatType &m) | 
| Determine if a matrix is an identity matrix.  More... | |
| template<typename MatType > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::isInvertible (const MatType &m) | 
| Determine if a matrix is invertible.  More... | |
| template<typename MatType > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::isSymmetric (const MatType &m) | 
| Determine if a matrix is symmetric.  More... | |
| template<typename MatType > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::isUnitary (const MatType &m) | 
| Determine if a matrix is unitary (i.e., rotation or reflection).  More... | |
| template<typename MatType > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::isDiagonal (const MatType &mat) | 
| Determine if a matrix is diagonal.  More... | |
| template<typename MatType > | |
| MatType::ValueType | openvdb::OPENVDB_VERSION_NAME::math::lInfinityNorm (const MatType &matrix) | 
| Return the L∞ norm of an N×N matrix.  More... | |
| template<typename MatType > | |
| MatType::ValueType | openvdb::OPENVDB_VERSION_NAME::math::lOneNorm (const MatType &matrix) | 
| Return the L1 norm of an N×N matrix.  More... | |
| template<typename MatType > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::polarDecomposition (const MatType &input, MatType &unitary, MatType &positive_hermitian, unsigned int MAX_ITERATIONS=100) | 
| Decompose an invertible 3×3 matrix into a unitary matrix followed by a symmetric matrix (positive semi-definite Hermitian), i.e., M = U * S.  More... | |
| template<unsigned SIZE, typename T > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::cwiseLessThan (const Mat< SIZE, T > &m0, const Mat< SIZE, T > &m1) | 
| template<unsigned SIZE, typename T > | |
| bool | openvdb::OPENVDB_VERSION_NAME::math::cwiseGreaterThan (const Mat< SIZE, T > &m0, const Mat< SIZE, T > &m1) | 
Definition in file Mat.h.