A specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions.  
 More...
|  | 
|  | ScaleMap () | 
|  | 
|  | ScaleMap (const Vec3d &scale) | 
|  | 
|  | ScaleMap (const ScaleMap &other) | 
|  | 
|  | ~ScaleMap () override=default | 
|  | 
| MapBase::Ptr | copy () const override | 
|  | Return a MapBase::Ptr to a deep copy of this map. 
 | 
|  | 
| MapBase::Ptr | inverseMap () const override | 
|  | Return a new map representing the inverse of this map. 
 | 
|  | 
| Name | type () const override | 
|  | Return the name of this map's concrete type (e.g., "AffineMap").
 | 
|  | 
| bool | isLinear () const final | 
|  | Return true(a ScaleMap is always linear).
 | 
|  | 
| bool | hasUniformScale () const final | 
|  | Return trueif the values have the same magitude (eg. -1, 1, -1 would be a rotation).
 | 
|  | 
| Vec3d | applyMap (const Vec3d &in) const final | 
|  | Return the image of inunder the map.
 | 
|  | 
| Vec3d | applyInverseMap (const Vec3d &in) const final | 
|  | Return the pre-image of inunder the map.
 | 
|  | 
| Vec3d | applyJacobian (const Vec3d &in, const Vec3d &) const final | 
|  | Return the Jacobian of the map applied to in. 
 | 
|  | 
| Vec3d | applyJacobian (const Vec3d &in) const final | 
|  | Return the Jacobian of the map applied to in. 
 | 
|  | 
| 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) 
 | 
|  | 
| Vec3d | applyInverseJacobian (const Vec3d &in) const final | 
|  | 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 final | 
|  | Return the Jacobian Transpose of the map applied to in. 
 | 
|  | 
| Vec3d | applyJT (const Vec3d &in) const final | 
|  | Return the Jacobian Transpose of the map applied to in. 
 | 
|  | 
| Vec3d | applyIJT (const Vec3d &in, const Vec3d &) const final | 
|  | Return the transpose of the inverse Jacobian of the map applied to in. 
 | 
|  | 
| Vec3d | applyIJT (const Vec3d &in) const final | 
|  | Return the transpose of the inverse Jacobian of the map applied to in.
 | 
|  | 
| Mat3d | applyIJC (const Mat3d &in) const final | 
|  | Return the Jacobian Curvature: zero for a linear map. 
 | 
|  | 
| 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. 
 | 
|  | 
| double | determinant () const final | 
|  | Return the product of the scale values. 
 | 
|  | 
| const Vec3d & | getScale () const | 
|  | Return the scale values that define the map. 
 | 
|  | 
| const Vec3d & | getInvScaleSqr () const | 
|  | Return the square of the scale. Used to optimize some finite difference calculations. 
 | 
|  | 
| const Vec3d & | getInvTwiceScale () const | 
|  | Return 1/(2 scale). Used to optimize some finite difference calculations. 
 | 
|  | 
| const Vec3d & | getInvScale () const | 
|  | Return 1/(scale) 
 | 
|  | 
| 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). 
 | 
|  | 
| Vec3d | voxelSize (const Vec3d &) const final | 
|  | 
| 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 
 | 
|  | 
| bool | isEqual (const MapBase &other) const override | 
|  | Return trueif this map is equal to the given map.
 | 
|  | 
| bool | operator== (const ScaleMap &other) const | 
|  | 
| bool | operator!= (const ScaleMap &other) const | 
|  | 
| AffineMap::Ptr | getAffineMap () const override | 
|  | Return a AffineMap equivalent to this map. 
 | 
|  | 
| 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. 
 | 
|  | 
| MapBase::Ptr | preTranslate (const Vec3d &) const override | 
|  | 
| MapBase::Ptr | preScale (const Vec3d &) const override | 
|  | 
| MapBase::Ptr | preShear (double shear, Axis axis0, Axis axis1) const override | 
|  | 
| 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. 
 | 
|  | 
| MapBase::Ptr | postTranslate (const Vec3d &) const override | 
|  | 
| MapBase::Ptr | postScale (const Vec3d &) const override | 
|  | 
| MapBase::Ptr | postShear (double shear, Axis axis0, Axis axis1) const override | 
|  | 
| template<typename MapT> | 
| bool | isType () const | 
|  | Return trueif this map is of concrete typeMapT(e.g., AffineMap).
 | 
|  | 
A specialized Affine transform that scales along the principal axis the scaling need not be uniform in the three-directions. 
- Note
- This class is not marked final because UniformScaleMap inherits from it, so some of the member methods are marked final instead.