CLineProjectionSupplierComp.h
Go to the documentation of this file.
1 #ifndef iipr_CLineProjectionSupplierComp_included
2 #define iipr_CLineProjectionSupplierComp_included
3 
4 
5 // ACF includes
6 #include "i2d/CVector2d.h"
7 #include "iprm/IParamsSet.h"
8 
9 // ACF-Solutions includes
10 #include "iproc/IProcessor.h"
11 #include "iproc/ISupplier.h"
15 
16 #include "iimg/IBitmapProvider.h"
18 
19 
20 namespace iipr
21 {
22 
23 
25  public iproc::TSupplierCompWrap<imeas::CGeneralDataSequence>,
26  virtual public imeas::IDataSequenceProvider
27 {
28 public:
30 
31  I_BEGIN_COMPONENT(CLineProjectionSupplierComp);
32  I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
33  I_ASSIGN(m_bitmapProviderCompPtr, "BitmapProvider", "Provide image to analyse", true, "BitmapProvider");
34  I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false);
35  I_ASSIGN_TO(m_bitmapProviderModelCompPtr, m_bitmapProviderCompPtr, false);
36  I_ASSIGN(m_projectionProcessorCompPtr, "ProjectionProcessor", "Processor for projection data generation", true, "ProjectionProcessor");
37  I_END_COMPONENT;
38 
39  // reimplemented (imeas::IDataSequenceProvider)
40  virtual const imeas::IDataSequence* GetDataSequence() const;
41 
42 protected:
43  // reimplemented (iproc::TSupplierCompWrap)
44  virtual int ProduceObject(imeas::CGeneralDataSequence& result) const;
45 
46  // reimplemented (icomp::CComponentBase)
47  virtual void OnComponentCreated();
48 
49 private:
50  I_REF(iimg::IBitmapProvider, m_bitmapProviderCompPtr);
51  I_REF(iproc::ISupplier, m_bitmapSupplierCompPtr);
52  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
53  I_REF(iipr::ILineProjectionProcessor, m_projectionProcessorCompPtr);
54 };
55 
56 
57 } // namespace iipr
58 
59 
60 #endif // !iipr_CLineProjectionSupplierComp_included
61 
62 
iproc::TSupplierCompWrap< imeas::CGeneralDataSequence > BaseClass
General implementation of sample sequence interface IDataSequence.
virtual int ProduceObject(imeas::CGeneralDataSequence &result) const
Produce single object.
virtual const imeas::IDataSequence * GetDataSequence() const
Get access to produced line projection object.
Simple data sequence provider.
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false)
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
Standard implementation of interface iproc::ISupplier with preparation for component implementation...

© 2007-2011 Witold Gantzke and Kirill Lepskiy