HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap Class Reference

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

#include <Maps.h>

+ Inheritance diagram for openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap:

Public Types

using Ptr = SharedPtr< ScaleTranslateMap >
 
using ConstPtr = SharedPtr< const ScaleTranslateMap >
 
- Public Types inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
using Ptr = SharedPtr< MapBase >
 
using ConstPtr = SharedPtr< const MapBase >
 
using MapFactory ) = Ptr(*)(
 

Public Member Functions

 ScaleTranslateMap ()
 
 ScaleTranslateMap (const Vec3d &scale, const Vec3d &translate)
 
 ScaleTranslateMap (const ScaleMap &scale, const TranslationMap &translate)
 
 ScaleTranslateMap (const ScaleTranslateMap &other)
 
 ~ScaleTranslateMap () 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 override
 Return true (a ScaleTranslateMap is always linear). More...
 
bool hasUniformScale () const override
 Return true if the scale values have the same magnitude (eg. -1, 1, -1 would be a rotation). More...
 
Vec3d applyMap (const Vec3d &in) const override
 Return the image of under the map. More...
 
Vec3d applyInverseMap (const Vec3d &in) const override
 Return the pre-image of under the map. More...
 
Vec3d applyJacobian (const Vec3d &in, const Vec3d &) const override
 Return the Jacobian of the map applied to in. More...
 
Vec3d applyJacobian (const Vec3d &in) const override
 Return the Jacobian of the map applied to in. More...
 
Vec3d applyInverseJacobian (const Vec3d &in, const Vec3d &) const override
 Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation) More...
 
Vec3d applyInverseJacobian (const Vec3d &in) const override
 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 override
 Return the Jacobian Transpose of the map applied to in. More...
 
Vec3d applyJT (const Vec3d &in) const override
 Return the Jacobian Transpose of the map applied to in. More...
 
Vec3d applyIJT (const Vec3d &in, const Vec3d &) const override
 Return the transpose of the inverse Jacobian of the map applied to in. More...
 
Vec3d applyIJT (const Vec3d &in) const override
 Return the transpose of the inverse Jacobian of the map applied to in. More...
 
Mat3d applyIJC (const Mat3d &in) const override
 Return the Jacobian Curvature: zero for a linear map. More...
 
Mat3d applyIJC (const Mat3d &in, const Vec3d &, const Vec3d &) const override
 
double determinant (const Vec3d &) const override
 Return the product of the scale values, ignores argument. More...
 
double determinant () const override
 Return the product of the scale values. More...
 
Vec3d voxelSize () const override
 Return the absolute values of the scale values. More...
 
Vec3d voxelSize (const Vec3d &) const override
 Return the absolute values of the scale values, ignores argument. More...
 
const Vec3dgetScale () const
 Returns the scale values. More...
 
const Vec3dgetTranslation () const
 Returns the translation. 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 isEqual (const MapBase &other) const override
 Return true if this map is equal to the given map. More...
 
bool operator== (const ScaleTranslateMap &other) const
 
bool operator!= (const ScaleTranslateMap &other) const
 
AffineMap::Ptr getAffineMap () const override
 Return AffineMap::Ptr to an AffineMap equivalent to *this. 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. More...
 
MapBase::Ptr preTranslate (const Vec3d &t) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation. More...
 
MapBase::Ptr preScale (const Vec3d &v) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the appropraite operation. 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. More...
 
MapBase::Ptr postRotate (double radians, Axis axis) const override
 Return a MapBase::Ptr to a new map that is the result of postfixing the appropraite operation. More...
 
MapBase::Ptr postTranslate (const Vec3d &t) const override
 Return a MapBase::Ptr to a new map that is the result of postfixing the appropraite operation. More...
 
MapBase::Ptr postScale (const Vec3d &v) const override
 Return a MapBase::Ptr to a new map that is the result of postfixing the appropraite operation. 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 postfixing the appropraite operation. More...
 
- Public Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
 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 ScaleTranslateMap. More...
 
static bool isRegistered ()
 
static void registerMap ()
 
static Name mapType ()
 

Additional Inherited Members

- Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
 MapBase ()
 
- Static Protected Member Functions inherited from openvdb::OPENVDB_VERSION_NAME::math::MapBase
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 need not be uniform in the three-directions, and then translates the result.

Definition at line 1184 of file Maps.h.

Member Typedef Documentation

Constructor & Destructor Documentation

openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::ScaleTranslateMap ( )
inline

Definition at line 1190 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::ScaleTranslateMap ( const Vec3d scale,
const Vec3d translate 
)
inline

Definition at line 1201 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::ScaleTranslateMap ( const ScaleMap scale,
const TranslationMap translate 
)
inline

Definition at line 1216 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::ScaleTranslateMap ( const ScaleTranslateMap other)
inline

Definition at line 1229 of file Maps.h.

openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::~ScaleTranslateMap ( )
overridedefault

Member Function Documentation

Mat3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyIJC ( const Mat3d in) const
inlineoverridevirtual

