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 <iinsp/ISupplier.h>
11 #include <iimg/IBitmapProvider.h>
12 
14 #include <iedge/IEdgesExtractor.h>
16 
17 
18 namespace iedge
19 {
20 
21 
23  public iinsp::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 (iinsp::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(iinsp::ISupplier, m_bitmapSupplierCompPtr);
53  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
54  I_REF(i2d::ICalibrationProvider, m_calibrationProviderCompPtr);
55  I_REF(iinsp::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.
iinsp::TSupplierCompWrap< CEdgeLineContainer > BaseClass
Standard implementation of interface iinsp::ISupplier with preparation for component implementation...
Interface for edge lines extraction from the image.
virtual int ProduceObject(CEdgeLineContainer &result) const
Base interface for suppliers providing calculating of objects on demand ("pull data" model)...
Definition: ISupplier.h:22

© 2007-2017 Witold Gantzke and Kirill Lepskiy