CExtractedEdgeLinesSupplierComp.h
Go to the documentation of this file.
1 #ifndef iedge_CExtractedEdgeLinesSupplierComp_included
2 #define iedge_CExtractedEdgeLinesSupplierComp_included
3 
4 
5 // ACF includes
7 
8 // ACF-Solutions includes
9 #include "iproc/ISupplier.h"
11 #include "iimg/IBitmapProvider.h"
12 
14 #include "iedge/IEdgesExtractor.h"
16 
17 
18 namespace iedge
19 {
20 
21 
23  public iproc::TSupplierCompWrap<CEdgeLineContainer>,
24  virtual public IEdgeLinesProvider
25 {
26 public:
28 
29  I_BEGIN_COMPONENT(CExtractedEdgeLinesSupplierComp);
30  I_REGISTER_INTERFACE(IEdgeLinesProvider);
31  I_ASSIGN(m_bitmapProviderCompPtr, "BitmapProvider", "Provide image to analyse", true, "BitmapProvider");
32  I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false);
33  I_ASSIGN_TO(m_bitmapProviderModelCompPtr, m_bitmapProviderCompPtr, false);
34  I_ASSIGN(m_calibrationProviderCompPtr, "CalibrationProvider", "Provide 2D-calibration object", false, "CalibrationProvider");
35  I_ASSIGN_TO(m_calibrationSupplierCompPtr, m_calibrationProviderCompPtr, false);
36  I_ASSIGN_TO(m_calibrationProviderModelCompPtr, m_calibrationProviderCompPtr, false);
37  I_ASSIGN(m_edgesExtractorCompPtr, "EdgesExtractor", "Extractor of edges", true, "EdgesExtractor");
38  I_END_COMPONENT;
39 
40  // reimplemented (iedge::IEdgeLinesProvider)
41  virtual const CEdgeLineContainer* GetEdgesContainer() const;
42 
43 protected:
44  // reimplemented (iproc::TSupplierCompWrap)
45  virtual int ProduceObject(CEdgeLineContainer& result) const;
46 
47  // reimplemented (icomp::CComponentBase)
48  virtual void OnComponentCreated();
49 
50 private:
51  I_REF(iimg::IBitmapProvider, m_bitmapProviderCompPtr);
52  I_REF(iproc::ISupplier, m_bitmapSupplierCompPtr);
53  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
54  I_REF(i2d::ICalibrationProvider, m_calibrationProviderCompPtr);
55  I_REF(iproc::ISupplier, m_calibrationSupplierCompPtr);
56  I_REF(imod::IModel, m_calibrationProviderModelCompPtr);
57  I_REF(IEdgesExtractor, m_edgesExtractorCompPtr);
58 };
59 
60 
61 } // namespace iedge
62 
63 
64 #endif // !iedge_CExtractedEdgeLinesSupplierComp_included
65 
66 
virtual const CEdgeLineContainer * GetEdgesContainer() const
Provide access to container of endges.
iproc::TSupplierCompWrap< CEdgeLineContainer > BaseClass
Interface for edge lines extraction from the image.
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
virtual int ProduceObject(CEdgeLineContainer &result) const
I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false)
Standard implementation of interface iproc::ISupplier with preparation for component implementation...

© 2007-2011 Witold Gantzke and Kirill Lepskiy