IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseMeasureSetSplit.h
1 // BaseMeasureSetSplit.h:
3 // ----------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASEMEASURESETSPLIT_H__
16 #define __IPSDKIMAGEPROCESSING_BASEMEASURESETSPLIT_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseMeasureSetSplit<InputDataType>::_pMeasureSet' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseMeasureSetSplit<InputDataType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKBaseProcessing/DataSplit/Dynamic/BaseDynamicSplit.h>
26 #include <boost/thread/mutex.hpp>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 
33 
34 template <typename InputDataType>
36 {
37 public:
41  virtual ~BaseMeasureSetSplit() = 0;
43 
44 // methods
45 public:
47  inline processor::eSplitDynamicType getSplitDynamicType() const;
48 
50  inline eImageSplitType getImageSplitType() const;
51 
53  virtual eMeasureSetSplitType getMeasureSetSplitType() const = 0;
54 
58  const ipsdk::shape::analysis::MeasureSet& getMeasureSet() const;
59 
60 // attributes
61 protected:
64 
67 
69  boost::mutex _mutex;
70 };
71 
74 
75 template <typename InputDataType>
78 {
80 }
81 
82 template <typename InputDataType>
83 inline eImageSplitType
85 {
87 }
88 
91 
92 } // end of namespace imaproc
93 } // end of namespace ipsdk
94 
95 #pragma warning (pop)
96 
97 #endif // __IPSDKIMAGEPROCESSING_BASEMEASURESETSPLIT_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< MeasureSetColl > MeasureSetCollPtr
shared pointer to measure set collection
Definition: MeasureSetSplitTypes.h:54
processor::eSplitDynamicType getSplitDynamicType() const
retrieve dynamic split operation type
Definition: BaseMeasureSetSplit.h:77
ipsdk::shape::analysis::MeasureSetPtr _pMeasureSet
pointer to shape 2d collection to be splitted
Definition: BaseMeasureSetSplit.h:63
eSplitDynamicType
Enumerate describing dynamic split operation type.
Definition: DynamicSplitTypes.h:36
eImageSplitType getImageSplitType() const
retrieve image split operation type
Definition: BaseMeasureSetSplit.h:84
Definition of import/export macro for library.
Base class for data dynamic split objets used for data dispatch.
Definition: BaseDynamicSplit.h:31
Object allowing to agregate a collection of measure.
Definition: MeasureSet.h:38
Dynamic split operation type for image processing elements.
Definition: DynamicSplitTypes.h:46
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
eImageSplitType
Enumerate describing image split operation type.
Definition: ImageSplitTypes.h:33
Split operation of a shape measure set.
Definition: ImageSplitTypes.h:47
boost::mutex _mutex
mutex used to prevent concurrent accesses
Definition: BaseMeasureSetSplit.h:69
MeasureSetCollPtr _pMeasureSetColl
pointer to collection of splitted measure set
Definition: BaseMeasureSetSplit.h:66
Predefined types for measure set split operations.
Base class for shape measure set split operations for data dispatch.
Definition: BaseMeasureSetSplit.h:35
boost::shared_ptr< MeasureSet > MeasureSetPtr
shared pointer to shape measure set
Definition: MeasureTypes.h:97
eMeasureSetSplitType
Enumerate describing measure set split type.
Definition: MeasureSetSplitTypes.h:35