CExtremumCaliperProcessorComp.h
Go to the documentation of this file.
1 #ifndef iipr_CExtremumCaliperProcessorComp_included
2 #define iipr_CExtremumCaliperProcessorComp_included
3 
4 
5 // ACF includes
6 #include <QtCore/QString>
7 #include "icomp/CComponentBase.h"
9 
10 #include "iipr/ICaliperProcessor.h"
12 
13 
14 namespace iipr
15 {
16 
17 
19  public icomp::CComponentBase,
20  public iproc::TSyncProcessorWrap<ICaliperProcessor>,
21  virtual public IFeatureToProjectionMapper
22 {
23 public:
26 
27  I_BEGIN_COMPONENT(CExtremumCaliperProcessorComp);
28  I_REGISTER_INTERFACE(iproc::IProcessor);
29  I_REGISTER_INTERFACE(ICaliperProcessor);
30  I_REGISTER_INTERFACE(IFeatureToProjectionMapper);
31  I_ASSIGN(m_caliperParamsIdAttrPtr, "CaliperParamsId", "ID of caliper parameters in parameter set", true, "CaliperParams");
32  I_END_COMPONENT;
33 
34  // reimplemented (iipr::ICaliperProcessor)
35  virtual bool DoCaliper(
36  const imeas::IDataSequence& derivative,
37  const ICaliperParams* paramsPtr,
38  IFeaturesConsumer& results);
39 
40  // reimplemented (iproc::IProcessor)
41  virtual int DoProcessing(
42  const iprm::IParamsSet* paramsPtr,
43  const istd::IPolymorphic* inputPtr,
44  istd::IChangeable* outputPtr,
45  ibase::IProgressManager* progressManagerPtr = NULL);
46 
47  // reimplemented (iipr::IFeatureToProjectionMapper)
48  virtual bool GetProjectionPosition(
49  const imeas::INumericValue& feature,
50  const iprm::IParamsSet* paramsPtr,
51  double& result) const;
52 
53 private:
54  I_ATTR(QByteArray, m_caliperParamsIdAttrPtr);
55 };
56 
57 
58 } // namespace iipr
59 
60 
61 #endif // !iipr_CExtremumCaliperProcessorComp_included
62 
63 
virtual bool GetProjectionPosition(const imeas::INumericValue &feature, const iprm::IParamsSet *paramsPtr, double &result) const
Get position on projection using position extracted from projection.
Interface allowing mapping of extracted features to native coordinate systems.
virtual bool DoCaliper(const imeas::IDataSequence &derivative, const ICaliperParams *paramsPtr, IFeaturesConsumer &results)
Wrapper of iproc::IProcessor for simple synchrone processor implementations.
iproc::TSyncProcessorWrap< ICaliperProcessor > BaseClass2
General parameter set containing list of numeric values.
Definition: INumericValue.h:19
Common interface for a features container consuming feature objects.
Interface for all synchrone and assynchrone 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 DoProcessing(const iprm::IParamsSet *paramsPtr, const istd::IPolymorphic *inputPtr, istd::IChangeable *outputPtr, ibase::IProgressManager *progressManagerPtr=NULL)

© 2007-2011 Witold Gantzke and Kirill Lepskiy