CProjectionSupplierComp.h
Go to the documentation of this file.
1 #ifndef iipr_CProjectionSupplierComp_included
2 #define iipr_CProjectionSupplierComp_included
3 
4 
5 // ACF-Solutions includes
6 #include <iinsp/ISupplier.h>
8 #include <iimg/IBitmapProvider.h>
11 #include <iproc/IProcessor.h>
12 
13 
14 namespace iipr
15 {
16 
17 
22  public iinsp::TSupplierCompWrap<imeas::CGeneralDataSequence>,
23  virtual public imeas::IDataSequenceProvider
24 {
25 public:
27 
28  I_BEGIN_COMPONENT(CProjectionSupplierComp);
29  I_REGISTER_INTERFACE(imeas::IDataSequenceProvider);
30  I_ASSIGN(m_bitmapProviderCompPtr, "BitmapProvider", "Provides image to analyse", true, "BitmapProvider");
31  I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false);
32  I_ASSIGN_TO(m_bitmapProviderModelCompPtr, m_bitmapProviderCompPtr, false);
33  I_ASSIGN(m_projectionProcessorCompPtr, "ProjectionProcessor", "Processor for projection data generation", true, "ProjectionProcessor");
34  I_END_COMPONENT;
35 
36  // reimplemented (imeas::IDataSequenceProvider)
37  virtual const imeas::IDataSequence* GetDataSequence() const;
38 
39 protected:
40  // reimplemented (iinsp::TSupplierCompWrap)
41  virtual int ProduceObject(imeas::CGeneralDataSequence& result) const;
42 
43  // reimplemented (icomp::CComponentBase)
44  virtual void OnComponentCreated();
45 
46 private:
47  I_REF(iimg::IBitmapProvider, m_bitmapProviderCompPtr);
48  I_REF(iinsp::ISupplier, m_bitmapSupplierCompPtr);
49  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
50  I_REF(iproc::IProcessor, m_projectionProcessorCompPtr);
51 };
52 
53 
54 } // namespace iipr
55 
56 
57 #endif // !iipr_CProjectionSupplierComp_included
58 
59 
iinsp::TSupplierCompWrap< imeas::CGeneralDataSequence > BaseClass
General implementation of sample sequence interface IDataSequence.
Standard implementation of interface iinsp::ISupplier with preparation for component implementation...
virtual const imeas::IDataSequence * GetDataSequence() const
Get access to produced line projection object.
Simple data sequence provider.
virtual void OnComponentCreated()
Base interface for suppliers providing calculating of objects on demand ("pull data" model)...
Definition: ISupplier.h:22
Interface for all synchrone and asynchrone processors with "push data" model.
Definition: IProcessor.h:24
General definition of sequence contains samples in regular time grid.
Definition: IDataSequence.h:20
virtual int ProduceObject(imeas::CGeneralDataSequence &result) const
Produce single object.
Provider of bitmap projection series, which are calculated using underlaying processor.

© 2007-2017 Witold Gantzke and Kirill Lepskiy