CObject2dBase.h
Go to the documentation of this file.
1 #ifndef i2d_CObject2dBase_included
2 #define i2d_CObject2dBase_included
3 
4 
5 // ACF includes
6 #include <istd/TOptDelPtr.h>
7 #include <i2d/IObject2d.h>
8 
9 
10 namespace i2d
11 {
12 
13 
18 class CObject2dBase: virtual public IObject2d
19 {
20 public:
21  CObject2dBase();
22  CObject2dBase(const CObject2dBase& object2d);
23 
24  // reimplemented (i2d::ICalibrationProvider)
25  virtual const ICalibration2d* GetCalibration() const;
26 
27  // reimplemented (i2d::IObject2d)
28  virtual void SetCalibration(const ICalibration2d* calibrationPtr, bool releaseFlag = false);
29  virtual bool Transform(
30  const ITransformation2d& transformation,
32  double* errorFactorPtr = NULL);
33  virtual bool InvTransform(
34  const ITransformation2d& transformation,
36  double* errorFactorPtr = NULL);
37  virtual bool GetTransformed(
38  const ITransformation2d& transformation,
39  IObject2d& result,
41  double* errorFactorPtr = NULL) const;
42  virtual bool GetInvTransformed(
43  const ITransformation2d& transformation,
44  IObject2d& result,
46  double* errorFactorPtr = NULL) const;
47 
48  // reimplemented (istd::IChangeable)
49  virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS);
50  virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS);
51 
52 protected:
53  static const ChangeSet s_objectMovedChange;
54  static const ChangeSet s_objectModifiedChange;
55 
56 private:
58 };
59 
60 
61 } // namespace i2d
62 
63 
64 #endif // !i2d_CObject2dBase_included
65 
66 
External references are simple ignored.
Definition: IChangeable.h:197
CompatibilityMode
Control how relationship betweeen objects are interpreted.
Definition: IChangeable.h:186
virtual bool Transform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
Transform this object using some transformation.
static const ChangeSet s_objectMovedChange
Definition: CObject2dBase.h:53
virtual bool GetInvTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
Calulate inverse transformation of the object into second one.
Common interface for all calibration objects.
virtual bool GetTransformed(const ITransformation2d &transformation, IObject2d &result, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
Calulate transformation of the object into second one.
Pointer wrapper providing activatable deleting pointed object during destruction. ...
Definition: TOptDelPtr.h:20
static const ChangeSet s_objectModifiedChange
Definition: CObject2dBase.h:54
There are no preferences, should be automatically selected.
Common interface for data model objects, which can be changed.
Definition: IChangeable.h:24
virtual void SetCalibration(const ICalibration2d *calibrationPtr, bool releaseFlag=false)
Set calibration of this object.
Base class for 2D-objects implementing interface i2d::IObject2d.
Definition: CObject2dBase.h:18
#define NULL
Definition: istd.h:64
virtual bool InvTransform(const ITransformation2d &transformation, ITransformation2d::ExactnessMode mode=ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
Do inverse transformation of this object.
Common interface for describing the 2D-objects.
Definition: IObject2d.h:22
virtual const ICalibration2d * GetCalibration() const
Get access to transformation object, which transforms a local logical coordinate system to global one...
virtual bool ResetData(CompatibilityMode mode=CM_WITHOUT_REFS)
Reset data to its default state.
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)
Copy this object from another one.

© 2007-2017 Witold Gantzke and Kirill Lepskiy