OpenVDB  9.0.1
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | List of all members
UniformScaleMap Class Referencefinal

A specialized Affine transform that scales along the principal axis the scaling is uniform in the three-directions. More...

#include <openvdb/math/Maps.h>

Inherits ScaleMap.

Public Types

using Ptr = SharedPtr< UniformScaleMap >
 
using ConstPtr = SharedPtr< const UniformScaleMap >
 
using MapFactory) = Ptr(*)(
 

Public Member Functions

 UniformScaleMap ()
 
 UniformScaleMap (double scale)
 
 UniformScaleMap (const UniformScaleMap &other)
 
 ~UniformScaleMap () 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 isEqual (const MapBase &other) const override
 Return true if this map is equal to the given map. More...
 
bool operator== (const UniformScaleMap &other) const
 
bool operator!= (const UniformScaleMap &other) const
 
MapBase::Ptr preTranslate (const Vec3d &) const override
 Return a MapBase::Ptr to a UniformScaleTraslateMap that is the result of pre-translation on this map. More...
 
MapBase::Ptr postTranslate (const Vec3d &) const override
 Return a MapBase::Ptr to a UniformScaleTraslateMap that is the result of post-translation on this map. 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 Vec3dgetScale () const
 Return the scale values that define the map. More...
 
const Vec3dgetInvScaleSqr () const
 Return the square of the scale. Used to optimize some finite difference calculations. More...
 
const Vec3dgetInvTwiceScale () const
 Return 1/(2 scale). Used to optimize some finite difference calculations. More...
 
const Vec3dgetInvScale () 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 operator== (const ScaleMap &other) const
 
bool operator!= (const ScaleMap &other) const
 
AffineMap::Ptr getAffineMap () const override
 Return a AffineMap equivalent to this map. More...
 
template<typename MapT >
bool isType () const
 Return true if this map is of concrete type MapT (e.g., AffineMap). 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 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 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...
 

Static Public Member Functions

static MapBase::Ptr create ()
 Return a MapBase::Ptr to a new UniformScaleMap. More...
 
static bool isRegistered ()
 
static void registerMap ()
 
static Name mapType ()
 

Static Protected Member Functions

template<typename MapT >
static bool isEqualBase (const MapT &self, const MapBase &other)
 

Detailed Description

A specialized Affine transform that scales along the principal axis the scaling is uniform in the three-directions.

Note
This class is marked final with ABI=8

Member Typedef Documentation

using MapFactory = Ptr (*)(
inherited

Constructor & Destructor Documentation

UniformScaleMap ( )
inline
UniformScaleMap ( double  scale)
inline
UniformScaleMap ( const UniformScaleMap other)
inline
~UniformScaleMap ( )
overridedefault

Member Function Documentation

Mat3d applyIJC ( const Mat3d in) const
inlinefinalvirtualinherited

Return the Jacobian Curvature: zero for a linear map.

Implements MapBase.

Mat3d applyIJC ( const Mat3d in,
const Vec3d ,
const Vec3d  
) const
inlinefinalvirtualinherited

Implements MapBase.

Vec3d applyIJT ( const Vec3d in,
const Vec3d  
) const
inlinefinalvirtualinherited

Return the transpose of the inverse Jacobian of the map applied to in.

Ignores second argument

Implements MapBase.

Vec3d applyIJT ( const Vec3d in) const
inlinefinalvirtualinherited

Return the transpose of the inverse Jacobian of the map applied to in.

Implements MapBase.

Vec3d applyInverseJacobian ( const Vec3d in,
const Vec3d  
) const
inlinefinalvirtualinherited

Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation)

Implements MapBase.

Vec3d applyInverseJacobian ( const Vec3d in) const
inlinefinalvirtualinherited

Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation)

Implements MapBase.

Vec3d applyInverseMap ( const Vec3d in) const
inlinefinalvirtualinherited

Return the pre-image of in under the map.

Implements MapBase.

Vec3d applyJacobian ( const Vec3d in,
const Vec3d  
) const
inlinefinalvirtualinherited

Return the Jacobian of the map applied to in.

Implements MapBase.

Vec3d applyJacobian ( const Vec3d in) const
inlinefinalvirtualinherited

Return the Jacobian of the map applied to in.

Implements MapBase.

Vec3d applyJT ( const Vec3d in,
const Vec3d  
) const
inlinefinalvirtualinherited

Return the Jacobian Transpose of the map applied to in.

This tranforms range-space gradients to domain-space gradients

Implements MapBase.

Vec3d applyJT ( const Vec3d in) const
inlinefinalvirtualinherited

Return the Jacobian Transpose of the map applied to in.

Implements MapBase.

Vec3d applyMap ( const Vec3d in) const
inlinefinalvirtualinherited

