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 
 | 
|  | 
|  | ~AffineMap () 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 override | 
|  | Return true(an AffineMap is always linear).
 | 
|  | 
| bool | hasUniformScale () const override | 
|  | Return false( test if this is unitary with translation )
 | 
|  | 
| bool | isEqual (const MapBase &other) const override | 
|  | Return trueif this map is equal to the given map.
 | 
|  | 
| 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 inunder the map.
 | 
|  | 
| Vec3d | applyInverseMap (const Vec3d &in) const override | 
|  | Return the pre-image of inunder the map.
 | 
|  | 
| Vec3d | applyJacobian (const Vec3d &in, const Vec3d &) const override | 
|  | Return the Jacobian of the map applied to in. 
 | 
|  | 
| 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 | 
|  | 
| 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 &m) 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. 
 | 
|  | 
| 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). 
 | 
|  | 
| Vec3d | voxelSize (const Vec3d &) const override | 
|  | 
| bool | isIdentity () const | 
|  | Return trueif the underlying matrix is approximately an identity.
 | 
|  | 
| bool | isDiagonal () const | 
|  | Return trueif the underylying matrix is diagonal.
 | 
|  | 
| bool | isScale () const | 
|  | Return trueif the map is equivalent to a ScaleMap.
 | 
|  | 
| bool | isScaleTranslate () const | 
|  | Return trueif the map is equivalent to a ScaleTranslateMap.
 | 
|  | 
| void | accumPreRotation (Axis axis, double radians) | 
|  | Modify the existing affine map by pre-applying the given operation. 
 | 
|  | 
| void | accumPreScale (const Vec3d &v) | 
|  | 
| void | accumPreTranslation (const Vec3d &v) | 
|  | 
| void | accumPreShear (Axis axis0, Axis axis1, double shear) | 
|  | 
| void | accumPostRotation (Axis axis, double radians) | 
|  | Modify the existing affine map by post-applying the given operation. 
 | 
|  | 
| void | accumPostScale (const Vec3d &v) | 
|  | 
| void | accumPostTranslation (const Vec3d &v) | 
|  | 
| void | accumPostShear (Axis axis0, Axis axis1, double shear) | 
|  | 
| 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 debugging 
 | 
|  | 
| SharedPtr< FullyDecomposedMap > | createDecomposedMap () | 
|  | on-demand decomposition of the affine map 
 | 
|  | 
| AffineMap::Ptr | getAffineMap () const override | 
|  | Return AffineMap::Ptr to a deep copy of the current AffineMap. 
 | 
|  | 
| AffineMap::Ptr | inverse () const | 
|  | Return AffineMap::Ptr to the inverse of this map. 
 | 
|  | 
| 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. 
 | 
|  | 
| MapBase::Ptr | preTranslate (const Vec3d &t) const override | 
|  | 
| MapBase::Ptr | preScale (const Vec3d &s) const override | 
|  | 
| MapBase::Ptr | preShear (double shear, Axis axis0, Axis axis1) const override | 
|  | 
| 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. 
 | 
|  | 
| MapBase::Ptr | postTranslate (const Vec3d &t) const override | 
|  | 
| MapBase::Ptr | postScale (const Vec3d &s) const override | 
|  | 
| MapBase::Ptr | postShear (double shear, Axis axis0, Axis axis1) const override | 
|  | 
| Mat4d | getMat4 () const | 
|  | Return the matrix representation of this AffineMap. 
 | 
|  | 
| const Mat4d & | getConstMat4 () const | 
|  | 
| const Mat3d & | getConstJacobianInv () const | 
|  | 
| template<typename MapT> | 
| bool | isType () const | 
|  | Return trueif this map is of concrete typeMapT(e.g., AffineMap).
 | 
|  | 
A general linear transform using homogeneous coordinates to perform rotation, scaling, shear and translation.