IObject2d.h
Go to the documentation of this file.
1 #ifndef i2d_IObject2d_included
2 #define i2d_IObject2d_included
3 
4 
5 // ACF includes
6 #include <iser/IObject.h>
7 #include <i2d/ICalibration2d.h>
9 
10 
11 namespace i2d
12 {
13 
14 
15 class CVector2d;
16 class CRectangle;
17 
18 
22 class IObject2d:
23  virtual public iser::IObject,
24  virtual public ICalibrationProvider
25 {
26 public:
28  {
29  CF_OBJECT_POSITION = 0x6ba340
30  };
31 
35  virtual CVector2d GetCenter() const = 0;
36 
40  virtual void MoveCenterTo(const CVector2d& position) = 0;
41 
46  virtual CRectangle GetBoundingBox() const = 0;
47 
52  virtual void SetCalibration(const ICalibration2d* calibrationPtr, bool releaseFlag = false) = 0;
53 
62  virtual bool Transform(
63  const ITransformation2d& transformation,
65  double* errorFactorPtr = NULL) = 0;
66 
75  virtual bool InvTransform(
76  const ITransformation2d& transformation,
78  double* errorFactorPtr = NULL) = 0;
79 
89  virtual bool GetTransformed(
90  const ITransformation2d& transformation,
91  IObject2d& result,
93  double* errorFactorPtr = NULL) const = 0;
94 
104  virtual bool GetInvTransformed(
105  const ITransformation2d& transformation,
106  IObject2d& result,
108  double* errorFactorPtr = NULL) const = 0;
109 };
110 
111 
112 } // namespace i2d
113 
114 
115 #endif // !i2d_IObject2d_included
116 
virtual bool GetTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const =0
Calulate transformation of the object into second one.
Common interface for an object, which delivers a 2D-calibration.
virtual void MoveCenterTo(const CVector2d &position)=0
Move object to position position.
Common interface for all calibration objects.
Common interface for factorisable model objects.
Definition: IObject.h:19
There are no preferences, should be automatically selected.
virtual void SetCalibration(const ICalibration2d *calibrationPtr, bool releaseFlag=false)=0
Set calibration of this object.
Definition of rectangle area orthogonal to axis of coordination system.
Definition: CRectangle.h:26
Definition of position or mathematical vector on 2D plane.
Definition: CVector2d.h:28
virtual CVector2d GetCenter() const =0
Returns center of this 2D-object.
virtual CRectangle GetBoundingBox() const =0
Get bounding box of this shape.
#define NULL
Definition: istd.h:64
virtual bool Transform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)=0
Transform this object using some transformation.
Common interface for describing the 2D-objects.
Definition: IObject2d.h:22
virtual bool InvTransform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)=0
Do inverse transformation of this object.
virtual bool GetInvTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const =0
Calulate inverse transformation of the object into second one.

© 2007-2017 Witold Gantzke and Kirill Lepskiy