IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RawYStripSeq2dParser.h
1 // RawYStripSeq2dParser.h:
3 // -----------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RAWYSTRIPSEQ2DPARSER_H__
16 #define __IPSDKIMAGEPROCESSING_RAWYSTRIPSEQ2DPARSER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::RawYStripSeq2dParser<T,BaseStripAttributeClassType>::_rawYStrip2dParserColl' : class 'std::vector<boost::shared_ptr<ipsdk::imaproc::RawYStrip2dParser<T,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::RawYStripSeq2dParser<T,BaseStripAttributeClassType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/RawYStripSeq2d/BaseRawYStripSeq2dParser.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 RawYStripSeq2dParser : public BaseRawYStripSeq2dParser<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:
70  const void* accessBuffer(const ipUInt64 cPlanIdx) const;
71  void* accessBuffer(const ipUInt64 cPlanIdx);
73 
75  void initDataDerived(const ipUInt64 nbInitData,
76  const ipUInt64 nbMainData,
77  const ipUInt64 nbFinalData,
78  const ipUInt64 nbRealFinalData,
79  const ipReal64 unAlignedValue);
80 
83  void prepareDataDerived(const ipUInt64 elementIdx);
84 
86  void syncOutFinalDataDerived();
87 
89  void updateToInitDataDerived();
90 
92  void updateToMainDataDerived();
93 
95  void updateToFinalDataDerived();
96 
98  void clearDerived();
99 
100 // attributes
101 protected:
103  typedef std::vector<RawYStrip2dParserPtr> RawYStrip2dParserColl;
104 
107 };
108 
111 
112 } // end of namespace imaproc
113 } // end of namespace ipsdk
114 
115 #pragma warning (pop)
116 
117 #endif // __IPSDKIMAGEPROCESSING_RAWYSTRIPSEQ2DPARSER_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
RawYStrip2dParserColl _rawYStrip2dParserColl
collection of raw y strip 2d parser associated to object
Definition: RawYStripSeq2dParser.h:106
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
RawYStrip2dParser< T, YStrip2dAttributeType > RawYStrip2dParserType
raw y strip 2d data parser type
Definition: RawYStripSeq2dParser.h:43
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: BaseRawYStripSeq2dParser.h:63
Concrete class for raw y strip 2d parsing.
Definition: RawYStrip2dParser.h:36
Concrete class for raw sequence y strip 2d parsing.
Definition: BaseRawYStrip2dParser.h:37
std::vector< RawYStrip2dParserPtr > RawYStrip2dParserColl
collection of raw y strip 2d parser
Definition: RawYStripSeq2dParser.h:103
BaseRawYStripSeq2dParser< BaseStripAttributeClassType >::YStrip2dAttributeType YStrip2dAttributeType
associated y strip 2d attribute
Definition: RawYStripSeq2dParser.h:40
boost::shared_ptr< RawYStrip2dParserType > RawYStrip2dParserPtr
shared pointer to raw y strip 2d data parser
Definition: RawYStripSeq2dParser.h:46