IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LineXStrip2dWithKernelParser.h
1 // LineXStrip2dWithKernelParser.h:
3 // -------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_LINEXSTRIP2DWITHKERNELPARSER_H__
17 #define __IPSDKIMAGEPROCESSING_LINEXSTRIP2DWITHKERNELPARSER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::LineXStrip2dWithKernelParser<T,BaseStripAttributeClassType>::_pBorder2d' : class 'boost::shared_ptr<ipsdk::imaproc::BaseBorder2d<T>>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::LineXStrip2dWithKernelParser<T,BaseStripAttributeClassType>'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineXStrip2dWithKernel/BaseLineXStrip2dWithKernelParser.h>
25 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineXStrip2dWithKernel/Info/LineXStrip2dWithKernelParserInfo.h>
26 #include <boost/shared_ptr.hpp>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 
31 template <typename T>
32 class BaseBorderXStrip2d;
33 
36 
37 template <typename T, typename BaseStripAttributeClassType>
39 {
40 // predefined public types
41 public:
43  typedef boost::shared_ptr<BaseBorderXStrip2d<T> > Border2dPtr;
44 
45 public:
51 
52 // methods
53 public:
54 
55 private:
57  void initDataDerived(const ipUInt64 nbInitData,
58  const ipUInt64 nbMainData,
59  const ipUInt64 nbFinalData,
60  const ipUInt64 nbRealFinalData,
61  const ipReal64 unAlignedValue);
62 
65  void prepareDataDerived(const ipUInt64 elementIdx);
66 
68  void prepareRow(const ipUInt64 knlRowIdx,
69  const ipUInt64 stripRowIdx);
70 
72  void createBorder2d();
73 
74 // attributes
75 protected:
78 
81 };
82 
85 
86 } // end of namespace imaproc
87 } // end of namespace ipsdk
88 
89 #pragma warning (pop)
90 
91 #endif // __IPSDKIMAGEPROCESSING_LINEXSTRIP2DWITHKERNELPARSER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for x strip 2d parsed line by line and associated to a kernel.
Definition: BaseLineXStrip2dWithKernelParser.h:37
Border2dPtr _pBorder2d
border manager associated to object
Definition: LineXStrip2dWithKernelParser.h:80
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
LineXStrip2dWithKernelParserInfo< T > _info
information structure for processing
Definition: LineXStrip2dWithKernelParser.h:77
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Information structure for x strip 2d with kernel data parsing.
Definition: BaseBorderXStrip2d.h:34
boost::shared_ptr< BaseBorderXStrip2d< T > > Border2dPtr
shared pointer to BaseBorder2d
Definition: LineXStrip2dWithKernelParser.h:43
Concrete class for x strip 2d parsed line by line and associated to a kernel.
Definition: LineXStrip2dWithKernelParser.h:38