IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RawZStrip3dParser.h
1 // RawZStrip3dParser.h:
3 // --------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RAWZSTRIP3DPARSER_H__
16 #define __IPSDKIMAGEPROCESSING_RAWZSTRIP3DPARSER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::RawZStrip3dParser<T,BaseStripAttributeClassType>::_pRawYStrip2dParser' : class 'boost::shared_ptr<ipsdk::imaproc::BaseRawYStrip2dParser<boost::mpl::if_<boost::mpl::equal_to<boost::mpl::int_<g_attributeIO>,boost::mpl::int_<N>>::type,ipsdk::imaproc::BaseInputYStrip2dAttribute,boost::mpl::if_<boost::mpl::equal_to<boost::mpl::int_<g_attributeIO>,boost::mpl::int_<1>>::type,ipsdk::imaproc::BaseOutputYStrip2dAttribute,ipsdk::imaproc::BaseInOutYStrip2dAttribute>::type>::type>>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::RawZStrip3dParser<T,BaseStripAttributeClassType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/RawZStrip3d/BaseRawZStrip3dParser.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 
28 template <typename T, typename BaseStripAttributeClassType>
29 class RawYStrip2dParser;
30 
33 
34 template <typename T, typename BaseStripAttributeClassType>
35 class IPSDKIMAGEPROCESSING_API RawZStrip3dParser : public BaseRawZStrip3dParser<BaseStripAttributeClassType>
36 {
37 // predefined public types
38 public:
41 
44 
46  typedef typename boost::shared_ptr<RawYStrip2dParserType> RawYStrip2dParserPtr;
47 
48 public:
54 
55 // methods
56 public:
61  ipUInt64 getBufferSize() const;
62 
63 private:
68  const void* accessBuffer() const;
69  void* accessBuffer();
71 
73  void initDataDerived(const ipUInt64 nbInitData,
74  const ipUInt64 nbMainData,
75  const ipUInt64 nbFinalData,
76  const ipUInt64 nbRealFinalData,
77  const ipReal64 unAlignedValue);
78 
81  void prepareDataDerived(const ipUInt64 elementIdx);
82 
84  void updateToInitDataDerived();
85 
87  void updateToMainDataDerived();
88 
90  void updateToFinalDataDerived();
91 
93  void syncOutFinalDataDerived();
94 
96  void clearDerived();
97 
98 // attributes
99 protected:
102 
105 };
106 
109 
110 } // end of namespace imaproc
111 } // end of namespace ipsdk
112 
113 #pragma warning (pop)
114 
115 #endif // __IPSDKIMAGEPROCESSING_RAWZSTRIP3DPARSER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
BaseRawZStrip3dParser< BaseStripAttributeClassType >::YStrip2dAttributeType YStrip2dAttributeType
associated y strip 2d attribute
Definition: RawZStrip3dParser.h:40
ipUInt64 _curStripPlanIdx
index of current strip plan index
Definition: RawZStrip3dParser.h:101
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
boost::shared_ptr< RawYStrip2dParserType > RawYStrip2dParserPtr
shared pointer to raw y strip 2d data parser
Definition: RawZStrip3dParser.h:46
boost::mpl::if_< typename boost::mpl::equal_to< boost::mpl::int_< g_attributeIO >, boost::mpl::int_< eIOStatus::eIOS_Input > >::type, BaseInputYStrip2dAttribute, typename boost::mpl::if_< typename boost::mpl::equal_to< boost::mpl::int_< g_attributeIO >, boost::mpl::int_< eIOStatus::eIOS_Output > >::type, BaseOutputYStrip2dAttribute, BaseInOutYStrip2dAttribute >::type >::type YStrip2dAttributeType
associated y strip 2d attribute
Definition: BaseRawZStrip3dParser.h:64
Concrete class for raw z strip 3d parsing.
Definition: BaseRawYStrip2dParser.h:39
RawYStrip2dParserPtr _pRawYStrip2dParser
shared pointer to y strip 2d parser
Definition: RawZStrip3dParser.h:104
Concrete class for raw y strip 2d parsing.
Definition: RawYStrip2dParser.h:36
RawYStrip2dParser< T, YStrip2dAttributeType > RawYStrip2dParserType
raw y strip 2d data parser type
Definition: RawZStrip3dParser.h:43