OpenVDB 10.0.1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | List of all members
UnitaryMap Class Referencefinal

A specialized linear transform that performs a unitary maping i.e. rotation and or reflection. More...

#include <openvdb/math/Maps.h>

Inheritance diagram for UnitaryMap:
MapBase

Public Types

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

Public Member Functions

 UnitaryMap ()
 default constructor makes an Idenity.
 
 UnitaryMap (const Vec3d &axis, double radians)
 
 UnitaryMap (Axis axis, double radians)
 
 UnitaryMap (const Mat3d &m)
 
 UnitaryMap (const Mat4d &m)
 
 UnitaryMap (const UnitaryMap &other)
 
 UnitaryMap (const UnitaryMap &first, const UnitaryMap &second)
 
 ~UnitaryMap () override=default
 
MapBase::Ptr copy () const override
 Returns a MapBase::Ptr to a deep copy of *this.
 
MapBase::Ptr inverseMap () const override
 Return a new map representing the inverse of this map.
 
Name type () const override
 Return UnitaryMap.
 
bool isLinear () const override
 Return true (a UnitaryMap is always linear).
 
bool hasUniformScale () const override
 Return false (by convention true)
 
bool isEqual (const MapBase &other) const override
 Return true if this map is equal to the given map.
 
bool operator== (const UnitaryMap &other) const
 
bool operator!= (const UnitaryMap &other) const
 
Vec3d applyMap (const Vec3d &in) const override
 Return the image of in under the map.
 
Vec3d applyInverseMap (const Vec3d &in) const override
 Return the pre-image of in under the map.
 
Vec3d applyJacobian (const Vec3d &in, const Vec3d &) const override
 
Vec3d applyJacobian (const Vec3d &in) const override
 Return the Jacobian of the map applied to in.
 
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)
 
Vec3d applyInverseJacobian (const Vec3d &in) const override
 Return the Inverse Jacobian of the map applied to in (i.e. inverse map with out translation)
 
Vec3d applyJT (const Vec3d &in, const Vec3d &) const override
 Return the Jacobian Transpose of the map applied to in.
 
Vec3d applyJT (const Vec3d &in) const override
 Return the Jacobian Transpose of the map applied to in.
 
Vec3d applyIJT (const Vec3d &in, const Vec3d &) const override
 Return the transpose of the inverse Jacobian of the map applied to in.
 
Vec3d applyIJT (const Vec3d &in) const override
 Return the transpose of the inverse Jacobian of the map applied to in.
 
Mat3d applyIJC (const Mat3d &in) const override
 Return the Jacobian Curvature: zero for a linear map.
 
Mat3d applyIJC (const Mat3d &in, const Vec3d &, const Vec3d &) const override
 
double determinant (const Vec3d &) const override
 Return the determinant of the Jacobian, ignores argument.
 
double determinant () const override
 Return the determinant of the Jacobian.
 
void read (std::istream &is) override
 read serialization
 
void write (std::ostream &os) const override
 write serialization
 
std::string str () const override
 string serialization, useful for debuging
 
AffineMap::Ptr getAffineMap () const override
 Return AffineMap::Ptr to an AffineMap equivalent to *this.
 
MapBase::Ptr preRotate (double radians, Axis axis) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given rotation.
 
MapBase::Ptr preTranslate (const Vec3d &t) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given translation.
 
MapBase::Ptr preScale (const Vec3d &v) const override
 Return a MapBase::Ptr to a new map that is the result of prepending the given scale.
 
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 given shear.
 
MapBase::Ptr postRotate (double radians, Axis axis) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given rotation.
 
MapBase::Ptr postTranslate (const Vec3d &t) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given translation.
 
MapBase::Ptr postScale (const Vec3d &v) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given scale.
 
MapBase::Ptr postShear (double shear, Axis axis0, Axis axis1) const override
 Return a MapBase::Ptr to a new map that is the result of appending the given shear.
 
template<typename MapT >
bool isType () const
 Return true if this map is of concrete type MapT (e.g., AffineMap).
 
Vec3d voxelSize () const override
 Returns 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).
 
Vec3d voxelSize (const Vec3d &) const override
 Returns 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).
 

Static Public Member Functions

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

Static Protected Member Functions

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

Detailed Description

A specialized linear transform that performs a unitary maping i.e. rotation and or reflection.

Member Typedef Documentation

◆ ConstPtr

using ConstPtr = SharedPtr<const UnitaryMap>

◆ MapFactory

using MapFactory = Ptr (*)()
inherited

◆ Ptr

Constructor & Destructor Documentation

◆ UnitaryMap() [1/7]

UnitaryMap ( )
inline

default constructor makes an Idenity.

◆ UnitaryMap() [2/7]

UnitaryMap ( const Vec3d axis,
double  radians 
)
inline

◆ UnitaryMap() [3/7]

UnitaryMap ( Axis  axis,
double  radians 
)
inline

◆ UnitaryMap() [4/7]

UnitaryMap ( const Mat3d m)
inline

◆ UnitaryMap() [5/7]

UnitaryMap ( const Mat4d m)
inline

◆ UnitaryMap() [6/7]

UnitaryMap ( const UnitaryMap other)
inline

◆ UnitaryMap() [7/7]

UnitaryMap ( const UnitaryMap first,
const UnitaryMap second 
)
inline

◆ ~UnitaryMap()

~UnitaryMap ( )
overridedefault

Member Function Documentation

◆ applyIJC() [1/2]

Mat3d applyIJC ( const Mat3d in) const
inlineoverridevirtual

Return the Jacobian Curvature: zero for a linear map.

Implements MapBase.

◆ applyIJC() [2/2]

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

Implements MapBase.

◆ applyIJT() [1/2]

Vec3d applyIJT ( const Vec3d in) const
inlineoverridevirtual

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

Implements MapBase.

◆ applyIJT() [2/2]

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

◆ applyInverseJacobian() [1/2]

Vec3d applyInverseJacobian ( const Vec3d in) const
inlineoverridevirtual

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

Implements MapBase.

◆ applyInverseJacobian() [2/2]

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

◆ applyInverseMap()

Vec3d applyInverseMap ( const Vec3d in) const
inlineoverridevirtual

Return the pre-image of in under the map.

Implements MapBase.

◆ applyJacobian() [1/2]

Vec3d applyJacobian ( const Vec3d in) const
inlineoverridevirtual

Return the Jacobian of the map applied to in.

Implements MapBase.

◆ applyJacobian() [2/2]

Vec3d applyJacobian ( const Vec3d in,
const Vec3d  
) const
inlineoverridevirtual

Implements MapBase.

◆ applyJT() [1/2]

Vec3d applyJT ( const Vec3d in) const
inlineoverridevirtual

Return the Jacobian Transpose of the map applied to in.

Implements MapBase.

◆ applyJT() [2/2]

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

◆ applyMap()

Vec3d applyMap ( const Vec3d in) const
inlineoverridevirtual

Return the image of in under the map.

Implements MapBase.

◆ copy()

MapBase::Ptr copy ( ) const
inlineoverridevirtual

Returns a MapBase::Ptr to a deep copy of *this.

Implements MapBase.

◆ create()

static MapBase::Ptr create ( )
inlinestatic

Return a MapBase::Ptr to a new UnitaryMap.

◆ determinant() [1/2]

double determinant ( ) const
inlineoverridevirtual

Return the determinant of the Jacobian.

Implements MapBase.

◆ determinant() [2/2]

double determinant ( const Vec3d ) const
inlineoverridevirtual

Return the determinant of the Jacobian, ignores argument.

Implements MapBase.

◆ getAffineMap()

AffineMap::Ptr getAffineMap ( ) const
inlineoverridevirtual

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

Implements MapBase.

◆ hasUniformScale()

bool hasUniformScale ( ) const
inlineoverridevirtual

Return false (by convention true)

Implements MapBase.

◆ inverseMap()

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.

Implements MapBase.

◆ isEqual()

bool isEqual ( const MapBase other) const
inlineoverridevirtual

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

Implements MapBase.

◆ isEqualBase()

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

◆ isLinear()

bool isLinear ( ) const
inlineoverridevirtual

Return true (a UnitaryMap is always linear).

Implements MapBase.

◆ isRegistered()

static bool isRegistered ( )
inlinestatic

◆ isType()

template<typename MapT >
bool isType ( ) const
inlineinherited

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

◆ mapType()

static Name mapType ( )
inlinestatic

Return UnitaryMap.

◆ operator!=()

bool operator!= ( const UnitaryMap other) const
inline

◆ operator==()

bool operator== ( const UnitaryMap other) const
inline

◆ postRotate()

MapBase::Ptr postRotate ( double  radians,
Axis  axis 
) const
inlineoverridevirtual

Return a MapBase::Ptr to a new map that is the result of appending the given rotation.

Implements MapBase.

◆ postScale()

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

Return a MapBase::Ptr to a new map that is the result of appending the given scale.

Implements MapBase.

◆ postShear()

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

Return a MapBase::Ptr to a new map that is the result of appending the given shear.

Implements MapBase.

◆ postTranslate()

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

Return a MapBase::Ptr to a new map that is the result of appending the given translation.

Implements MapBase.

◆ preRotate()

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

Return a MapBase::Ptr to a new map that is the result of prepending the given rotation.

Implements MapBase.

◆ preScale()

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

Return a MapBase::Ptr to a new map that is the result of prepending the given scale.

Implements MapBase.

◆ preShear()

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

Return a MapBase::Ptr to a new map that is the result of prepending the given shear.

Implements MapBase.

◆ preTranslate()

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

Return a MapBase::Ptr to a new map that is the result of prepending the given translation.

Implements MapBase.

◆ read()

void read ( std::istream &  is)
inlineoverridevirtual

read serialization

Implements MapBase.

◆ registerMap()

static void registerMap ( )
inlinestatic

◆ str()

std::string str ( ) const
inlineoverridevirtual

string serialization, useful for debuging

Implements MapBase.

◆ type()

Name type ( ) const
inlineoverridevirtual

Return UnitaryMap.

Implements MapBase.

◆ voxelSize() [1/2]

Vec3d voxelSize ( ) const
inlineoverridevirtual

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

Implements MapBase.

◆ voxelSize() [2/2]

Vec3d voxelSize ( const Vec3d ) const
inlineoverridevirtual

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

Implements MapBase.

◆ write()

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

write serialization

Implements MapBase.