OpenVDB
9.0.1
|
Abstract base class for maps. More...
#include <openvdb/math/Maps.h>
Inherited by AffineMap, NonlinearFrustumMap, ScaleMap, ScaleTranslateMap, TranslationMap, and UnitaryMap.
Public Types | |
using | Ptr = SharedPtr< MapBase > |
using | ConstPtr = SharedPtr< const MapBase > |
using | MapFactory) = Ptr(*)( |
Public Member Functions | |
MapBase (const MapBase &)=default | |
virtual | ~MapBase ()=default |
virtual SharedPtr< AffineMap > | getAffineMap () const =0 |
virtual Name | type () const =0 |
Return the name of this map's concrete type (e.g., "AffineMap" ). More... | |
template<typename MapT > | |
bool | isType () const |
Return true if this map is of concrete type MapT (e.g., AffineMap). More... | |
virtual bool | isEqual (const MapBase &other) const =0 |
Return true if this map is equal to the given map. More... | |
virtual bool | isLinear () const =0 |
Return true if this map is linear. More... | |
virtual bool | hasUniformScale () const =0 |
Return true if the spacing between the image of latice is uniform in all directions. More... | |
virtual Vec3d | applyMap (const Vec3d &in) const =0 |
virtual Vec3d | applyInverseMap (const Vec3d &in) const =0 |
virtual Mat3d | applyIJC (const Mat3d &m) const =0 |
virtual Mat3d | applyIJC (const Mat3d &m, const Vec3d &v, const Vec3d &domainPos) const =0 |
virtual double | determinant () const =0 |
virtual double | determinant (const Vec3d &) const =0 |
virtual void | read (std::istream &)=0 |
virtual void | write (std::ostream &) const =0 |
virtual std::string | str () const =0 |
virtual MapBase::Ptr | copy () const =0 |
virtual MapBase::Ptr | inverseMap () const =0 |
Return a new map representing the inverse of this map. More... | |
virtual Vec3d | applyIJT (const Vec3d &in) const =0 |
Apply the Inverse Jacobian Transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of inverse map excluding translation. More... | |
virtual Vec3d | applyIJT (const Vec3d &in, const Vec3d &domainPos) const =0 |
Apply the Inverse Jacobian Transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of inverse map excluding translation. More... | |
virtual Vec3d | voxelSize () const =0 |
Method to return the local size of a voxel. When a location is specified as an argument, it is understood to be be in the domain of the map (i.e. index space) More... | |
virtual Vec3d | voxelSize (const Vec3d &) const =0 |
Method to return the local size of a voxel. When a location is specified as an argument, it is understood to be be in the domain of the map (i.e. index space) More... | |
virtual MapBase::Ptr | preRotate (double radians, Axis axis=X_AXIS) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | preTranslate (const Vec3d &) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | preScale (const Vec3d &) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | preShear (double shear, Axis axis0, Axis axis1) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | postRotate (double radians, Axis axis=X_AXIS) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | postTranslate (const Vec3d &) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | postScale (const Vec3d &) const =0 |
Methods to update the map. More... | |
virtual MapBase::Ptr | postShear (double shear, Axis axis0, Axis axis1) const =0 |
Methods to update the map. More... | |
virtual Vec3d | applyJacobian (const Vec3d &in) const =0 |
Apply the Jacobian of this map to a vector. For a linear map this is equivalent to applying the map excluding translation. More... | |
virtual Vec3d | applyJacobian (const Vec3d &in, const Vec3d &domainPos) const =0 |
Apply the Jacobian of this map to a vector. For a linear map this is equivalent to applying the map excluding translation. More... | |
virtual Vec3d | applyInverseJacobian (const Vec3d &in) const =0 |
Apply the InverseJacobian of this map to a vector. For a linear map this is equivalent to applying the map inverse excluding translation. More... | |
virtual Vec3d | applyInverseJacobian (const Vec3d &in, const Vec3d &domainPos) const =0 |
Apply the InverseJacobian of this map to a vector. For a linear map this is equivalent to applying the map inverse excluding translation. More... | |
virtual Vec3d | applyJT (const Vec3d &in) const =0 |
Apply the Jacobian transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of the map excluding translation. More... | |
virtual Vec3d | applyJT (const Vec3d &in, const Vec3d &domainPos) const =0 |
Apply the Jacobian transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of the map excluding translation. More... | |
Protected Member Functions | |
MapBase () | |
Static Protected Member Functions | |
template<typename MapT > | |
static bool | isEqualBase (const MapT &self, const MapBase &other) |
Abstract base class for maps.
using MapFactory = Ptr (*)( |
|
virtualdefault |
|
inlineprotected |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the Inverse Jacobian Transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of inverse map excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the Inverse Jacobian Transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of inverse map excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the InverseJacobian of this map to a vector. For a linear map this is equivalent to applying the map inverse excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the InverseJacobian of this map to a vector. For a linear map this is equivalent to applying the map inverse excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the Jacobian of this map to a vector. For a linear map this is equivalent to applying the map excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the Jacobian of this map to a vector. For a linear map this is equivalent to applying the map excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the Jacobian transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of the map excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Apply the Jacobian transpose of this map to a vector. For a linear map this is equivalent to applying the transpose of the map excluding translation.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Return true
if the spacing between the image of latice is uniform in all directions.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Return a new map representing the inverse of this map.
NotImplementedError | if the map is a NonlinearFrustumMap. |
Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.
|
pure virtual |
Return true
if this map is equal to the given map.
Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.
|
inlinestaticprotected |
|
pure virtual |
Return true
if this map is linear.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
inline |
Return true
if this map is of concrete type MapT
(e.g., AffineMap).
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Methods to update the map.
Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Return the name of this map's concrete type (e.g., "AffineMap"
).
Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.
|
pure virtual |
Method to return the local size of a voxel. When a location is specified as an argument, it is understood to be be in the domain of the map (i.e. index space)
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
Method to return the local size of a voxel. When a location is specified as an argument, it is understood to be be in the domain of the map (i.e. index space)
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.
|
pure virtual |
Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.