OpenVDB 10.0.1
|
#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_0 |
namespace | openvdb::v10_0::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. More... | |
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) More... | |
OPENVDB_API SharedPtr< PolarDecomposedMap > | createPolarDecomposedMap (const Mat3d &m) |
Decomposes a general linear into translation following polar decomposition. More... | |
OPENVDB_API SharedPtr< MapBase > | simplify (SharedPtr< AffineMap > affine) |
reduces an AffineMap to a ScaleMap or a ScaleTranslateMap when it can More... | |
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. More... | |