OpenVDB  1.1.0
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
MapBase Class Referenceabstract

Abstract base class for maps. More...

#include <Maps.h>

Inherited by AffineMap, NonlinearFrustumMap, ScaleMap, ScaleTranslateMap, TranslationMap, and UnitaryMap.

Public Types

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

Public Member Functions

virtual ~MapBase ()
 
virtual boost::shared_ptr
< AffineMap
getAffineMap () const =0
 
virtual Name type () const =0
 Return the name of this map's concrete type (e.g., "AffineMap"). More...
 
template<typename MapT >
bool isType () const
 Return true if this map is of concrete type MapT (e.g., AffineMap). More...
 
virtual bool isEqual (const MapBase &other) const =0
 Return true if this map is equal to the given map. More...
 
virtual bool isLinear () const =0
 Return true if this map is linear. More...
 
virtual bool hasUniformScale () const =0
 Return true if the spacing between the image of latice is uniform in all directions. More...
 
virtual Vec3d applyMap (const Vec3d &in) const =0
 
virtual Vec3d applyInverseMap (const Vec3d &in) const =0
 
virtual Vec3d applyIJT (const Vec3d &in) const =0
 
virtual Vec3d applyIJT (const Vec3d &in, const Vec3d &pos) const =0
 
virtual Mat3d applyIJC (const Mat3d &m) const =0
 
virtual Mat3d applyIJC (const Mat3d &m, const Vec3d &v, const Vec3d &pos) const =0
 
virtual double determinant () const =0
 
virtual double determinant (const Vec3d &) const =0
 
virtual void read (std::istream &)=0
 
virtual void write (std::ostream &) const =0
 
virtual std::string str () const =0
 
virtual MapBase::Ptr copy () const =0
 
virtual Vec3d voxelSize () const =0
 Method to return the local size of a voxel. More...
 
virtual Vec3d voxelSize (const Vec3d &) const =0
 Method to return the local size of a voxel. More...
 
virtual MapBase::Ptr preRotate (double radians, Axis axis=X_AXIS) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr preTranslate (const Vec3d &) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr preScale (const Vec3d &) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr preShear (double shear, Axis axis0, Axis axis1) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr postRotate (double radians, Axis axis=X_AXIS) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr postTranslate (const Vec3d &) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr postScale (const Vec3d &) const =0
 Methods to update the map. More...
 
virtual MapBase::Ptr postShear (double shear, Axis axis0, Axis axis1) const =0
 Methods to update the map. More...
 

Protected Member Functions

 MapBase ()
 

Static Protected Member Functions

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

Detailed Description

Abstract base class for maps.

Member Typedef Documentation

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

Constructor & Destructor Documentation

virtual ~MapBase ( )
inlinevirtual
MapBase ( )
inlineprotected

Member Function Documentation

virtual Mat3d applyIJC ( const Mat3d m) const
pure virtual
virtual Mat3d applyIJC ( const Mat3d m,
const Vec3d v,
const Vec3d pos 
) const
pure virtual
virtual Vec3d applyIJT ( const Vec3d in) const
pure virtual
virtual Vec3d applyIJT ( const Vec3d in,
const Vec3d pos 
) const
pure virtual
virtual Vec3d applyInverseMap ( const Vec3d in) const
pure virtual
virtual Vec3d applyMap ( const Vec3d in) const
pure virtual
virtual MapBase::Ptr copy ( ) const
pure virtual
virtual double determinant ( ) const
pure virtual
virtual double determinant ( const Vec3d ) const
pure virtual
virtual boost::shared_ptr<AffineMap> getAffineMap ( ) const
pure virtual
virtual bool hasUniformScale ( ) const
pure virtual

Return true if the spacing between the image of latice is uniform in all directions.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual bool isEqual ( const MapBase other) const
pure virtual

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

Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.

static bool isEqualBase ( const MapT &  self,
const MapBase other 
)
inlinestaticprotected
virtual bool isLinear ( ) const
pure virtual

Return true if this map is linear.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

bool isType ( ) const
inline

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

virtual MapBase::Ptr postRotate ( double  radians,
Axis  axis = X_AXIS 
) const
pure virtual

Methods to update the map.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual MapBase::Ptr postScale ( const Vec3d ) const
pure virtual

Methods to update the map.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

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

Methods to update the map.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual MapBase::Ptr postTranslate ( const Vec3d ) const
pure virtual
virtual MapBase::Ptr preRotate ( double  radians,
Axis  axis = X_AXIS 
) const
pure virtual

Methods to update the map.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual MapBase::Ptr preScale ( const Vec3d ) const
pure virtual

Methods to update the map.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

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

Methods to update the map.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual MapBase::Ptr preTranslate ( const Vec3d ) const
pure virtual
virtual void read ( std::istream &  )
pure virtual
virtual std::string str ( ) const
pure virtual
virtual Name type ( ) const
pure virtual

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

Implemented in NonlinearFrustumMap, UnitaryMap, UniformScaleTranslateMap, ScaleTranslateMap, TranslationMap, UniformScaleMap, ScaleMap, and AffineMap.

virtual Vec3d voxelSize ( ) const
pure virtual

Method to return the local size of a voxel.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual Vec3d voxelSize ( const Vec3d ) const
pure virtual

Method to return the local size of a voxel.

Implemented in NonlinearFrustumMap, UnitaryMap, ScaleTranslateMap, TranslationMap, ScaleMap, and AffineMap.

virtual void write ( std::ostream &  ) const
pure virtual

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