IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseLineZStripColor3dParser.h
1 // BaseLineZStripColor3dParser.h:
3 // ------------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASELINEZSTRIPCOLOR3DPARSER_H__
16 #define __IPSDKIMAGEPROCESSING_BASELINEZSTRIPCOLOR3DPARSER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseLineZStripColor3dParser<BaseStripAttributeClassType>::_pImageZStripColor3d' : class 'boost::shared_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseLineZStripColor3dParser<BaseStripAttributeClassType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
24 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/BaseStripParser.h>
25 #include <IPSDKImage/Fragment/Strip/ZStripColor3d/BaseImageZStripColor3d.h>
26 #include <boost/shared_ptr.hpp>
27 #include <boost/mpl/equal_to.hpp>
28 #include <boost/mpl/not_equal_to.hpp>
29 #include <boost/mpl/int.hpp>
30 #include <boost/mpl/if.hpp>
31 
32 namespace ipsdk {
33 namespace imaproc {
34 
35 class BaseInputZStrip3dAttribute;
36 class BaseInOutZStrip3dAttribute;
37 class BaseOutputZStrip3dAttribute;
38 
41 
42 template <typename BaseStripAttributeClassType>
44 {
45 // predefined public types
46 public:
48  static const eIOStatus::domain g_attributeIO = BaseStripAttributeClassType::g_dataIOStatus;
49 
51  typedef BaseStripAttributeClassType BaseStripAttributeClass;
52 
54  typedef typename BaseStripAttributeClassType::ValueType ValueType;
55 
57  typedef typename BaseStripAttributeClassType::StorageType StorageType;
58 
60  typedef typename boost::mpl::if_<typename boost::mpl::equal_to<boost::mpl::int_<g_attributeIO>,
61  boost::mpl::int_<eIOStatus::eIOS_Input> >::type,
63  typename boost::mpl::if_<typename boost::mpl::equal_to<boost::mpl::int_<g_attributeIO>,
64  boost::mpl::int_<eIOStatus::eIOS_Output> >::type,
68 
69 public:
73  virtual ~BaseLineZStripColor3dParser() = 0;
75 
76 // methods
77 public:
80  {
82  }
83 
85  virtual image::eColorGeometryType getColorGeometryType() const = 0;
86 
92  void init(const StorageType& pImageZStripColor3d);
93 
98  virtual ipUInt64 getBufferSize() const = 0;
99 
103  ipUInt64 getSizeC() const;
104 
105 protected:
112  virtual const void* accessBuffer(const ipUInt64 cPlanIdx) const = 0;
113  virtual void* accessBuffer(const ipUInt64 cPlanIdx) = 0;
115 
116 // attributes
117 protected:
120 };
121 
124 
125 } // end of namespace imaproc
126 } // end of namespace ipsdk
127 
128 #pragma warning (pop)
129 
130 #endif // __IPSDKIMAGEPROCESSING_BASELINEZSTRIPCOLOR3DPARSER_H__
boost::mpl::if_< typename boost::mpl::equal_to< boost::mpl::int_< g_attributeIO >, boost::mpl::int_< eIOStatus::eIOS_Input > >::type, BaseInputZStrip3dAttribute, typename boost::mpl::if_< typename boost::mpl::equal_to< boost::mpl::int_< g_attributeIO >, boost::mpl::int_< eIOStatus::eIOS_Output > >::type, BaseOutputZStrip3dAttribute, BaseInOutZStrip3dAttribute >::type >::type ZStrip3dAttributeType
associated y strip 2d attribute
Definition: BaseLineZStripColor3dParser.h:67
Base class for output image 3d strip with splitting along Z axis attributes.
Definition: BaseOutputZStrip3dAttribute.h:32
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Base class for input image 3d strip with splitting along Z axis attributes.
Definition: BaseInputZStrip3dAttribute.h:32
eStripParserType getStripParserType() const
retrieve strip parser type
Definition: BaseLineZStripColor3dParser.h:79
eStripParserType
Enumerate describing strip parser type.
Definition: StripParserTypes.h:30
eColorGeometryType
Color geometry type.
Definition: GeometryComponentTypes.h:45
BaseStripAttributeClassType::StorageType StorageType
storage type associated to object
Definition: BaseLineZStripColor3dParser.h:57
Definition of import/export macro for library.
BaseStripAttributeClassType::ValueType ValueType
value type associated to object
Definition: BaseLineZStripColor3dParser.h:54
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for objects allowing to parse strip attribute data.
Definition: BaseStripParser.h:27
StorageType _pImageZStripColor3d
shared pointer to z strip color 3d
Definition: BaseLineZStripColor3dParser.h:119
Z strip color 3d parser allowing line by line strip parsing.
Definition: StripParserTypes.h:46
Base class for input and output image 3d strip with splitting along Z axis attributes.
Definition: BaseInOutZStrip3dAttribute.h:32
Base class for color z strip 3d parsed line by line.
Definition: BaseLineZStripColor3dParser.h:43
BaseStripAttributeClassType BaseStripAttributeClass
base attribute class associated to object
Definition: BaseLineZStripColor3dParser.h:51