Return the Jacobian Curvature: zero for a linear map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1325 of file Maps.h.

Mat3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyIJC ( const Mat3d in,
const Vec3d ,
const Vec3d  
) const
inlineoverridevirtual

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1336 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyIJT ( const Vec3d in,
const Vec3d  
) const
inlineoverridevirtual

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

Ignores second argument

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1315 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyIJT ( const Vec3d in) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1317 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyInverseJacobian ( const Vec3d in,
const Vec3d  
) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1302 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyInverseJacobian ( const Vec3d in) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1305 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyInverseMap ( const Vec3d in) const
inlineoverridevirtual

Return the pre-image of under the map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1287 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyJacobian ( const Vec3d in,
const Vec3d  
) const
inlineoverridevirtual

Return the Jacobian of the map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1296 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyJacobian ( const Vec3d in) const
inlineoverridevirtual

Return the Jacobian of the map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1298 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyJT ( const Vec3d in,
const Vec3d  
) const
inlineoverridevirtual

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.

Definition at line 1309 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyJT ( const Vec3d in) const
inlineoverridevirtual

Return the Jacobian Transpose of the map applied to in.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1311 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::applyMap ( const Vec3d in) const
inlineoverridevirtual

Return the image of under the map.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1279 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::copy ( void  ) const
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::UniformScaleTranslateMap.

Definition at line 1244 of file Maps.h.

static MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::create ( )
inlinestatic

Return a MapBase::Ptr to a new ScaleTranslateMap.

Definition at line 1242 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::determinant ( const Vec3d ) const
inlineoverridevirtual

Return the product of the scale values, ignores argument.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1341 of file Maps.h.

double openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::determinant ( ) const
inlineoverridevirtual

Return the product of the scale values.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1343 of file Maps.h.

AffineMap::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::getAffineMap ( ) const
inlineoverridevirtual

Return AffineMap::Ptr to an AffineMap equivalent to *this.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1406 of file Maps.h.

const Vec3d& openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::getInvScale ( ) const
inline

Return 1/(scale)

Definition at line 1361 of file Maps.h.

const Vec3d& openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::getInvScaleSqr ( ) const
inline

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

Definition at line 1357 of file Maps.h.

const Vec3d& openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::getInvTwiceScale ( ) const
inline

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

Definition at line 1359 of file Maps.h.

const Vec3d& openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::getScale ( ) const
inline

Returns the scale values.

Definition at line 1352 of file Maps.h.

const Vec3d& openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::getTranslation ( ) const
inline

Returns the translation.

Definition at line 1354 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::hasUniformScale ( ) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1269 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::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.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleTranslateMap.

Definition at line 1246 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::isEqual ( const MapBase other) const
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::UniformScaleTranslateMap.

Definition at line 1393 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::isLinear ( ) const
inlineoverridevirtual

Return true (a ScaleTranslateMap is always linear).

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1265 of file Maps.h.

static bool openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::isRegistered ( )
inlinestatic

Definition at line 1252 of file Maps.h.

static Name openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::mapType ( )
inlinestatic

Definition at line 1262 of file Maps.h.

Definition at line 1403 of file Maps.h.

bool openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::operator== ( const ScaleTranslateMap other) const
inline

Definition at line 1395 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::postRotate ( double  radians,
Axis  axis 
) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1444 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::postScale ( const Vec3d v) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1614 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::postShear ( double  shear,
Axis  axis0,
Axis  axis1 
) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1457 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::postTranslate ( const Vec3d t) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleTranslateMap.

Definition at line 1450 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::preRotate ( double  radians,
Axis  axis 
) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1416 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::preScale ( const Vec3d v) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1602 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::preShear ( double  shear,
Axis  axis0,
Axis  axis1 
) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1433 of file Maps.h.

MapBase::Ptr openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::preTranslate ( const Vec3d t) const
inlineoverridevirtual

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

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Reimplemented in openvdb::OPENVDB_VERSION_NAME::math::UniformScaleTranslateMap.

Definition at line 1422 of file Maps.h.

void openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::read ( std::istream &  is)
inlineoverridevirtual

read serialization

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1364 of file Maps.h.

static void openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::registerMap ( )
inlinestatic

Definition at line 1254 of file Maps.h.

std::string openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::str ( ) const
inlineoverridevirtual

string serialization, useful for debuging

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1384 of file Maps.h.

Name openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::type ( ) const
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::UniformScaleTranslateMap.

Definition at line 1261 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::voxelSize ( ) const
inlineoverridevirtual

Return the absolute values of the scale values.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1347 of file Maps.h.

Vec3d openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::voxelSize ( const Vec3d ) const
inlineoverridevirtual

Return the absolute values of the scale values, ignores argument.

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1349 of file Maps.h.

void openvdb::OPENVDB_VERSION_NAME::math::ScaleTranslateMap::write ( std::ostream &  os) const
inlineoverridevirtual

write serialization

Implements openvdb::OPENVDB_VERSION_NAME::math::MapBase.

Definition at line 1374 of file Maps.h.


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