IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
LineYStrip2dWithKernelParser.h
1 // LineYStrip2dWithKernelParser.h:
3 // -------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_LINEYSTRIP2DWITHKERNELPARSER_H__
17 #define __IPSDKIMAGEPROCESSING_LINEYSTRIP2DWITHKERNELPARSER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::LineYStrip2dWithKernelParser<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::LineYStrip2dWithKernelParser<T,BaseStripAttributeClassType>'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineYStrip2dWithKernel/BaseLineYStrip2dWithKernelParser.h>
25 #include <IPSDKImageProcessing/Algorithm/Parser/Strip/LineYStrip2dWithKernel/Info/LineYStrip2dWithKernelParserInfo.h>
26 #include <boost/shared_ptr.hpp>
27 
28 namespace ipsdk {
29 namespace imaproc {
30 
31 template <typename T>
32 class BaseBorderYStrip2d;
33 
36 
37 template <typename T, typename BaseStripAttributeClassType>
39 {
40 // predefined public types
41 public:
43  typedef boost::shared_ptr<BaseBorderYStrip2d<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_LINEYSTRIP2DWITHKERNELPARSER_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
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Concrete class for y strip 2d parsed line by line and associated to a kernel.
Definition: LineYStrip2dWithKernelParser.h:38
LineYStrip2dWithKernelParserInfo< T > _info
information structure for processing
Definition: LineYStrip2dWithKernelParser.h:77
boost::shared_ptr< BaseBorderYStrip2d< T > > Border2dPtr
shared pointer to BaseBorder2d
Definition: LineYStrip2dWithKernelParser.h:43
Base class for y strip 2d parsed line by line and associated to a kernel.
Definition: BaseLineYStrip2dWithKernelParser.h:37
Border2dPtr _pBorder2d
border manager associated to object
Definition: LineYStrip2dWithKernelParser.h:80
Information structure for y strip 2d with kernel data parsing.
Definition: BaseBorderYStrip2d.h:34