HDK
|
A specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions. More...
#include <Maps.h>
Public Types | |
using | Ptr = SharedPtr< ScaleMap > |
using | ConstPtr = SharedPtr< const ScaleMap > |
![]() | |
using | Ptr = SharedPtr< MapBase > |
using | ConstPtr = SharedPtr< const MapBase > |
using | MapFactory ) = Ptr(*)( |
Public Member Functions | |
ScaleMap () | |
ScaleMap (const Vec3d &scale) | |
ScaleMap (const ScaleMap &other) | |
~ScaleMap () override=default | |
MapBase::Ptr | copy () const override |
Return a MapBase::Ptr to a deep copy of this map. More... | |
MapBase::Ptr | inverseMap () const override |
Return a new map representing the inverse of this map. More... | |
Name | type () const override |
Return the name of this map's concrete type (e.g., "AffineMap" ). More... | |
bool | isLinear () const final |
Return true (a ScaleMap is always linear). More... | |
bool | hasUniformScale () const final |
Return true if the values have the same magitude (eg. -1, 1, -1 would be a rotation). More... | |
Vec3d | applyMap (const Vec3d &in) const final |
Return the image of in under the map. More... | |
Vec3d | applyInverseMap (const Vec3d &in) const final |
Return the pre-image of in under the map. More... | |
Vec3d | applyJacobian (const Vec3d &in, const Vec3d &) const final |
Return the Jacobian of the map applied to in. More... | |
Vec3d | applyJacobian (const Vec3d &in) const final |
Return the Jacobian of the map applied to in. More... | |
Vec3d | applyInverseJacobian (const Vec3d &in, const Vec3d &) const final |
Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation) More... | |
Vec3d | applyInverseJacobian (const Vec3d &in) const final |
Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation) More... | |
Vec3d | applyJT (const Vec3d &in, const Vec3d &) const final |
Return the Jacobian Transpose of the map applied to in. More... | |
Vec3d | applyJT (const Vec3d &in) const final |
Return the Jacobian Transpose of the map applied to in. More... | |
Vec3d | applyIJT (const Vec3d &in, const Vec3d &) const final |
Return the transpose of the inverse Jacobian of the map applied to in. More... | |
Vec3d | applyIJT (const Vec3d &in) const final |
Return the transpose of the inverse Jacobian of the map applied to in . More... | |
Mat3d | applyIJC (const Mat3d &in) const final |
Return the Jacobian Curvature: zero for a linear map. More... | |
Mat3d | applyIJC (const Mat3d &in, const Vec3d &, const Vec3d &) const final |
double | determinant (const Vec3d &) const final |
Return the product of the scale values, ignores argument. More... | |
double | determinant () const final |
Return the product of the scale values. More... | |
const Vec3d & | getScale () const |
Return the scale values that define the map. More... | |
const Vec3d & | getInvScaleSqr () const |
Return the square of the scale. Used to optimize some finite difference calculations. More... | |
const Vec3d & | getInvTwiceScale () const |
Return 1/(2 scale). Used to optimize some finite difference calculations. More... | |
const Vec3d & | getInvScale () const |
Return 1/(scale) More... | |
void | read (std::istream &is) override |
read serialization More... | |
void | write (std::ostream &os) const override |
write serialization More... | |
std::string | str () const override |
string serialization, useful for debuging More... | |
bool | isEqual (const MapBase &other) const override |
Return true if this map is equal to the given map. More... | |
bool | operator== (const ScaleMap &other) const |
bool | operator!= (const ScaleMap &other) const |
AffineMap::Ptr | getAffineMap () const override |
Return a AffineMap equivalent to this map. More... | |
Vec3d | voxelSize () const final |
Return the lengths of the images of the segments (0,0,0) − 1,0,0), (0,0,0) − (0,1,0) and (0,0,0) − (0,0,1). More... | |
Vec3d | voxelSize (const Vec3d &) const final |
Return the lengths of the images of the segments (0,0,0) − 1,0,0), (0,0,0) − (0,1,0) and (0,0,0) − (0,0,1). More... | |
MapBase::Ptr | preRotate (double radians, Axis axis) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | preTranslate (const Vec3d &) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | preScale (const Vec3d &) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | preShear (double shear, Axis axis0, Axis axis1) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | postRotate (double radians, Axis axis) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | postTranslate (const Vec3d &) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | postScale (const Vec3d &) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
MapBase::Ptr | postShear (double shear, Axis axis0, Axis axis1) const override |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map. More... | |
![]() | |
MapBase (const MapBase &)=default | |
virtual | ~MapBase ()=default |
template<typename MapT > | |
bool | isType () const |
Return true if this map is of concrete type MapT (e.g., AffineMap). More... | |
Static Public Member Functions | |
static MapBase::Ptr | create () |
Return a MapBase::Ptr to a new ScaleMap. More... | |
static bool | isRegistered () |
static void | registerMap () |
static Name | mapType () |
Additional Inherited Members | |
![]() | |
MapBase () | |
![]() | |
template<typename MapT > | |
static bool | isEqualBase (const MapT &self, const MapBase &other) |
A specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions.
|
inline |
|
inline |
|
inline |
|
overridedefault |
|
inlinefinalvirtual |
Return the Jacobian Curvature: zero for a linear map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the transpose of the inverse Jacobian of the map applied to in.
Ignores second argument
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the transpose of the inverse Jacobian of the map applied to in
.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation)
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation)
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the pre-image of in
under the map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the Jacobian of the map applied to in.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the Jacobian of the map applied to in.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the Jacobian Transpose of the map applied to in.
This tranforms range-space gradients to domain-space gradients
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the Jacobian Transpose of the map applied to in.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the image of in
under the map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a deep copy of this map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleMap.
|
inlinestatic |
Return a MapBase::Ptr to a new ScaleMap.
|
inlinefinalvirtual |
Return the product of the scale values, ignores argument.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the product of the scale values.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a AffineMap equivalent to this map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinefinalvirtual |
Return true
if the values have the same magitude (eg. -1, 1, -1 would be a rotation).
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a new map representing the inverse of this map.
NotImplementedError | if the map is a NonlinearFrustumMap. |
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleMap.
|
inlineoverridevirtual |
Return true
if this map is equal to the given map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleMap.
|
inlinefinalvirtual |
Return true
(a ScaleMap is always linear).
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleMap.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleMap.
|
inlineoverridevirtual |
read serialization
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinestatic |
|
inlineoverridevirtual |
string serialization, useful for debuging
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
Return the name of this map's concrete type (e.g., "AffineMap"
).
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleMap.
|
inlinefinalvirtual |
Return the lengths of the images of the segments (0,0,0) − 1,0,0), (0,0,0) − (0,1,0) and (0,0,0) − (0,0,1).
This is equivalent to the absolute values of the scale values
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlinefinalvirtual |
Return the lengths of the images of the segments (0,0,0) − 1,0,0), (0,0,0) − (0,1,0) and (0,0,0) − (0,0,1).
This is equivalent to the absolute values of the scale values
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.
|
inlineoverridevirtual |
write serialization
Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.