|
IGLib
1.6.0
The IGLib base library for development of numerical, technical and business applications.
|
Invertible Affine transformation with square transformation matrix. More...
Inheritance diagram for IG.Num.AffineTransformationSquare:
Collaboration diagram for IG.Num.AffineTransformationSquare:Public Member Functions | |
| AffineTransformationSquare (int dimension) | |
| Constructs affine transformation with the specified dimensions of the original (reference) and transformed (target) space. More... | |
| AffineTransformationSquare (Matrix transformationMatrix, Vector translationVector, bool inverseSpecified) | |
| Constructs affine transformation with the specified transformation matrix and translation vector. Either of the transformation matrix or translation vector can be null, but not both. More... | |
| AffineTransformationSquare (Matrix transformationMatrix, Vector translationVector) | |
| Constructs affine transformation with the specified transformation matrix and translation vector. Either of the transformation matrix or translation vector can be null, but not both. More... | |
| virtual void | CopyTransformationMatrix (ref IMatrix store) |
| Copies transformation matrix to the specified storage matrix. More... | |
| virtual void | CopyInverseTransformationMatrix (ref IMatrix store) |
| Copies inverse transformation matrix to the specified storage matrix. More... | |
| void | TransformCoordinatesPlain (IVector original, IVector result) |
| Transforms co-ordinates from the reference to the transformed space. WARNING: This is a plain version that does not check dimensions. More... | |
| void | TransformCoordinates (IVector original, ref IVector result) |
| Transforms co-ordinates from the reference to the transformed space. More... | |
| void | TransformBackCoordinatesPlain (IVector transformed, IVector result) |
| Backward transforms co-ordinates from the transformed to the reference space. More... | |
| void | TransformBackCoordinates (IVector transformed, ref IVector result) |
| Backward transforms co-ordinates from the transformed to the reference space. More... | |
| void | TransformGradientPlain (IVector original, IVector result) |
| Transforms gradient (or other covariant vector) from the reference to the transformed space. WARNING: This is a plain version that does not check dimensions. More... | |
| void | TransformGradient (IVector original, ref IVector result) |
| Transforms gradient (or other covariant vector) from the reference to the transformed space. More... | |
| void | TransformBackGradientPlain (IVector transformed, IVector result) |
| Backward transforms gradient (or other covariant vector) from the transformed to the reference space. More... | |
| void | TransformBackGradient (IVector transformed, ref IVector result) |
| Backward transforms gradient (or other covariant vector) from the transformed to the reference space. More... | |
| void | TransformHessianPlain (IMatrix original, IMatrix result) |
| Transforms Hessian (or other covariant matrix) from the reference to the transformed space. WARNING: This is a plain version that does not check dimensions. More... | |
| void | TransformHessian (IMatrix original, ref IMatrix result) |
| Transforms Hessian (or other covariant matrix) from the reference to the transformed space. More... | |
| void | TransformBackHessianPlain (IMatrix transformed, IMatrix result) |
| Backward transforms Hessian (or other covariant matrix) from the transformed to the reference space. More... | |
| void | TransformBackHessian (IMatrix transformed, ref IMatrix result) |
| Backward transforms Hessian (or other covariant matrix) from the transformed to the reference space. More... | |
Protected Member Functions | |
| AffineTransformationSquare () | |
| void | InitAuxVec () |
| Initializes auxiliary vector. More... | |
| void | InitIdentityMat () |
| Initializes the auxiliary identity matrix. More... | |
| void | InitAuxMat () |
| Initializes the auxiliary matrix. More... | |
| virtual void | CalculateTransformationMatrix () |
| Calculates the transformation matrix from the inverse transformation matrix. More... | |
| virtual void | CalculateInverseTransformationMatrix () |
| Calculates the inverse transformation matrix from the direct transformation matrix. More... | |
Protected Attributes | |
| Vector | _auxVec |
| Matrix | _identityMat |
| Matrix | _auxMat |
Properties | |
| object | Lock [get] |
| Object used for locking of the current object (ILockable interface). More... | |
| int | DimensionOriginal [get, protected set] |
| Dimension of the original (reference) space. More... | |
| int | DimensionTransformed [get, protected set] |
| Dimension of the transformed space. More... | |
| int | Dimension [get, protected set] |
| Dimension of the original and transformed space (which are equal for this class). More... | |
| bool | CalculatedTransformationMatrix [get, protected set] |
| Flag indicating whethet the transformation matrix is calculated or not. More... | |
| virtual IMatrix | TransformationMatrix [get, set] |
| Gets or sets transformation matrix that transforms vector of co-ordinates from the original to the reference space. More... | |
| bool | CalculatedInverseTransformationMatrix [get, protected set] |
| Flag indicating whethet the transformation matrix is calculated or not. More... | |
| virtual IMatrix | InverseTransformationMatrix [get, set] |
| Gets or sets inverse of the transformation matrix that transforms vector of co-ordinates from the original to the reference space. More... | |
| virtual IVector | TranslationVector [get, set] |
| Gets or sets the translation vector of the affine transformation. More... | |
Properties inherited from IG.Num.IAffineTransformation | |
| int | DimensionOriginal [get] |
| int | DimensionTransformed [get] |
| IMatrix | TransformationMatrix [get, set] |
| Get or set the transformation matrix. More... | |
| IMatrix | InverseTransformationMatrix [get, set] |
| Gets or sets inverse transformation matrix. More... | |
| IVector | TranslationVector [get, set] |
| Gets or sets the translation vector. More... | |
Properties inherited from IG.Lib.ILockable | |
| object | Lock [get] |
Private Attributes | |
| object | _lockObj = new object() |
| int | _spaceDimension |
| bool | _calcTransformationMatrix |
| IMatrix | _transfMatrix |
| bool | _calcInverseTransformationMatrix |
| IVector | _translation |
Invertible Affine transformation with square transformation matrix.
$A Igor Jul10 Dec10; //TODO: implement IAffine transfoermation!
|
inlineprotected |
|
inline |
Constructs affine transformation with the specified dimensions of the original (reference) and transformed (target) space.
| dimOriginal | Dimension of the original space. |
| dimTransformed | Dimension of the reference space. |
|
inline |
Constructs affine transformation with the specified transformation matrix and translation vector. Either of the transformation matrix or translation vector can be null, but not both.
| transformationMatrix | Transformation matrix of the affine transformation. |
| translationVector | Translation vector of the affine transformation. |
References IG.Num.Matrix.ColumnCount, IG.Num.Vector.Length, and IG.Num.Matrix.RowCount.
|
inline |
Constructs affine transformation with the specified transformation matrix and translation vector. Either of the transformation matrix or translation vector can be null, but not both.
| transformationMatrix | Transformation matrix of the affine transformation. |
| translationVector | Translation vector of the affine transformation. |
References IG.Num.Matrix.ColumnCount, IG.Num.Vector.Length, and IG.Num.Matrix.RowCount.
|
inlineprotected |
Initializes auxiliary vector.
References IG.Num.Vector.Length.
|
inlineprotected |
Initializes the auxiliary identity matrix.
References IG.Num.Matrix.RowCount.
|
inlineprotected |
Initializes the auxiliary matrix.
References IG.Num.Matrix.RowCount.
|
inlineprotectedvirtual |
Calculates the transformation matrix from the inverse transformation matrix.
References IG.Num.MatrixBase.CopyPlain(), and IG.Num.LinearSolverBase.Solve().
|
inlineprotectedvirtual |
Calculates the inverse transformation matrix from the direct transformation matrix.
References IG.Num.MatrixBase.CopyPlain(), and IG.Num.LinearSolverBase.Solve().
|
inlinevirtual |
Copies transformation matrix to the specified storage matrix.
| store | Storage matrix that transformation matrix is copied to. |
Implements IG.Num.IAffineTransformation.
References IG.Num.Matrix.Copy().
|
inlinevirtual |
Copies inverse transformation matrix to the specified storage matrix.
| store | Storage matrix that inverse transformation matrix is copied to. |
Implements IG.Num.IAffineTransformation.
References IG.Num.Matrix.Copy().
|
inline |
Transforms co-ordinates from the reference to the transformed space. WARNING: This is a plain version that does not check dimensions.
| original | Vector of original co-ordinates. |
| result | Vector where transformed co-ordinates are stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.VectorBase.AddPlain(), IG.Num.VectorBase.CopyPlain(), and IG.Num.MatrixBase.MultiplyPlain().
|
inline |
Transforms co-ordinates from the reference to the transformed space.
| original | Vector of original co-ordinates. |
| result | Vector where transformed co-ordinates are stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.IVector.GetNew().
|
inline |
Backward transforms co-ordinates from the transformed to the reference space.
| transformed | Vector of transformed co-ordinates. |
| original | Vector where inverse-transformed original co-ordinates are stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.VectorBase.CopyPlain(), IG.Num.MatrixBase.MultiplyPlain(), and IG.Num.VectorBase.SubtractPlain().
|
inline |
Backward transforms co-ordinates from the transformed to the reference space.
| transformed | Vector of transformed co-ordinates. |
| original | Vector where inverse-transformed original co-ordinates are stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.IVector.GetNew().
|
inline |
Transforms gradient (or other covariant vector) from the reference to the transformed space. WARNING: This is a plain version that does not check dimensions.
| original | Original gradient-like vector. |
| result | Vector where resulting transformed vector is stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.VectorBase.CopyPlain(), and IG.Num.MatrixBase.MultiplyTranspVecPlain().
|
inline |
Transforms gradient (or other covariant vector) from the reference to the transformed space.
| original | Original gradient-like vector. |
| result | Vector where resulting transformed vector is stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.IVector.GetNew().
|
inline |
Backward transforms gradient (or other covariant vector) from the transformed to the reference space.
| transformed | Transformed gradient-like vector. |
| original | Vector where resulting backward transformed vector is stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.VectorBase.CopyPlain(), and IG.Num.MatrixBase.MultiplyTranspVecPlain().
|
inline |
Backward transforms gradient (or other covariant vector) from the transformed to the reference space.
| transformed | Transformed gradient-like vector. |
| original | Vector where resulting backward transformed vector is stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.IVector.GetNew().
|
inline |
Transforms Hessian (or other covariant matrix) from the reference to the transformed space. WARNING: This is a plain version that does not check dimensions.
| original | Original matrix. |
| result | Matrix where resulting transformed matrix is stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.MatrixBase.CopyPlain(), and IG.Num.MatrixBase.MultiplyTranspMatMatPlain().
|
inline |
Transforms Hessian (or other covariant matrix) from the reference to the transformed space.
| original | Original matrix. |
| result | Matrix where resulting transformed matrix is stored. Allocated/reallocated if necessary. |
Implements IG.Num.IAffineTransformation.
References IG.Num.IMatrix.GetNew().
|
inline |
Backward transforms Hessian (or other covariant matrix) from the transformed to the reference space.
| transformed | Matrix in transformed coordinates. |
| original | Matrix where resulting backward-transformed matrix is stored. |
Implements IG.Num.IAffineTransformation.
References IG.Num.MatrixBase.CopyPlain(), and IG.Num.MatrixBase.MultiplyTranspMatMatPlain().
|
inline |
Backward transforms Hessian (or other covariant matrix) from the transformed to the reference space.
| transformed | Matrix in transformed coordinates. |
| original | Matrix where resulting backward-transformed matrix is stored. Allocated/reallocated if necessary. |
Implements IG.Num.IAffineTransformation.
References IG.Num.IMatrix.GetNew().
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
protected |
|
protected |
|
private |
|
get |
Object used for locking of the current object (ILockable interface).
|
getprotected set |
Dimension of the original (reference) space.
|
getprotected set |
Dimension of the transformed space.
|
getprotected set |
Dimension of the original and transformed space (which are equal for this class).
|
getprotected set |
Flag indicating whethet the transformation matrix is calculated or not.
|
getset |
Gets or sets transformation matrix that transforms vector of co-ordinates from the original to the reference space.
|
getprotected set |
Flag indicating whethet the transformation matrix is calculated or not.
|
getset |
Gets or sets inverse of the transformation matrix that transforms vector of co-ordinates from the original to the reference space.
|
getset |
Gets or sets the translation vector of the affine transformation.