Public Types | Public Member Functions | List of all members
i2d::ITransformation2d Class Referenceabstract

Common interface for all calibration objects. More...

#include <ITransformation2d.h>

Inheritance diagram for i2d::ITransformation2d:
imath::TISurjectFunction< CVector2d, CVector2d > iser::ISerializable imath::TIMathFunction< CVector2d, CVector2d > istd::IChangeable istd::IPolymorphic istd::IPolymorphic i2d::CAffineTransformation2d i2d::ICalibration2d

Public Types

enum  ExactnessMode { EM_NONE, EM_EXACT, EM_VISUAL, EM_ANY }
 
enum  TransformationFlags {
  TF_FORWARD = 1 << 0, TF_INVERTED = 1 << 1, TF_INJECTIVE = 1 << 2, TF_SURJECTIVE = 1 << 3,
  TF_PRESERVE_NULL = 1 << 4, TF_PRESERVE_DISTANCE = 1 << 5, TF_PRESERVE_ANGLE = 1 << 6, TF_AFFINE = 1 << 7,
  TF_CONTINUES = 1 << 8
}
 Flags indication type of this transformation and supported operations. More...
 
- Public Types inherited from imath::TIMathFunction< CVector2d, CVector2d >
typedef CVector2d ArgumentType
 
typedef CVector2d ResultType
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ACF_INTERNAL = 0, CF_ALL_DATA, CF_ANY, CF_DESTROYING,
  CF_DELEGATED, CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0, SO_OBSERVE = 1 << 0, SO_COPY = 1 << 1, SO_CLONE = 1 << 2,
  SO_COMPARE = 1 << 3, SO_RESET = 1 << 4
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT, CM_WITHOUT_REFS, CM_WITH_REFS, CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 

Public Member Functions

virtual int GetTransformationFlags () const =0
 Get flags of describing type of this transformation. More...
 
virtual bool GetDistance (const CVector2d &origPos1, const CVector2d &origPos2, double &result, ExactnessMode mode=EM_NONE) const =0
 Compute a shortness distance in transformed coordinations. More...
 
virtual bool GetPositionAt (const CVector2d &origPosition, CVector2d &result, ExactnessMode mode=EM_NONE) const =0
 Get position after transformation. More...
 
virtual bool GetInvPositionAt (const CVector2d &transfPosition, CVector2d &result, ExactnessMode mode=EM_NONE) const =0
 Get position after transformation. More...
 
virtual bool GetLocalTransform (const CVector2d &origPosition, CAffine2d &result, ExactnessMode mode=EM_NONE) const =0
 Get local transformation (from original to transformed coordinate system) at some original position. More...
 
virtual bool GetLocalInvTransform (const CVector2d &transfPosition, CAffine2d &result, ExactnessMode mode=EM_NONE) const =0
 Get local transformation (from transformed to original coordinate system) at some transformed position. More...
 
- Public Member Functions inherited from imath::TISurjectFunction< CVector2d, CVector2d >
virtual bool GetInvValueAt (const CVector2d &argument, CVector2d &result) const =0
 Get inverted function value. More...
 
virtual CVector2d GetInvValueAt (const CVector2d &argument) const =0
 Get inverted function value. More...
 
- Public Member Functions inherited from imath::TIMathFunction< CVector2d, CVector2d >
virtual bool GetValueAt (const CVector2d &argument, CVector2d &result) const =0
 Get function value for specified argument value. More...
 
virtual CVector2d GetValueAt (const CVector2d &argument) const =0
 Get function value for specified argument value. More...
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 
- Public Member Functions inherited from iser::ISerializable
virtual bool Serialize (IArchive &archive)=0
 Load or store state of this object as a archive stream. More...
 
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data. More...
 
- Public Member Functions inherited from istd::IChangeable
virtual int GetSupportedOperations () const
 Get set of flags for supported operations. More...
 
virtual bool CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
 Copy this object from another one. More...
 
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object. More...
 
