IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseShape3dCollSplit.h
1 // BaseShape3dCollSplit.h:
3 // -----------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASESHAPE3DCOLLSPLIT_H__
16 #define __IPSDKIMAGEPROCESSING_BASESHAPE3DCOLLSPLIT_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseShape3dCollSplit<InputDataType>::_pShape3dColl' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseShape3dCollSplit<InputDataType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
25 #include <IPSDKBaseProcessing/DataSplit/Dynamic/BaseDynamicSplit.h>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 
33 
34 template <typename InputDataType>
36 {
37 // predefined public types
38 public:
39  // shape 3d collection type associated to object
40  typedef typename InputDataType::CollType CollType;
41 
42  // const shape 3d collection type associated to object
43  typedef typename InputDataType::ConstCollType ConstCollType;
44 
45 public:
49  virtual ~BaseShape3dCollSplit() = 0;
51 
52 // methods
53 public:
55  inline processor::eSplitDynamicType getSplitDynamicType() const;
56 
58  inline eImageSplitType getImageSplitType() const;
59 
61  virtual eShape3dCollSplitType getShape3dCollSplitType() const = 0;
62 
66  const ipsdk::shape::segmentation::Shape3dColl& getShape3dColl() const;
67 
68 // attributes
69 protected:
72 };
73 
76 
77 template <typename InputDataType>
80 {
82 }
83 
84 template <typename InputDataType>
85 inline eImageSplitType
87 {
89 }
90 
93 
94 } // end of namespace imaproc
95 } // end of namespace ipsdk
96 
97 #pragma warning (pop)
98 
99 #endif // __IPSDKIMAGEPROCESSING_BASESHAPE3DCOLLSPLIT_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
ipsdk::shape::segmentation::Shape3dCollPtr _pShape3dColl
pointer to shape 3d collection to be splitted
Definition: BaseShape3dCollSplit.h:71
Base class for shape 3d collection split operations for data dispatch.
Definition: BaseShape3dCollSplit.h:35
eShape3dCollSplitType
Enumerate describing measure set split type.
Definition: Shape3dCollSplitTypes.h:32
eImageSplitType getImageSplitType() const
retrieve image split operation type
Definition: BaseShape3dCollSplit.h:86
eSplitDynamicType
Enumerate describing dynamic split operation type.
Definition: DynamicSplitTypes.h:36
Split operation of a shape 3d collection data.
Definition: ImageSplitTypes.h:49
Definition of import/export macro for library.
Base class for data dynamic split objets used for data dispatch.
Definition: BaseDynamicSplit.h:31
boost::shared_ptr< Shape3dColl > Shape3dCollPtr
shared pointer to shape 3d collection object
Definition: Shape3dTypes.h:25
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
processor::eSplitDynamicType getSplitDynamicType() const
retrieve dynamic split operation type
Definition: BaseShape3dCollSplit.h:79
Predefined types for shape 3d management.
Collection of shape 3d.
Definition: Shape3dColl.h:29
Predefined types for shape 3d collection split operations.