OpenVDB  2.3.0
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | List of all members
UniformScaleMap Class Reference

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

#include <Maps.h>

Inherits ScaleMap.

Public Types

typedef boost::shared_ptr
< UniformScaleMap > 
Ptr
 
typedef boost::shared_ptr
< const UniformScaleMap > 
ConstPtr
 
typedef Ptr(* MapFactory )()
 

Public Member Functions

 UniformScaleMap ()
 
 UniformScaleMap (double scale)
 
 UniformScaleMap (const UniformScaleMap &other)
 
 ~UniformScaleMap ()
 
MapBase::Ptr copy () const
 Return a MapBase::Ptr to a deep copy of this map. More...
 
MapBase::Ptr inverseMap () const
 Return a new map representing the inverse of this map. More...
 
Name type () const
 Return the name of this map's concrete type (e.g., "AffineMap"). More...
 
virtual bool isEqual (const MapBase &other) const
 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 &tr) const
 
MapBase::Ptr postTranslate (const Vec3d &tr) const
 
bool isLinear () const
 Return true (a ScaleMap is always linear). More...
 
bool hasUniformScale () const
 Return true if the values have the same magitude (eg. -1, 1, -1 would be a rotation). More...
 
Vec3d applyMap (const Vec3d &in) const
 Return the image of in under the map. More...
 
Vec3d applyInverseMap (const Vec3d &in) const
 Return the pre-image of in under the map. More...
 
Vec3d applyJacobian (const Vec3d &in, const Vec3d &) const
 Return the Jacobian of the map applied to in. More...
 
Vec3d applyJacobian (const Vec3d &in) const
 Return the Jacobian of the map applied to in. More...
 
Vec3d applyInverseJacobian (const Vec3d &in, const Vec3d &) const
 Return the Inverse Jacobian of the map applied to in. (i.e. inverse map with out translation) More...
 
Vec3d applyInverseJacobian (const Vec3d &in) const
 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
 
Vec3d applyJT (const Vec3d &in) const
 Return the Jacobian Transpose of the map applied to in. More...
 
Vec3d applyIJT (const Vec3d &in, const Vec3d &) const
 Return the transpose of the inverse Jacobian of the map applied to in. More...
 
Vec3d applyIJT (const Vec3d &in) const
 Return the transpose of the inverse Jacobian of the map applied to in. More...
 
Mat3d applyIJC (const Mat3d &in) const
 Return the Jacobian Curvature: zero for a linear map. More...
 
Mat3d applyIJC (const Mat3d &in, const Vec3d &, const Vec3d &) const
 
double determinant (const Vec3d &) const
 Return the product of the scale values, ignores argument. More...
 
double determinant () const
 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)
 read serialization More...
 
void write (std::ostream &os) const
 write serialization More...
 
std::string str () const
 string serialization, useful for debuging More...
 
bool operator== (const ScaleMap &other) const
 
bool operator!= (const ScaleMap &other) const
 
AffineMap::Ptr getAffineMap () const
 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
 Returns the lengths of the images of the segments $(0,0,0)-(1,0,0)$, $(0,0,0)-(0,1,0)$, $(0,0,0)-(0,0,1)$ this is equivalent to the absolute values of the scale values. More...
 
Vec3d voxelSize (const Vec3d &) const
 Returns the lengths of the images of the segments $(0,0,0)-(1,0,0)$, $(0,0,0)-(0,1,0)$, $(0,0,0)-(0,0,1)$ this is equivalent to the absolute values of the scale values. More...
 
MapBase::Ptr preRotate (double radians, Axis axis) const
 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 &v) const
 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
 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
 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 &v) const
 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
 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.

Member Typedef Documentation

typedef boost::shared_ptr<const UniformScaleMap> ConstPtr
typedef Ptr(* MapFactory)()
inherited
typedef boost::shared_ptr<UniformScaleMap> Ptr

Constructor & Destructor Documentation

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

Member Function Documentation

Mat3d applyIJC ( const Mat3d &  in) const
inlinevirtualinherited

Return the Jacobian Curvature: zero for a linear map.

Implements MapBase.

Mat3d applyIJC ( const Mat3d &  in,
const Vec3d &  ,
const Vec3d &   
) const
inlinevirtualinherited

Implements MapBase.

Vec3d applyIJT ( const Vec3d &  in,
const Vec3d &   
) const
inlinevirtualinherited

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

Ignores second argument

Implements MapBase.

Vec3d applyIJT ( const Vec3d &  in) const
inlinevirtualinherited

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

Implements MapBase.

Vec3d applyInverseJacobian ( const Vec3d &  in,
const Vec3d &   
) const
inlinevirtualinherited

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
inlinevirtualinherited

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
inlinevirtualinherited

Return the pre-image of in under the map.

Implements MapBase.

Vec3d applyJacobian ( const Vec3d &  in,
const Vec3d &   
) const
inlinevirtualinherited

Return the Jacobian of the map applied to in.

Implements MapBase.

Vec3d applyJacobian ( const Vec3d &  in) const
inlinevirtualinherited

Return the Jacobian of the map applied to in.

Implements MapBase.

Vec3d applyJT ( const Vec3d &  in,
const Vec3d &   
) const
inlinevirtualinherited

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
inlinevirtualinherited

Return the Jacobian Transpose of the map applied to in.

Implements MapBase.

Vec3d applyMap ( const Vec3d &  in) const
inlinevirtualinherited

Return the image of in under the map.

Implements MapBase.

MapBase::Ptr copy ( ) const
inlinevirtual

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
inlinevirtualinherited

Return the product of the scale values, ignores argument.

Implements MapBase.

double determinant ( ) const
inlinevirtualinherited

Return the product of the scale values.

Implements MapBase.

AffineMap::Ptr getAffineMap ( ) const
inlinevirtualinherited

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
inlinevirtualinherited

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

Implements MapBase.

MapBase::Ptr inverseMap ( ) const
inlinevirtual

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.

virtual bool isEqual ( const MapBase &  other) const
inlinevirtual

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
inlinevirtualinherited

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
inlinevirtualinherited

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
inlinevirtualinherited

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
inlinevirtualinherited

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 &  tr) const
inlinevirtual

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
inlinevirtualinherited

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
inlinevirtualinherited

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
inlinevirtualinherited

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 &  tr) const
inlinevirtual

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)
inlinevirtualinherited

read serialization

Implements MapBase.

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

string serialization, useful for debuging

Implements MapBase.

Name type ( ) const
inlinevirtual

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

Reimplemented from ScaleMap.

Vec3d voxelSize ( ) const
inlinevirtualinherited

Returns the lengths of the images of the segments $(0,0,0)-(1,0,0)$, $(0,0,0)-(0,1,0)$, $(0,0,0)-(0,0,1)$ this is equivalent to the absolute values of the scale values.

Implements MapBase.

Vec3d voxelSize ( const Vec3d &  ) const
inlinevirtualinherited

Returns the lengths of the images of the segments $(0,0,0)-(1,0,0)$, $(0,0,0)-(0,1,0)$, $(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
inlinevirtualinherited

write serialization

Implements MapBase.


The documentation for this class was generated from the following file: