IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseTypedGeometryMeasure2d.h
1 // BaseTypedGeometryMeasure2d.h:
3 // -----------------------------
4 //
14 
15 #ifndef __IPSDKGEOMETRY_BASETYPEDGEOMETRYMEASURE2D_H__
16 #define __IPSDKGEOMETRY_BASETYPEDGEOMETRYMEASURE2D_H__
17 
18 #include <IPSDKGeometry/Measure/2d/BaseGeometryMeasure2d.h>
19 
20 namespace ipsdk {
21 namespace geom {
22 
25 
26 template <typename T>
28 {
29  // declare serial class
31 
32 // predefined public type
33 public:
35  typedef T DataType;
36 
37 public:
41  virtual ~BaseTypedGeometryMeasure2d() = 0;
43 
44 // methods
45 public:
48  bool measure(const GeometryEntity2dPtr& pEntity,
49  T& result) const;
50 
53  virtual bool measure(const BaseGeometryEntity2d& entity,
54  T& result) const = 0;
55 
56 // attributes
57 protected:
58 
59 };
60 
63 
64 } // end of namespace geom
65 } // end of namespace ipsdk
66 
67 #endif // __IPSDKGEOMETRY_BASETYPEDGEOMETRYMEASURE2D_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
T DataType
Output data type associated to measure.
Definition: BaseTypedGeometryMeasure2d.h:35
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:91
Base class for typed geometry measures 2d.
Definition: BaseTypedGeometryMeasure2d.h:27
#define IPSDKGEOMETRY_API
Import/Export macro for library IPSDKGeometry.
Definition: IPSDKGeometryExports.h:25
Base class for geometry measures 2d.
Definition: BaseGeometryMeasure2d.h:31
boost::shared_ptr< BaseGeometryEntity2d > GeometryEntity2dPtr
shared pointer to BaseGeometryEntity2d
Definition: GeometryEntity2dTypes.h:88
Base class for 2d geometry entities.
Definition: BaseGeometryEntity2d.h:34