eLynx SDK v3.3.0
C++ image processing API reference
Public Member Functions

eLynx::Math::AbstractTransformation Class Reference

Abstract predecessor for all geometrical 2D plane-to-2D plane transformations. More...

#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 destructor, provided to ensure destructor virtuality in descendants.
virtual boost::shared_ptr
< AbstractTransformation
Clone () const =0
 Creates and returns copy of this object.
virtual bool IsIdentity () const =0
 Abstract method, returns true if actual transformation is identity transformation.
virtual void Transform (double iX, double iY, double &oX, double &oY) const =0
 Abstract method, which transforms point position in the coordinate space of the first plane, into position in the coordinate space of the second plane.
virtual void GetTransformedBBox (uint32 iWidth, uint32 iHeight, double &oLeft, double &oTop, double &oWidth, double &oHeight) const =0
 Abstract method, which computes bounding box of the transformed (second) image in the coordinate space of the first image.
virtual void InverseTransform (double iX, double iY, double &oX, double &oY) const =0
 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.
virtual void GetInverseBBox (uint32 iWidth, uint32 iHeight, double &oLeft, double &oTop, double &oWidth, double &oHeight) const =0
 Abstract method, which computes bounding box of the original (first) image in the coordinate space of the second image.

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.


Constructor & Destructor Documentation

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

Virtual destructor, provided to ensure destructor virtuality in descendants.


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 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:
iWidththe width of the second image
iHeightthe height of the second image
oLeftthe left coordinate of the first image bounding box
oTopthe top coordinate of the first image bounding box
oWidththe width of the first image bounding box
oHeightthe height of the first image bounding box

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:
iWidththe width of the first image
iHeightthe height of the first image
oLeftthe left coordinate of the second image bounding box
oTopthe top coordinate of the second image bounding box
oWidththe width of the second image bounding box
oHeightthe 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:
iXthe x coordinate of the pixel on the second image
iYthe y coordinate of the pixel on the second image
oXthe x position on the first image
oYthe y position on the first image

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:
iXthe x coordinate of the point on the first plane.
iYthe y coordinate of the point on the first plane.
oXthe x position on the second plane.
oYthe y position on the second plane.

Implemented in eLynx::Math::LinearTransformation.


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

Generated on Thu Dec 9 2010 by doxygen 1.7.2