CEdgeLineContainer.h
Go to the documentation of this file.
1 #ifndef iedge_CEdgeLineContainer_included
2 #define iedge_CEdgeLineContainer_included
3 
4 
5 // ACF includes
7 #include <i2d/CObject2dBase.h>
8 
9 // ACF-Solutions includes
10 #include <iedge/CEdgeLine.h>
11 
12 
13 namespace iedge
14 {
15 
16 
18  public ibase::TSerializableContainer<CEdgeLine, std::vector<CEdgeLine> >,
19  public i2d::CObject2dBase
20 {
21 public:
24 
25  // reimplemented (ibase::TContainer)
26  virtual void Reserve(int count);
27  virtual void Resize(int count);
28 
29  // reimplemented (i2d::CObject2dBase)
30  virtual void SetCalibration(const i2d::ICalibration2d* calibrationPtr, bool releaseFlag = false);
31 
32  // reimplemented (i2d::IObject2d)
33  virtual i2d::CVector2d GetCenter() const;
34  virtual void MoveCenterTo(const i2d::CVector2d& position);
35  virtual i2d::CRectangle GetBoundingBox() const;
36  virtual bool Transform(
37  const i2d::ITransformation2d& transformation,
38  i2d::ITransformation2d::ExactnessMode mode = i2d::ITransformation2d::EM_NONE,
39  double* errorFactorPtr = NULL);
40  virtual bool InvTransform(
41  const i2d::ITransformation2d& transformation,
42  i2d::ITransformation2d::ExactnessMode mode = i2d::ITransformation2d::EM_NONE,
43  double* errorFactorPtr = NULL);
44  virtual bool GetTransformed(
45  const i2d::ITransformation2d& transformation,
46  i2d::IObject2d& result,
47  i2d::ITransformation2d::ExactnessMode mode = i2d::ITransformation2d::EM_NONE,
48  double* errorFactorPtr = NULL) const;
49  virtual bool GetInvTransformed(
50  const i2d::ITransformation2d& transformation,
51  i2d::IObject2d& result,
52  i2d::ITransformation2d::ExactnessMode mode = i2d::ITransformation2d::EM_NONE,
53  double* errorFactorPtr = NULL) const;
54 
55  // reimplemented (istd::IChangeable)
56  virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS);
57 
58 protected:
59  // reimplemented (ibase::TSerializableContainer)
60  virtual bool SerializeItem(CEdgeLine& item, iser::IArchive& archive);
61 };
62 
63 
64 inline void CEdgeLineContainer::Reserve(int count)
65 {
66  if (count >= 0)
67  m_items.reserve(count);
68 }
69 
70 
71 inline void CEdgeLineContainer::Resize(int count)
72 {
73  if (count >= 0)
74  m_items.resize(count);
75 }
76 
77 
78 } // namespace iedge
79 
80 
81 #endif // !iedge_CEdgeLineContainer_included
82 
83 
virtual i2d::CVector2d GetCenter() const
virtual void SetCalibration(const i2d::ICalibration2d *calibrationPtr, bool releaseFlag=false)
i2d::CObject2dBase BaseClass2
virtual bool GetInvTransformed(const i2d::ITransformation2d &transformation, i2d::IObject2d &result, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
virtual void MoveCenterTo(const i2d::CVector2d &position)
virtual bool GetTransformed(const i2d::ITransformation2d &transformation, i2d::IObject2d &result, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL) const
virtual void Reserve(int count)
ibase::TSerializableContainer< CEdgeLine, std::vector< CEdgeLine > > BaseClass
virtual bool Transform(const i2d::ITransformation2d &transformation, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
virtual bool InvTransform(const i2d::ITransformation2d &transformation, i2d::ITransformation2d::ExactnessMode mode=i2d::ITransformation2d::EM_NONE, double *errorFactorPtr=NULL)
virtual bool SerializeItem(CEdgeLine &item, iser::IArchive &archive)
virtual i2d::CRectangle GetBoundingBox() const
virtual void Resize(int count)
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS)

© 2007-2017 Witold Gantzke and Kirill Lepskiy