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

- Main Page
- Namespaces
- Classes
- Files
- Directories

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

Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Private Attributes

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

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:

  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.

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.

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

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  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.

Parameters:

  transformed | Matrix in transformed coordinates.
  original | Matrix 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]`

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

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:

- TransformationAffineSquare.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events