|
IGLib 1.4
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. | |
| 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. | |
| 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. | |
| virtual void | CopyTransformationMatrix (ref IMatrix store) |
| Copies transformation matrix to the specified storage matrix. | |
| virtual void | CopyInverseTransformationMatrix (ref IMatrix store) |
| Copies inverse transformation matrix to the specified storage matrix. | |
| 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. | |
| void | TransformCoordinates (IVector original, ref IVector result) |
| Transforms co-ordinates from the reference to the transformed space. | |
| void | TransformBackCoordinatesPlain (IVector transformed, IVector result) |
| Backward transforms co-ordinates from the transformed to the reference space. | |
| void | TransformBackCoordinates (IVector transformed, ref IVector result) |
| Backward transforms co-ordinates from the transformed to the reference space. | |
| 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. | |
| void | TransformGradient (IVector original, ref IVector result) |
| Transforms gradient (or other covariant vector) from the reference to the transformed space. | |
| void | TransformBackGradientPlain (IVector transformed, IVector result) |
| Backward transforms gradient (or other covariant vector) from the transformed to the reference space. | |
| void | TransformBackGradient (IVector transformed, ref IVector result) |
| Backward transforms gradient (or other covariant vector) from the transformed to the reference space. | |
| 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. | |
| void | TransformHessian (IMatrix original, ref IMatrix result) |
| Transforms Hessian (or other covariant matrix) from the reference to the transformed space. | |
| void | TransformBackHessianPlain (IMatrix transformed, IMatrix result) |
| Backward transforms Hessian (or other covariant matrix) from the transformed to the reference space. | |
| void | TransformBackHessian (IMatrix transformed, ref IMatrix result) |
| Backward transforms Hessian (or other covariant matrix) from the transformed to the reference space. | |
Protected Member Functions | |
| AffineTransformationSquare () | |
| void | InitAuxVec () |
| Initializes auxiliary vector. | |
| void | InitIdentityMat () |
| Initializes the auxiliary identity matrix. | |
| void | InitAuxMat () |
| Initializes the auxiliary matrix. | |
| virtual void | CalculateTransformationMatrix () |
| Calculates the transformation matrix from the inverse transformation matrix. | |
| virtual void | CalculateInverseTransformationMatrix () |
| Calculates the inverse transformation matrix from the direct transformation matrix. | |
Protected Attributes | |
| Vector | _auxVec |
| Matrix | _identityMat |
| Matrix | _auxMat |
Properties | |
| object | Lock [get] |
| Object used for locking of the current object (ILockable interface). | |
| int | DimensionOriginal [get, set] |
| Dimension of the original (reference) space. | |
| int | DimensionTransformed [get, set] |
| Dimension of the transformed space. | |
| int | Dimension [get, set] |
| Dimension of the original and transformed space (which are equal for this class). | |
| bool | CalculatedTransformationMatrix [get, set] |
| Flag indicating whethet the transformation matrix is calculated or not. | |
| virtual IMatrix | TransformationMatrix [get, set] |
| Gets or sets transformation matrix that transforms vector of co-ordinates from the original to the reference space. | |
| bool | CalculatedInverseTransformationMatrix [get, set] |
| Flag indicating whethet the transformation matrix is calculated or not. | |
| 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. | |
| virtual IVector | TranslationVector [get, set] |
| Gets or sets the translation vector of the affine transformation. | |
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!
| IG::Num::AffineTransformationSquare::AffineTransformationSquare | ( | ) | [inline, protected] |
| IG::Num::AffineTransformationSquare::AffineTransformationSquare | ( | int | dimension | ) | [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. |
| IG::Num::AffineTransformationSquare::AffineTransformationSquare | ( | Matrix | transformationMatrix, |
| Vector | translationVector, | ||
| bool | inverseSpecified | ||
| ) | [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. |
| IG::Num::AffineTransformationSquare::AffineTransformationSquare | ( | Matrix | transformationMatrix, |
| Vector | translationVector | ||
| ) | [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. |
| void IG::Num::AffineTransformationSquare::InitAuxVec | ( | ) | [inline, protected] |
Initializes auxiliary vector.
| void IG::Num::AffineTransformationSquare::InitIdentityMat | ( | ) | [inline, protected] |
Initializes the auxiliary identity matrix.
| void IG::Num::AffineTransformationSquare::InitAuxMat | ( | ) | [inline, protected] |
Initializes the auxiliary matrix.
| virtual void IG::Num::AffineTransformationSquare::CalculateTransformationMatrix | ( | ) | [inline, protected, virtual] |
Calculates the transformation matrix from the inverse transformation matrix.
| virtual void IG::Num::AffineTransformationSquare::CalculateInverseTransformationMatrix | ( | ) | [inline, protected, virtual] |
Calculates the inverse transformation matrix from the direct transformation matrix.
| virtual void IG::Num::AffineTransformationSquare::CopyTransformationMatrix | ( | ref IMatrix | store | ) | [inline, virtual] |
Copies transformation matrix to the specified storage matrix.
| store | Storage matrix that transformation matrix is copied to. |
Implements IG::Num::IAffineTransformation.
| virtual void IG::Num::AffineTransformationSquare::CopyInverseTransformationMatrix | ( | ref IMatrix | store | ) | [inline, virtual] |
Copies inverse transformation matrix to the specified storage matrix.
| store | Storage matrix that inverse transformation matrix is copied to. |
Implements IG::Num::IAffineTransformation.
| void IG::Num::AffineTransformationSquare::TransformCoordinatesPlain | ( | IVector | original, |
| IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformCoordinates | ( | IVector | original, |
| ref IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformBackCoordinatesPlain | ( | IVector | transformed, |
| IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformBackCoordinates | ( | IVector | transformed, |
| ref IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformGradientPlain | ( | IVector | original, |
| IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformGradient | ( | IVector | original, |
| ref IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformBackGradientPlain | ( | IVector | transformed, |
| IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformBackGradient | ( | IVector | transformed, |
| ref IVector | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformHessianPlain | ( | IMatrix | original, |
| IMatrix | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformHessian | ( | IMatrix | original, |
| ref IMatrix | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformBackHessianPlain | ( | IMatrix | transformed, |
| IMatrix | result | ||
| ) | [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.
| void IG::Num::AffineTransformationSquare::TransformBackHessian | ( | IMatrix | transformed, |
| ref IMatrix | result | ||
| ) | [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.
object IG::Num::AffineTransformationSquare::_lockObj = new object() [private] |
int IG::Num::AffineTransformationSquare::_spaceDimension [private] |
Vector IG::Num::AffineTransformationSquare::_auxVec [protected] |
Matrix IG::Num::AffineTransformationSquare::_auxMat [protected] |
object IG::Num::AffineTransformationSquare::Lock [get] |
Object used for locking of the current object (ILockable interface).
Implements IG::Lib::ILockable.
int IG::Num::AffineTransformationSquare::DimensionOriginal [get, set] |
Dimension of the original (reference) space.
Implements IG::Num::IAffineTransformation.
int IG::Num::AffineTransformationSquare::DimensionTransformed [get, set] |
Dimension of the transformed space.
Implements IG::Num::IAffineTransformation.
int IG::Num::AffineTransformationSquare::Dimension [get, set] |
Dimension of the original and transformed space (which are equal for this class).
bool IG::Num::AffineTransformationSquare::CalculatedTransformationMatrix [get, set] |
Flag indicating whethet the transformation matrix is calculated or not.
virtual IMatrix IG::Num::AffineTransformationSquare::TransformationMatrix [get, set] |
Gets or sets transformation matrix that transforms vector of co-ordinates from the original to the reference space.
Implements IG::Num::IAffineTransformation.
bool IG::Num::AffineTransformationSquare::CalculatedInverseTransformationMatrix [get, set] |
Flag indicating whethet the transformation matrix is calculated or not.
virtual IMatrix IG::Num::AffineTransformationSquare::InverseTransformationMatrix [get, set] |
Gets or sets inverse of the transformation matrix that transforms vector of co-ordinates from the original to the reference space.
Implements IG::Num::IAffineTransformation.
virtual IVector IG::Num::AffineTransformationSquare::TranslationVector [get, set] |
Gets or sets the translation vector of the affine transformation.
Implements IG::Num::IAffineTransformation.