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 <iinsp/ISupplier.h>
8 #include <iimg/IBitmapProvider.h>
11 #include <iipr/IFeaturesProvider.h>
13 
14 
15 namespace iipr
16 {
17 
18 
23  public iinsp::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 (iinsp::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(iinsp::ISupplier, m_bitmapSupplierCompPtr);
59  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
60  I_REF(iipr::IFeaturesProvider, m_linesProviderCompPtr);
61  I_REF(iinsp::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.
iinsp::TSupplierCompWrap< QVector< imeas::CGeneralDataSequence > > BaseClass
Standard implementation of interface iinsp::ISupplier with preparation for component implementation...
Container allowing access to features.
Simple data sequence provider.
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.
Base interface for suppliers providing calculating of objects on demand ("pull data" model)...
Definition: ISupplier.h:22
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
Interface for a provider of more data sequence objects.

© 2007-2017 Witold Gantzke and Kirill Lepskiy