IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LineZStripUserColor3dParser.h
1 // LineZStripUserColor3dParser.h:
3 // ------------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_LINEZSTRIPUSERCOLOR3DPARSER_H__
16 #define __IPSDKIMAGEPROCESSING_LINEZSTRIPUSERCOLOR3DPARSER_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::LineZStripUserColor3dParser<T,BaseStripAttributeClassType>::_lineZStrip3dParserColl' : class 'std::vector<boost::shared_ptr<ipsdk::imaproc::LineZStrip3dParser<T,BaseLineYStripColor2dParser<BaseStripAttributeClassType>::ZStrip3dAttributeType>>>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::LineZStripUserColor3dParser<T,BaseStripAttributeClassType>'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineZStripColor3d/BaseLineZStripUserColor3dParser.h>
24 #include <vector>
25 
26 namespace ipsdk {
27 namespace imaproc {
28 
29 template <typename T, typename BaseStripAttributeClassType>
30 class LineZStrip3dParser;
31 
34 
35 template <typename T, typename BaseStripAttributeClassType>
37 {
38 // predefined public types
39 public:
42 
45 
47  typedef typename boost::shared_ptr<LineZStrip3dParserType> LineZStrip3dParserPtr;
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 
98 // attributes
99 protected:
101  typedef std::vector<LineZStrip3dParserPtr> LineZStrip3dParserColl;
102 
105 };
106 
109 
110 } // end of namespace imaproc
111 } // end of namespace ipsdk
112 
113 #pragma warning (pop)
114 
115 #endif // __IPSDKIMAGEPROCESSING_LINEZSTRIPUSERCOLOR3DPARSER_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
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
std::vector< LineZStrip3dParserPtr > LineZStrip3dParserColl
collection of line z strip 3d parser
Definition: LineZStripUserColor3dParser.h:101
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
LineZStrip3dParserColl _lineZStrip3dParserColl
collection of line z strip 3d parser associated to object
Definition: LineZStripUserColor3dParser.h:104
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for line user color z strip 3d parsing.
Definition: BaseLineZStripUserColor3dParser.h:27
BaseLineZStripColor3dParser< BaseStripAttributeClassType >::ZStrip3dAttributeType ZStrip3dAttributeType
associated y strip 2d attribute
Definition: LineZStripUserColor3dParser.h:41
Concrete class for z strip 3d parsed line by line.
Definition: BaseLineYStrip2dParser.h:38
LineZStrip3dParser< T, ZStrip3dAttributeType > LineZStrip3dParserType
line y strip 2d data parser type
Definition: LineZStripUserColor3dParser.h:44
Concrete class for line user color z strip 3d parsing.
Definition: LineZStripUserColor3dParser.h:36
boost::shared_ptr< LineZStrip3dParserType > LineZStrip3dParserPtr
shared pointer to line z strip 3d data parser
Definition: LineZStripUserColor3dParser.h:47