CCircleFinderParamsComp.h
Go to the documentation of this file.
1 #ifndef iipr_CCircleFinderParamsComp_included
2 #define iipr_CCircleFinderParamsComp_included
3 
4 
5 #include <icomp/CComponentBase.h>
6 
8 
9 
10 namespace iipr
11 {
12 
13 
15 {
16 public:
18 
19  I_BEGIN_COMPONENT(CCircleFinderParamsComp);
20  I_REGISTER_INTERFACE(iser::ISerializable);
21  I_REGISTER_INTERFACE(iipr::ICircleFinderParams);
22  I_ASSIGN(m_distanceUnitInfoCompPtr, "DistanceUnitInfo", "Provide information about distance units", false, "DistanceUnitInfo");
23  I_ASSIGN(m_isOutlierEliminationEnabledAttrPtr, "OutlierEliminationEnabled", "Enable outliers elimination", false, false);
24  I_ASSIGN(m_minOutlierDistanceAttrPtr, "MinOutlierDistance", "Minimal outliers distance in pixel", false, 5.0);
25  I_ASSIGN(m_raysCountAttrPtr, "RaysCount", "Maximal number of projection rays, -1 for automatic calculation", false, -1);
26  I_ASSIGN(m_caliperModeAttrPtr, "CaliperMode", "Mode of caliper\n\t0 - first candidate\n\t1 - best candidate", true, 0);
27  I_END_COMPONENT;
28 
29  // reimplemented (iipr::ICircleFinderParams)
30  virtual const imath::IUnitInfo* GetDistanceUnitInfo() const;
31 
32 protected:
33  // reimplemented (icomp::CComponentBase)
34  virtual void OnComponentCreated();
35 
36 private:
37  I_REF(imath::IUnitInfo, m_distanceUnitInfoCompPtr);
38  I_ATTR(bool, m_isOutlierEliminationEnabledAttrPtr);
39  I_ATTR(double, m_minOutlierDistanceAttrPtr);
40  I_ATTR(int, m_raysCountAttrPtr);
41  I_ATTR(int, m_caliperModeAttrPtr);
42 };
43 
44 
45 } // namespace iipr
46 
47 
48 #endif // !iipr_CCircleFinderParamsComp_included
49 
50 
virtual const imath::IUnitInfo * GetDistanceUnitInfo() const
Get information about distance unit.
virtual void OnComponentCreated()
Interface for the circle finder parameter.

© 2007-2017 Witold Gantzke and Kirill Lepskiy