CMultiLineProjectionSupplierComp.h
Go to the documentation of this file.
1 #ifndef iipr_CMultiLineProjectionSupplierComp_included
2 #define iipr_CMultiLineProjectionSupplierComp_included
3 
4 
5 // ACF-Solutions includes
6 #include "iproc/ISupplier.h"
8 #include "iimg/IBitmapProvider.h"
13 
14 
15 namespace iipr
16 {
17 
18 
23  public iproc::TSupplierCompWrap< QVector<imeas::CGeneralDataSequence> >,
24  virtual public imeas::IMultiDataSequenceProvider,
25  virtual public imeas::IDataSequenceProvider
26 {
27 public:
29 
30  I_BEGIN_COMPONENT(CMultiLineProjectionSupplierComp);
31  I_REGISTER_INTERFACE(imeas::IMultiDataSequenceProvider);
32  I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
33  I_ASSIGN(m_bitmapProviderCompPtr, "BitmapProvider", "Provides 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_linesProviderCompPtr, "LinesProvider", "Provides set of line projections", true, "LinesProvider");
37  I_ASSIGN_TO(m_linesSupplierCompPtr, m_linesProviderCompPtr, false);
38  I_ASSIGN_TO(m_linesProviderModelCompPtr, m_linesProviderCompPtr, false);
39  I_ASSIGN(m_projectionProcessorCompPtr, "ProjectionProcessor", "Processor for projection data generation", true, "ProjectionProcessor");
40  I_END_COMPONENT;
41 
42  // reimplemented (imeas::IMultiDataSequenceProvider)
43  virtual int GetSequencesCount() const;
44  virtual const imeas::IDataSequence* GetDataSequence(int index) const;
45 
46  // reimplemented (imeas::IDataSequenceProvider)
47  virtual const imeas::IDataSequence* GetDataSequence() const;
48 
49 protected:
50  // reimplemented (iproc::TSupplierCompWrap)
51  virtual int ProduceObject(ProductType& result) const;
52 
53  // reimplemented (icomp::CComponentBase)
54  virtual void OnComponentCreated();
55 
56 private:
57  I_REF(iimg::IBitmapProvider, m_bitmapProviderCompPtr);
58  I_REF(iproc::ISupplier, m_bitmapSupplierCompPtr);
59  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
60  I_REF(imeas::INumericValueProvider, m_linesProviderCompPtr);
61  I_REF(iproc::ISupplier, m_linesSupplierCompPtr);
62  I_REF(imod::IModel, m_linesProviderModelCompPtr);
63  I_REF(iipr::ILineProjectionProcessor, m_projectionProcessorCompPtr);
64 };
65 
66 
67 } // namespace iipr
68 
69 
70 #endif // !iipr_CMultiLineProjectionSupplierComp_included
virtual int ProduceObject(ProductType &result) const
Produce single object.
virtual const imeas::IDataSequence * GetDataSequence() const
Get access to produced line projection object.
iproc::TSupplierCompWrap< QVector< imeas::CGeneralDataSequence > > BaseClass
Simple data sequence provider.
I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false)
Base interface for suppliers providing synchrone processing of single object with "pull data" model...
Definition: ISupplier.h:22
Provide access to the list of the numeric values.
virtual int GetSequencesCount() const
Get the number of available data sequences.
Provider of bitmap projection series, which are calculated based on list of 2D-lines.
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
Interface for a provider of more data sequence objects.
Standard implementation of interface iproc::ISupplier with preparation for component implementation...

© 2007-2011 Witold Gantzke and Kirill Lepskiy