OpenVDB: openvdb/math/Maps.h File Reference

OpenVDB 10.1.0

Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
Maps.h File Reference
`#include "Math.h"`
`#include "Mat4.h"`
`#include "Vec3.h"`
`#include "BBox.h"`
`#include "Coord.h"`
`#include <openvdb/io/io.h>`
`#include <openvdb/util/Name.h>`
`#include <openvdb/Types.h>`
`#include <cmath>`
`#include <iostream>`
`#include <map>`
`#include <string>`

Go to the source code of this file.

## Classes
struct | is_linear< T >
| Map traits. More...
struct | is_linear< AffineMap >
struct | is_linear< ScaleMap >
struct | is_linear< UniformScaleMap >
struct | is_linear< UnitaryMap >
struct | is_linear< TranslationMap >
struct | is_linear< ScaleTranslateMap >
struct | is_linear< UniformScaleTranslateMap >
struct | is_linear< CompoundMap< T1, T2 > >
struct | is_uniform_scale< T >
struct | is_uniform_scale< UniformScaleMap >
struct | is_uniform_scale_translate< T >
struct | is_uniform_scale_translate< TranslationMap >
struct | is_uniform_scale_translate< UniformScaleTranslateMap >
struct | is_scale< T >
struct | is_scale< ScaleMap >
struct | is_scale_translate< T >
struct | is_scale_translate< ScaleTranslateMap >
struct | is_uniform_diagonal_jacobian< T >
struct | is_diagonal_jacobian< T >
class | MapBase
| Abstract base class for maps. More...
class | MapRegistry
| Threadsafe singleton object for accessing the map type-name dictionary. Associates a map type-name with a factory function. More...
class | AffineMap
| A general linear transform using homogeneous coordinates to perform rotation, scaling, shear and translation. More...
class | ScaleMap
| A specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions. More...
class | UniformScaleMap
| A specialized Affine transform that scales along the principal axis the scaling is uniform in the three-directions. More...
class | TranslationMap
| A specialized linear transform that performs a translation. More...
class | ScaleTranslateMap
| A specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions, and then translates the result. More...
class | UniformScaleTranslateMap
| A specialized Affine transform that uniformaly scales along the principal axis and then translates the result. More...
class | UnitaryMap
| A specialized linear transform that performs a unitary maping i.e. rotation and or reflection. More...
class | NonlinearFrustumMap
| This map is composed of three steps. First it will take a box of size (Lx X Ly X Lz) defined by a member data bounding box and map it into a frustum with near plane (1 X Ly/Lx) and prescribed depth Then this frustum is transformed by an internal second map: most often a uniform scale, but other effects can be achieved by accumulating translation, shear and rotation: these are all applied to the second map. More...
class | CompoundMap< FirstMapType, SecondMapType >
| Creates the composition of two maps, each of which could be a composition. In the case that each component of the composition classified as linear an acceleration AffineMap is stored. More...

## Namespaces
namespace | openvdb
namespace | openvdb::v10_1
namespace | openvdb::v10_1::math

## Typedefs
using | UnitaryAndTranslationMap = CompoundMap< UnitaryMap, TranslationMap >
using | SpectralDecomposedMap = CompoundMap< CompoundMap< UnitaryMap, ScaleMap >, UnitaryMap >
using | SymmetricMap = SpectralDecomposedMap
using | FullyDecomposedMap = CompoundMap< SymmetricMap, UnitaryAndTranslationMap >
using | PolarDecomposedMap = CompoundMap< SymmetricMap, UnitaryMap >

## Functions
OPENVDB_API SharedPtr< SymmetricMap > | createSymmetricMap (const Mat3d &m)
| Utility methods.
OPENVDB_API SharedPtr< FullyDecomposedMap > | createFullyDecomposedMap (const Mat4d &m)
| General decomposition of a Matrix into a Unitary (e.g. rotation) following a Symmetric (e.g. stretch & shear)
OPENVDB_API SharedPtr< PolarDecomposedMap > | createPolarDecomposedMap (const Mat3d &m)
| Decomposes a general linear into translation following polar decomposition.
OPENVDB_API SharedPtr< MapBase > | simplify (SharedPtr< AffineMap > affine)
| reduces an AffineMap to a ScaleMap or a ScaleTranslateMap when it can
OPENVDB_API Mat4d | approxInverse (const Mat4d &mat)
| Returns the left pseudoInverse of the input matrix when the 3x3 part is symmetric otherwise it zeros the 3x3 and reverses the translation.