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

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes | List of all members
IG.Num.AffineTransformationSquare Class Reference

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

Inheritance diagram for IG.Num.AffineTransformationSquare:
[legend]
Collaboration diagram for IG.Num.AffineTransformationSquare:
[legend]

## 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

## 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

  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.

Parameters

  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.

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

  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.

## Member Function Documentation

void IG.Num.AffineTransformationSquare.InitAuxVec | ( |  | ) |
| inline protected

Initializes auxiliary vector.

References IG.Num.Vector.Length.

void IG.Num.AffineTransformationSquare.InitIdentityMat | ( |  | ) |
| inline protected

Initializes the auxiliary identity matrix.

References IG.Num.Matrix.RowCount.

void IG.Num.AffineTransformationSquare.InitAuxMat | ( |  | ) |
| inline protected

Initializes the auxiliary matrix.

References IG.Num.Matrix.RowCount.

virtual void IG.Num.AffineTransformationSquare.CalculateTransformationMatrix | ( |  | ) |
| inline protected virtual

Calculates the transformation matrix from the inverse transformation matrix.

References IG.Num.MatrixBase.CopyPlain(), and IG.Num.LinearSolverBase.Solve().

virtual void IG.Num.AffineTransformationSquare.CalculateInverseTransformationMatrix | ( |  | ) |
| inline protected virtual

Calculates the inverse transformation matrix from the direct transformation matrix.

References IG.Num.MatrixBase.CopyPlain(), and IG.Num.LinearSolverBase.Solve().

virtual void IG.Num.AffineTransformationSquare.CopyTransformationMatrix | ( | ref IMatrix | store | ) |
| inline virtual

Copies transformation matrix to the specified storage matrix.

Parameters

  store | Storage matrix that transformation matrix is copied to.

Implements IG.Num.IAffineTransformation.

References IG.Num.Matrix.Copy().

virtual void IG.Num.AffineTransformationSquare.CopyInverseTransformationMatrix | ( | ref IMatrix | store | ) |
| inline virtual

Copies inverse transformation matrix to the specified storage matrix.

Parameters

  store | Storage matrix that inverse transformation matrix is copied to.

Implements IG.Num.IAffineTransformation.

References IG.Num.Matrix.Copy().

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

  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().

void IG.Num.AffineTransformationSquare.TransformCoordinates | ( | IVector | original,
|  | ref IVector | result
| ) |  |
| inline

Transforms co-ordinates from the reference to the transformed space.

Parameters

  original | Vector of original co-ordinates.
  result | Vector where transformed co-ordinates are stored.

Implements IG.Num.IAffineTransformation.

References IG.Num.IVector.GetNew().

void IG.Num.AffineTransformationSquare.TransformBackCoordinatesPlain | ( | IVector | transformed,
|  | IVector | result
| ) |  |
| inline

Backward transforms co-ordinates from the transformed to the reference space.

Parameters

  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().

void IG.Num.AffineTransformationSquare.TransformBackCoordinates | ( | IVector | transformed,
|  | ref IVector | result
| ) |  |
| inline

Backward transforms co-ordinates from the transformed to the reference space.

Parameters

  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().

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

  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().

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

  original | Original gradient-like vector.
  result | Vector where resulting transformed vector is stored.

Implements IG.Num.IAffineTransformation.

References IG.Num.IVector.GetNew().

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

  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().

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

  transformed | Transformed gradient-like vector.
  original | Vector where resulting backward transformed vector is stored.

Implements IG.Num.IAffineTransformation.

References IG.Num.IVector.GetNew().

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

  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().

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

  original | Original matrix.
  result | Matrix where resulting transformed matrix is stored. Allocated/reallocated if necessary.

Implements IG.Num.IAffineTransformation.

References IG.Num.IMatrix.GetNew().

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

  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().

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

  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().

## Member Data Documentation

object IG.Num.AffineTransformationSquare._lockObj = new object()
| private

int IG.Num.AffineTransformationSquare._spaceDimension
| private

bool IG.Num.AffineTransformationSquare._calcTransformationMatrix
| private

IMatrix IG.Num.AffineTransformationSquare._transfMatrix
| private

bool IG.Num.AffineTransformationSquare._calcInverseTransformationMatrix
| private

Vector IG.Num.AffineTransformationSquare._auxVec
| protected

Matrix IG.Num.AffineTransformationSquare._identityMat
| protected

Matrix IG.Num.AffineTransformationSquare._auxMat
| protected

IVector IG.Num.AffineTransformationSquare._translation
| private

## Property Documentation

object IG.Num.AffineTransformationSquare.Lock
| get

Object used for locking of the current object (ILockable interface).

int IG.Num.AffineTransformationSquare.DimensionOriginal
| get protected set

Dimension of the original (reference) space.

int IG.Num.AffineTransformationSquare.DimensionTransformed
| get protected set

Dimension of the transformed space.

int IG.Num.AffineTransformationSquare.Dimension
| get protected set

Dimension of the original and transformed space (which are equal for this class).

bool IG.Num.AffineTransformationSquare.CalculatedTransformationMatrix
| get protected 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.

bool IG.Num.AffineTransformationSquare.CalculatedInverseTransformationMatrix
| get protected 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.

virtual IVector IG.Num.AffineTransformationSquare.TranslationVector
| get set

Gets or sets the translation vector of the affine transformation.

The documentation for this class was generated from the following file:

- igbase/numeric/TransformationAffineSquare.cs