Return the image of in under the map.

Implements MapBase.

MapBase::Ptr copy ( ) const
inlineoverridevirtual

Return a MapBase::Ptr to a deep copy of this map.

Reimplemented from ScaleMap.

static MapBase::Ptr create ( )
inlinestatic

Return a MapBase::Ptr to a new UniformScaleMap.

double determinant ( const Vec3d ) const
inlinefinalvirtualinherited

Return the product of the scale values, ignores argument.

Implements MapBase.

double determinant ( ) const
inlinefinalvirtualinherited

Return the product of the scale values.

Implements MapBase.

AffineMap::Ptr getAffineMap ( ) const
inlineoverridevirtualinherited

Return a AffineMap equivalent to this map.

Implements MapBase.

const Vec3d& getInvScale ( ) const
inlineinherited

Return 1/(scale)

const Vec3d& getInvScaleSqr ( ) const
inlineinherited

Return the square of the scale. Used to optimize some finite difference calculations.

const Vec3d& getInvTwiceScale ( ) const
inlineinherited

Return 1/(2 scale). Used to optimize some finite difference calculations.

const Vec3d& getScale ( ) const
inlineinherited

Return the scale values that define the map.

bool hasUniformScale ( ) const
inlinefinalvirtualinherited

Return true if the values have the same magitude (eg. -1, 1, -1 would be a rotation).

Implements MapBase.

MapBase::Ptr inverseMap ( ) const
inlineoverridevirtual

Return a new map representing the inverse of this map.

Exceptions
NotImplementedErrorif the map is a NonlinearFrustumMap.
Warning
Houdini 12.5 uses an earlier version of OpenVDB, and maps created with that version lack a virtual table entry for this method. Do not call this method from Houdini 12.5.

Reimplemented from ScaleMap.

bool isEqual ( const MapBase other) const
inlineoverridevirtual

Return true if this map is equal to the given map.

Reimplemented from ScaleMap.

static bool isEqualBase ( const MapT &  self,
const MapBase other 
)
inlinestaticprotectedinherited
bool isLinear ( ) const
inlinefinalvirtualinherited

Return true (a ScaleMap is always linear).

Implements MapBase.

static bool isRegistered ( )
inlinestatic
bool isType ( ) const
inlineinherited

Return true if this map is of concrete type MapT (e.g., AffineMap).

static Name mapType ( )
inlinestatic
bool operator!= ( const ScaleMap other) const
inlineinherited
bool operator!= ( const UniformScaleMap other) const
inline
bool operator== ( const ScaleMap other) const
inlineinherited
bool operator== ( const UniformScaleMap other) const
inline
MapBase::Ptr postRotate ( double  radians,
Axis  axis 
) const
inlineoverridevirtualinherited

Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.

Implements MapBase.

MapBase::Ptr postScale ( const Vec3d v) const
inlineoverridevirtualinherited

Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.

Implements MapBase.

MapBase::Ptr postShear ( double  shear,
Axis  axis0,
Axis  axis1 
) const
inlineoverridevirtualinherited

Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.

Implements MapBase.

MapBase::Ptr postTranslate ( const Vec3d t) const
inlineoverridevirtual

Return a MapBase::Ptr to a UniformScaleTraslateMap that is the result of post-translation on this map.

Reimplemented from ScaleMap.

MapBase::Ptr preRotate ( double  radians,
Axis  axis 
) const
inlineoverridevirtualinherited

Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.

Implements MapBase.

MapBase::Ptr preScale ( const Vec3d v) const
inlineoverridevirtualinherited

Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.

Implements MapBase.

MapBase::Ptr preShear ( double  shear,
Axis  axis0,
Axis  axis1 
) const
inlineoverridevirtualinherited

Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation to the existing map.

Implements MapBase.

MapBase::Ptr preTranslate ( const Vec3d t) const
inlineoverridevirtual

Return a MapBase::Ptr to a UniformScaleTraslateMap that is the result of pre-translation on this map.

Reimplemented from ScaleMap.

void read ( std::istream &  is)
inlineoverridevirtualinherited

read serialization

Implements MapBase.

static void registerMap ( )
inlinestatic
std::string str ( ) const
inlineoverridevirtualinherited

string serialization, useful for debuging

Implements MapBase.

Name type ( ) const
inlineoverridevirtual

Return the name of this map's concrete type (e.g., "AffineMap").

Reimplemented from ScaleMap.

Vec3d voxelSize ( ) const
inlinefinalvirtualinherited

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 MapBase.

Vec3d voxelSize ( const Vec3d ) const
inlinefinalvirtualinherited

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 MapBase.

void write ( std::ostream &  os) const
inlineoverridevirtualinherited

write serialization

Implements MapBase.