IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseGeometry2dMeasure.h
1 // BaseGeometry2dMeasure.h:
3 // ------------------------
4 //
15 
16 #ifndef __IPSDKBASESHAPEANALYSIS_BASEGEOMETRY2DMEASURE_H__
17 #define __IPSDKBASESHAPEANALYSIS_BASEGEOMETRY2DMEASURE_H__
18 
19 #include <IPSDKBaseShapeAnalysis/Measure/BaseMeasure.h>
20 
21 namespace ipsdk {
22 namespace shape {
23 namespace analysis {
24 
27 
29 {
30  // declare serial class
32 
33  // friend class for protected members access
34  friend class MeasureSet;
35 
36 protected:
39 
40 public:
42  virtual ~BaseGeometry2dMeasure() = 0;
43 
44 // methods
45 public:
49  bool isColorMsr() const;
50 
51 protected:
56  virtual BoolResult measureShapeDerived(const ipUInt64 shapeIdx,
57  const geom::Shape2d& shape2d) = 0;
58 
59 private:
66  BoolResult measureShape(const ipUInt64 shapeIdx,
67  const geom::Shape2d& shape2d);
68 
76  void collectResults(const ipUInt64 resultStartIndex,
77  const BaseMeasure& subMeasure);
78 
79 // attributes
80 protected:
81 
82 };
83 
86 
87 } // end of namespace analysis
88 } // end of namespace shape
89 } // end of namespace ipsdk
90 
91 #endif // __IPSDKBASESHAPEANALYSIS_BASEGEOMETRY2DMEASURE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:91
#define IPSDKBASESHAPEANALYSIS_API
Import/Export macro for library IPSDKBaseShapeAnalysis.
Definition: IPSDKBaseShapeAnalysisExports.h:25
Object allowing to agregate a collection of measure.
Definition: MeasureSet.h:38
Base class for shape analysis geometry 2d measurement (geometry measure using shape 2d data for proce...
Definition: BaseGeometry2dMeasure.h:28
Base class for shape analysis measurement.
Definition: BaseMeasure.h:37
Shape 2d associated to one or more closed polygon 2d.
Definition: Shape2d.h:35