eLynx SDK v3.0.1
C++ image processing API reference

eLynx::Math::AbstractTransformation Class Reference

#include <AbstractTransformation.h>

Inheritance diagram for eLynx::Math::AbstractTransformation:

eLynx::Math::LinearTransformation

List of all members.


Public Member Functions

 AbstractTransformation ()
 Constructor, creates uninitialized transformation.
virtual ~AbstractTransformation ()
virtual boost::shared_ptr
< AbstractTransformation
Clone () const =0
virtual bool IsIdentity () const =0
virtual void Transform (double iX, double iY, double &oX, double &oY) const =0
virtual void GetTransformedBBox (uint32 iWidth, uint32 iHeight, double &oLeft, double &oTop, double &oWidth, double &oHeight) const =0
virtual void InverseTransform (double iX, double iY, double &oX, double &oY) const =0
virtual void GetInverseBBox (uint32 iWidth, uint32 iHeight, double &oLeft, double &oTop, double &oWidth, double &oHeight) const =0

Detailed Description

Abstract predecessor for all geometrical 2D plane-to-2D plane transformations. It represents a transformation from coordinate space of one plane to the coordinate space of the second plane. It is also possible to perform inverse transformation from the coordinate space of the second plane to the coordinate space of the first plane. In fact, inverse transformation is typically used for image processing, as it assigns to each pixel of new image the position in the original image.

Definition at line 40 of file AbstractTransformation.h.


Constructor & Destructor Documentation

eLynx::Math::AbstractTransformation::AbstractTransformation (  )  [inline]

Constructor, creates uninitialized transformation.

Definition at line 45 of file AbstractTransformation.h.

virtual eLynx::Math::AbstractTransformation::~AbstractTransformation (  )  [inline, virtual]

Virtual destructor, provided to ensure destructor virtuality in descendants.

Definition at line 49 of file AbstractTransformation.h.


Member Function Documentation

virtual boost::shared_ptr<AbstractTransformation> eLynx::Math::AbstractTransformation::Clone (  )  const [pure virtual]

Creates and returns copy of this object. This method should be used in copy constructors of objects, that holds pointer to AbstractTransformation object.

Returns:
the copy of this object

Implemented in eLynx::Math::LinearTransformation.

virtual bool eLynx::Math::AbstractTransformation::IsIdentity (  )  const [pure virtual]

Abstract method, returns true if actual transformation is identity transformation. Can be used to speed up the processing.

Returns:
true for identity transformation, false otherwise

Implemented in eLynx::Math::LinearTransformation.

virtual void eLynx::Math::AbstractTransformation::Transform ( double  iX,
double  iY,
double &  oX,
double &  oY 
) const [pure virtual]

Abstract method, which transforms point position in the coordinate space of the first plane, into position in the coordinate space of the second plane.

Parameters:
iX the x coordinate of the point on the first plane.
iY the y coordinate of the point on the first plane.
oX the x position on the second plane.
oY the y position on the second plane.

Implemented in eLynx::Math::LinearTransformation.

virtual void eLynx::Math::AbstractTransformation::GetTransformedBBox ( uint32  iWidth,
uint32  iHeight,
double &  oLeft,
double &  oTop,
double &  oWidth,
double &  oHeight 
) const [pure virtual]

Abstract method, which computes bounding box of the transformed (second) image in the coordinate space of the first image. First image has a bounding box (0, 0)-(iWidth, iHeight). Second image has a bounding box (oLeft, oTop)-(oLeft+oWidth, oTop+oHeight).

Parameters:
iWidth the width of the first image
iHeight the height of the first image
oLeft the left coordinate of the second image bounding box
oTop the top coordinate of the second image bounding box
oWidth the width of the second image bounding box
oHeight the height of the second image bounding box

Implemented in eLynx::Math::LinearTransformation.

virtual void eLynx::Math::AbstractTransformation::InverseTransform ( double  iX,
double  iY,
double &  oX,
double &  oY 
) const [pure virtual]

Abstract method, which transforms position of the pixel in the coordinate space of the second image, into position in the coordinate space of the first image.

Parameters:
iX the x coordinate of the pixel on the second image
iY the y coordinate of the pixel on the second image
oX the x position on the first image
oY the y position on the first image

Implemented in eLynx::Math::LinearTransformation.

virtual void eLynx::Math::AbstractTransformation::GetInverseBBox ( uint32  iWidth,
uint32  iHeight,
double &  oLeft,
double &  oTop,
double &  oWidth,
double &  oHeight 
) const [pure virtual]

Abstract method, which computes bounding box of the original (first) image in the coordinate space of the second image. Second image has a bounding box (0, 0)-(iWidth, iHeight). First image has a bounding box (oLeft, oTop)-(oLeft+oWidth, oTop+oHeight).

Parameters:
iWidth the width of the second image
iHeight the height of the second image
oLeft the left coordinate of the first image bounding box
oTop the top coordinate of the first image bounding box
oWidth the width of the first image bounding box
oHeight the height of the first image bounding box

Implemented in eLynx::Math::LinearTransformation.


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

Generated on 14 Apr 2009 by doxygen 1.5.8