IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Num::AffineTransformationSquare Class Reference

Invertible Affine transformation with square transformation matrix. More...

Inheritance diagram for IG::Num::AffineTransformationSquare:
Collaboration diagram for IG::Num::AffineTransformationSquare:

List of all members.

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

Detailed Description

Invertible Affine transformation with square transformation matrix.

$A Igor Jul10 Dec10; TODO: implement IAffine transfoermation!


Constructor & Destructor Documentation

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.

Parameters:
dimOriginalDimension of the original space.
dimTransformedDimension 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.

Parameters:
transformationMatrixTransformation matrix of the affine transformation.
translationVectorTranslation 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.

Parameters:
transformationMatrixTransformation matrix of the affine transformation.
translationVectorTranslation vector of the affine transformation.

Member Function Documentation

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.

Parameters:
storeStorage 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.

Parameters:
storeStorage 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.

Parameters:
originalVector of original co-ordinates.
resultVector 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.

Parameters:
originalVector of original co-ordinates.
resultVector 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.

Parameters:
transformedVector of transformed co-ordinates.
originalVector 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.

Parameters:
transformedVector of transformed co-ordinates.
originalVector 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.

Parameters:
originalOriginal gradient-like vector.
resultVector 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.

Parameters:
originalOriginal gradient-like vector.
resultVector 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.

Parameters:
transformedTransformed gradient-like vector.
originalVector 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.

Parameters:
transformedTransformed gradient-like vector.
originalVector 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.

Parameters:
originalOriginal matrix.
resultMatrix 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.

Parameters:
originalOriginal matrix.
resultMatrix 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.

Parameters:
transformedMatrix in transformed coordinates.
originalMatrix 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.

Parameters:
transformedMatrix in transformed coordinates.
originalMatrix where resulting backward-transformed matrix is stored. Allocated/reallocated if necessary.

Implements IG::Num::IAffineTransformation.


Member Data Documentation

object IG::Num::AffineTransformationSquare::_lockObj = new object() [private]

Property Documentation

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events