IGLib 1.4
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. | |
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.