IGLib
1.5
The IGLib base library for development of numerical, technical and business applications.
|
Invertible Affine transformation with square transformation matrix. More...
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... | |
![]() | |
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... | |
![]() | |
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.