IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RawYStripUserColor2dParser.h
1 // RawYStripUserColor2dParser.h:
3 // -----------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RAWYSTRIPUSERCOLOR2DPARSER_H__
16 #define __IPSDKIMAGEPROCESSING_RAWYSTRIPUSERCOLOR2DPARSER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::RawYStripUserColor2dParser<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::RawYStripUserColor2dParser<T,BaseStripAttributeClassType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/RawYStripColor2d/BaseRawYStripUserColor2dParser.h>
24 #include <vector>
25 
26 namespace ipsdk {
27 namespace imaproc {
28 
29 template <typename T, typename BaseStripAttributeClassType>
30 class RawYStrip2dParser;
31 
34 
35 template <typename T, typename BaseStripAttributeClassType>
36 class IPSDKIMAGEPROCESSING_API RawYStripUserColor2dParser : public BaseRawYStripUserColor2dParser<BaseStripAttributeClassType>
37 {
38 // predefined public types
39 public:
42 
45 
47  typedef typename boost::shared_ptr<RawYStrip2dParserType> RawYStrip2dParserPtr;
48 
49 public:
55 
56 // methods
57 public:
62  ipUInt64 getBufferSize() const;
63 
64 private:
71  const void* accessBuffer(const ipUInt64 cPlanIdx) const;
72  void* accessBuffer(const ipUInt64 cPlanIdx);
74 
76  void initDataDerived(const ipUInt64 nbInitData,
77  const ipUInt64 nbMainData,
78  const ipUInt64 nbFinalData,
79  const ipUInt64 nbRealFinalData,
80  const ipReal64 unAlignedValue);
81 
84  void prepareDataDerived(const ipUInt64 elementIdx);
85 
87  void updateToInitDataDerived();
88 
90  void updateToMainDataDerived();
91 
93  void updateToFinalDataDerived();
94 
96  void syncOutFinalDataDerived();
97 
99  void clearDerived();
100 
101 // attributes
102 protected:
104  typedef std::vector<RawYStrip2dParserPtr> RawYStrip2dParserColl;
105 
108 };
109 
112 
113 } // end of namespace imaproc
114 } // end of namespace ipsdk
115 
116 #pragma warning (pop)
117 
118 #endif // __IPSDKIMAGEPROCESSING_RAWYSTRIPUSERCOLOR2DPARSER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
boost::shared_ptr< RawYStrip2dParserType > RawYStrip2dParserPtr
shared pointer to raw y strip 2d data parser
Definition: RawYStripUserColor2dParser.h:47
BaseRawYStripColor2dParser< BaseStripAttributeClassType >::YStrip2dAttributeType YStrip2dAttributeType
associated y strip 2d attribute
Definition: RawYStripUserColor2dParser.h:41
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Concrete class for raw user color y strip 2d parsing.
Definition: BaseRawYStrip2dParser.h:35
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
std::vector< RawYStrip2dParserPtr > RawYStrip2dParserColl
collection of raw y strip 2d parser
Definition: RawYStripUserColor2dParser.h:104
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: BaseRawYStripColor2dParser.h:63
RawYStrip2dParser< T, YStrip2dAttributeType > RawYStrip2dParserType
raw y strip 2d data parser type
Definition: RawYStripUserColor2dParser.h:44
Concrete class for raw y strip 2d parsing.
Definition: RawYStrip2dParser.h:36
RawYStrip2dParserColl _rawYStrip2dParserColl
collection of raw y strip 2d parser associated to object
Definition: RawYStripUserColor2dParser.h:107