IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseStripShape3dCollSplit.h
1 // BaseStripShape3dCollSplit.h:
3 // ----------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASESTRIPSHAPE3DCOLLSPLIT_H__
17 #define __IPSDKIMAGEPROCESSING_BASESTRIPSHAPE3DCOLLSPLIT_H__
18 
19 #include <IPSDKImageProcessing/DataSplit/Shape3dColl/BaseShape3dCollSplit.h>
20 
21 namespace ipsdk {
22 namespace imaproc {
23 
26 
27 template <typename InputDataType>
29 {
30 // predefined public types
31 public:
32  // shape 3d collection type associated to object
33  typedef typename BaseShape3dCollSplit<InputDataType>::CollType CollType;
34 
35  // const shape 3d collection type associated to object
36  typedef typename BaseShape3dCollSplit<InputDataType>::ConstCollType ConstCollType;
37 
38 public:
42  virtual ~BaseStripShape3dCollSplit() = 0;
44 
45 // methods
46 public:
48  inline eShape3dCollSplitType getShape3dCollSplitType() const;
49 
50 protected:
54  void initBase(const boost::shared_ptr<InputDataType>& pShape3dColl);
55 
59  virtual BoolResult processAttribute(processor::BaseProcessor& processor,
60  const boost::shared_ptr<InputDataType>& pSubShape3dColl) = 0;
61 
62 private:
68  BoolResult processAttribute(processor::BaseProcessor& processor,
69  const ipUInt64 elementsStartIndex,
70  const ipUInt64 nbElements,
71  const core::BaseRequestOrigin& requestOrigin);
72 
73 // attributes
74 protected:
75 
76 };
77 
80 
81 template <typename InputDataType>
84 {
86 }
87 
90 
91 } // end of namespace imaproc
92 } // end of namespace ipsdk
93 
94 #endif // __IPSDKIMAGEPROCESSING_BASESTRIPSHAPE3DCOLLSPLIT_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
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
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Base class for by strip split operation generating sub shape 3d collection.
Definition: BaseStripShape3dCollSplit.h:28
Base class for processor class.
Definition: BaseProcessor.h:43
eShape3dCollSplitType getShape3dCollSplitType() const
retrieve shape 3d coll split type
Definition: BaseStripShape3dCollSplit.h:83
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for request origin description.
Definition: BaseRequestOrigin.h:28
Split operation allowing to generate sub collections with respect to shape intersections with strips...
Definition: Shape3dCollSplitTypes.h:36