CMultiPointPosCorrSupplierComp.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 // ACF includes
5 #include <istd/TDelPtr.h>
6 #include <i2d/ICalibration2d.h>
8 #include <iimg/IBitmapProvider.h>
9 
10 // ACF-Solutions includes
13 
14 
15 namespace iipr
16 {
17 
18 
19 /*
20  Supplier providing correction of calibration based on set of offset points.
21 */
22 
24  public iinsp::TSupplierCompWrap< istd::TDelPtr<const i2d::ICalibration2d> >,
25  virtual public i2d::ICalibrationProvider
26 {
27 public:
29 
30  I_BEGIN_COMPONENT(CMultiPointPosCorrSupplierComp);
31  I_REGISTER_INTERFACE(i2d::ICalibrationProvider);
32  I_ASSIGN(m_pointParamsManagerIdAttrPtr, "PointParamsManagerId", "Id of single point parameter manager in ParamsSet (iprm::IParamsManager)", true, "PointParamsManager");
33  I_ASSIGN(m_destPositionIdAttrPtr, "DestPositionId", "Id of an adhesive polyline in a parameter manager (i2d::CPosition2d)", true, "DestPosition");
34  I_ASSIGN(m_bitmapProviderCompPtr, "BitmapProvider", "Provide input image", true, "BitmapProvider");
35  I_ASSIGN_TO(m_calibrationProviderCompPtr, m_bitmapProviderCompPtr, false);
36  I_ASSIGN_TO(m_bitmapProviderModelCompPtr, m_bitmapProviderCompPtr, false);
37  I_ASSIGN_TO(m_bitmapSupplierCompPtr, m_bitmapProviderCompPtr, false);
38  I_ASSIGN_MULTI_0(m_featureProcessorsCompPtr, "FeatureProcessors", "List of processor creating feature points", true);
39  I_ASSIGN_MULTI_0(m_paramsSetTypeIdsAttrPtr, "ParamTypeIds", "The list of type IDs corresponding to processor list, if not set simple first processor will be used", false);
40  I_END_COMPONENT;
41 
42  // reimplemented (iinsp::TSupplierCompWrap)
43  virtual const i2d::ICalibration2d* GetCalibration() const;
44 
45 protected:
50 
51  // reimplemented (iinsp::TSupplierCompWrap)
52  virtual int ProduceObject(ProductType& result) const;
53 
54  // reimplemented (icomp::CComponentBase)
55  virtual void OnComponentCreated();
56 
57 private:
58  I_ATTR(QByteArray, m_pointParamsManagerIdAttrPtr);
59  I_ATTR(QByteArray, m_destPositionIdAttrPtr);
60  I_REF(iimg::IBitmapProvider, m_bitmapProviderCompPtr);
61  I_REF(i2d::ICalibrationProvider, m_calibrationProviderCompPtr);
62  I_REF(imod::IModel, m_bitmapProviderModelCompPtr);
63  I_REF(iinsp::ISupplier, m_bitmapSupplierCompPtr);
64  I_MULTIREF(iipr::IImageToFeatureProcessor, m_featureProcessorsCompPtr);
65  I_MULTIATTR(QByteArray, m_paramsSetTypeIdsAttrPtr);
66 };
67 
68 
69 } // namespace iipr
70 
71 
virtual int ProduceObject(ProductType &result) const
Standard implementation of interface iinsp::ISupplier with preparation for component implementation...
Allow to extract some features from the image.
iinsp::TSupplierCompWrap< istd::TDelPtr< const i2d::ICalibration2d > > BaseClass
virtual const i2d::ICalibration2d * GetCalibration() const
Base interface for suppliers providing calculating of objects on demand ("pull data" model)...
Definition: ISupplier.h:22
iipr::IImageToFeatureProcessor * GetCompatibleProcessor(const iprm::IParamsSet *paramsSetPtr) const
Get processor correcponding to some parameter set.

© 2007-2017 Witold Gantzke and Kirill Lepskiy