A general linear transform using homogeneous coordinates to perform rotation, scaling, shear and translation.  
 More...
 | 
|   | AffineMap () | 
|   | 
|   | AffineMap (const Mat3d &m) | 
|   | 
|   | AffineMap (const Mat4d &m) | 
|   | 
|   | AffineMap (const AffineMap &other) | 
|   | 
|   | AffineMap (const AffineMap &first, const AffineMap &second) | 
|   | constructor that merges the matrixes for two affine maps  More...
  | 
|   | 
|   | ~AffineMap () 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 (an AffineMap is always linear).  More...
  | 
|   | 
| bool  | hasUniformScale () const  override | 
|   | Return false ( test if this is unitary with translation )  More...
  | 
|   | 
| bool  | isEqual (const MapBase &other) const  override | 
|   | Return true if this map is equal to the given map.  More...
  | 
|   | 
| bool  | operator== (const AffineMap &other) const  | 
|   | 
| bool  | operator!= (const AffineMap &other) const  | 
|   | 
| AffineMap &  | operator= (const AffineMap &other) | 
|   | 
| Vec3d  | applyMap (const Vec3d &in) const  override | 
|   | Return the image of in under the map.  More...
  | 
|   | 
| Vec3d  | applyInverseMap (const Vec3d &in) const  override | 
|   | Return the pre-image of in 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 | 
|   | 
| 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 &m) 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 determinant of the Jacobian, ignores argument.  More...
  | 
|   | 
| double  | determinant () const  override | 
|   | Return the determinant of the Jacobian.  More...
  | 
|   | 
| bool  | isIdentity () const  | 
|   | Return true if the underlying matrix is approximately an identity.  More...
  | 
|   | 
| bool  | isDiagonal () const  | 
|   | Return true if the underylying matrix is diagonal.  More...
  | 
|   | 
| bool  | isScale () const  | 
|   | Return true if the map is equivalent to a ScaleMap.  More...
  | 
|   | 
| bool  | isScaleTranslate () const  | 
|   | Return true if the map is equivalent to a ScaleTranslateMap.  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 debugging  More...
  | 
|   | 
| SharedPtr< FullyDecomposedMap >  | createDecomposedMap () | 
|   | on-demand decomposition of the affine map  More...
  | 
|   | 
| AffineMap::Ptr  | getAffineMap () const  override | 
|   | Return AffineMap::Ptr to a deep copy of the current AffineMap.  More...
  | 
|   | 
| AffineMap::Ptr  | inverse () const  | 
|   | Return AffineMap::Ptr to the inverse of this map.  More...
  | 
|   | 
| Mat4d  | getMat4 () const  | 
|   | Return the matrix representation of this AffineMap.  More...
  | 
|   | 
| const Mat4d &  | getConstMat4 () const  | 
|   | 
| const Mat3d &  | getConstJacobianInv () const  | 
|   | 
| template<typename MapT >  | 
| bool  | isType () const  | 
|   | Return true if this map is of concrete type MapT (e.g., AffineMap).  More...
  | 
|   | 
 | 
| Vec3d  | voxelSize () const  override | 
|   | 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).  More...
  | 
|   | 
| Vec3d  | voxelSize (const Vec3d &) const  override | 
|   | 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).  More...
  | 
|   | 
 | 
| void  | accumPreRotation (Axis axis, double radians) | 
|   | Modify the existing affine map by pre-applying the given operation.  More...
  | 
|   | 
| void  | accumPreScale (const Vec3d &v) | 
|   | Modify the existing affine map by pre-applying the given operation.  More...
  | 
|   | 
| void  | accumPreTranslation (const Vec3d &v) | 
|   | Modify the existing affine map by pre-applying the given operation.  More...
  | 
|   | 
| void  | accumPreShear (Axis axis0, Axis axis1, double shear) | 
|   | Modify the existing affine map by pre-applying the given operation.  More...
  | 
|   | 
 | 
| void  | accumPostRotation (Axis axis, double radians) | 
|   | Modify the existing affine map by post-applying the given operation.  More...
  | 
|   | 
| void  | accumPostScale (const Vec3d &v) | 
|   | Modify the existing affine map by post-applying the given operation.  More...
  | 
|   | 
| void  | accumPostTranslation (const Vec3d &v) | 
|   | Modify the existing affine map by post-applying the given operation.  More...
  | 
|   | 
| void  | accumPostShear (Axis axis0, Axis axis1, double shear) | 
|   | Modify the existing affine map by post-applying the given operation.  More...
  | 
|   | 
 | 
| MapBase::Ptr  | preRotate (double radians, Axis axis=X_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 &s) 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=X_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 &s) 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...
  | 
|   | 
A general linear transform using homogeneous coordinates to perform rotation, scaling, shear and translation.