virtual IChangeableCloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const
 Make a copy of this object. More...
 
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state. More...
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction. More...
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction. More...
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes. More...
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes. More...
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set. More...
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set. More...
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set. More...
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event. More...
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event. More...
 

Detailed Description

Common interface for all calibration objects.

It is used to work with real world units. It provides only two simple operations: distance computation and local transformation.

Definition at line 27 of file ITransformation2d.h.

Member Enumeration Documentation

Enumerator
EM_NONE 

There are no preferences, should be automatically selected.

EM_EXACT 

Only precise calculation should be done.

EM_VISUAL 

Only visual similarity of transformation is important.

EM_ANY 

It is only important to output some result.

Definition at line 32 of file ITransformation2d.h.

Flags indication type of this transformation and supported operations.

Enumerator
TF_FORWARD 

There are some arguments (inputs) where the transformation function is defined.

TF_INVERTED 

There are some outputs where the inverted transformation is defined.

TF_INJECTIVE 

Function in injective, it means for each input values the output value is defined.

TF_SURJECTIVE 

Function in surjective, it means there is at least one input value for each outputs.

TF_PRESERVE_NULL 

This transformation preserve position [0, 0].

TF_PRESERVE_DISTANCE 

This transformation preserve distance.

TF_PRESERVE_ANGLE 

This transformation preserve angles.

TF_AFFINE 

This is affine transformation.

TF_CONTINUES 

This transformation is represented by continues function.

Definition at line 55 of file ITransformation2d.h.

Member Function Documentation

virtual bool i2d::ITransformation2d::GetDistance ( const CVector2d origPos1,
const CVector2d origPos2,
double &  result,
ExactnessMode  mode = EM_NONE 
) const
pure virtual

Compute a shortness distance in transformed coordinations.

Parameters
origPos1first position in original coordinates.
origPos2second position in original coordinates.
resultobject where result distance between positions in transformed coordinates will be stored.
modecontrols needed transformation exactness.
Returns
true, if calculation done correctly.

Implemented in i2d::CAffineTransformation2d.

virtual bool i2d::ITransformation2d::GetInvPositionAt ( const CVector2d transfPosition,
CVector2d result,
ExactnessMode  mode = EM_NONE 
) const
pure virtual

Get position after transformation.

Parameters
transfPositionposition in transformed coordination system.
resultresult position (original coordination system).
modecontrols needed transformation exactness.
Returns
true, if calculation done correctly.

Implemented in i2d::CAffineTransformation2d.

virtual bool i2d::ITransformation2d::GetLocalInvTransform ( const CVector2d transfPosition,
CAffine2d result,
ExactnessMode  mode = EM_NONE 
) const
pure virtual

Get local transformation (from transformed to original coordinate system) at some transformed position.

Parameters
transfPositionposition in transformed coordination system.
resultinverse transformation for specified position.
modecontrols needed transformation exactness.
Returns
true, if calculation done correctly.

Implemented in i2d::CAffineTransformation2d.

virtual bool i2d::ITransformation2d::GetLocalTransform ( const CVector2d origPosition,
CAffine2d result,
ExactnessMode  mode = EM_NONE 
) const
pure virtual

Get local transformation (from original to transformed coordinate system) at some original position.

Parameters
origPositionposition in (original coordination system).
resulttransformation for specified position.
modecontrols needed transformation exactness.
Returns
true, if calculation done correctly.

Implemented in i2d::CAffineTransformation2d.

virtual bool i2d::ITransformation2d::GetPositionAt ( const CVector2d origPosition,
CVector2d result,
ExactnessMode  mode = EM_NONE 
) const
pure virtual

Get position after transformation.

Parameters
origPositionposition in (original coordination system).
resultresult position (transformed coordination system).
modecontrols needed transformation exactness.
Returns
true, if calculation done correctly.

Implemented in i2d::CAffineTransformation2d.

virtual int i2d::ITransformation2d::GetTransformationFlags ( ) const
pure virtual

Get flags of describing type of this transformation.

Implemented in i2d::CAffineTransformation2d.


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

© 2007-2017 Witold Gantzke and Kirill Lepskiy