CExtremumCaliperSupplierComp.h
Go to the documentation of this file.
1 #ifndef iipr_CExtremumCaliperSupplierComp_included
2 #define iipr_CExtremumCaliperSupplierComp_included
3 
4 
5 // Acf includes
10 #include <iproc/IProcessor.h>
11 
12 
13 namespace iipr
14 {
15 
16 
18  public iinsp::TSupplierCompWrap<iipr::CFeaturesContainer>,
19  virtual public IFeaturesProvider
20 {
21 public:
23 
24  I_BEGIN_COMPONENT(CExtremumCaliperSupplierComp);
25  I_REGISTER_INTERFACE(IFeaturesProvider);
26  I_ASSIGN(m_sequenceProviderCompPtr, "SequenceProvider", "Provides sequence to analyse", true, "SequenceProvider");
27  I_ASSIGN_TO(m_sequenceSupplierCompPtr, m_sequenceProviderCompPtr, false);
28  I_ASSIGN_TO(m_sequenceProviderModelCompPtr, m_sequenceProviderCompPtr, false);
29  I_ASSIGN(m_extremumProcessorCompPtr, "ExtremumProcessor", "Processor for extremum calculation", true, "ExtremumProcessor");
30  I_END_COMPONENT;
31 
32  // reimplemented (iipr::IFeaturesProvider)
33  virtual int GetFeaturesCount() const;
34  virtual const imeas::INumericValue& GetFeature(int index) const;
35 
36 protected:
37  // reimplemented (iinsp::TSupplierCompWrap)
38  virtual int ProduceObject(ProductType& result) const;
39 
40  // reimplemented (icomp::CComponentBase)
41  virtual void OnComponentCreated();
42 
43 private:
44  I_REF(imeas::IDataSequenceProvider, m_sequenceProviderCompPtr);
45  I_REF(iinsp::ISupplier, m_sequenceSupplierCompPtr);
46  I_REF(imod::IModel, m_sequenceProviderModelCompPtr);
47  I_REF(iproc::IProcessor, m_extremumProcessorCompPtr);
48 };
49 
50 
51 } // namespace iipr
52 
53 
54 #endif // !iipr_CExtremumCaliperSupplierComp_included
virtual int GetFeaturesCount() const
Get number of stored features.
virtual const imeas::INumericValue & GetFeature(int index) const
Get access to single feature.
iinsp::TSupplierCompWrap< iipr::CFeaturesContainer > BaseClass
Standard implementation of interface iinsp::ISupplier with preparation for component implementation...
Basic implementation of a features container.
Container allowing access to features.
Simple data sequence provider.
virtual int ProduceObject(ProductType &result) const
Produce single object.
General parameter set containing list of numeric values.
Definition: INumericValue.h:20
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

© 2007-2017 Witold Gantzke and Kirill Lepskiy