IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Border2dPolicy.h
1 // Border2dPolicy.h:
3 // -----------------
4 //
15 
16 #ifndef __IPSDKIMAGE_BORDER2DPOLICY_H__
17 #define __IPSDKIMAGE_BORDER2DPOLICY_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::image::Border2dPolicy::_border2dType' : class 'ipsdk::image::eBorder2dType' needs to have dll-interface to be used by clients of class 'ipsdk::image::Border2dPolicy'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
26 #include <IPSDKSerialization/Engine/BaseSerializationObject.h>
27 
28 namespace ipsdk {
29 namespace image {
30 
33 
35 {
36  // declare serial class
38 
39 public:
43  ~Border2dPolicy();
45 
46 // methods
47 public:
49  bool isInit() const;
50 
54  const eBorder2dType& getBorder2dType() const;
55 
56  //-----------------------------
59  //-----------------------------
60 
63  void initValued(const ipReal64 fillValue);
64 
67  void initValuedMax();
68 
71  void initValuedMin();
72 
74  void initContinue();
75 
77  void initMiror();
78 
82  void initLinearContinue(const ipReal64 theta);
83 
87  void initLinearMiror(const ipReal64 theta);
89 
90  //----------------------------
93  //----------------------------
94 
98  const eValuedBorder2dType& getValuedBorderType() const;
99 
103  ipReal64 getFillValue() const;
104 
111  ipReal64 getTheta() const;
113 
115  void clear();
116 
117 // attributes
118 protected:
121 
124 
127 
132 
134  bool _bInit;
135 };
136 
139 
140 inline bool
142 {
143  return _bInit;
144 }
145 
148 
149 } // end of namespace image
150 } // end of namespace ipsdk
151 
152 #pragma warning (pop)
153 
154 #endif // __IPSDKIMAGE_BORDER2DPOLICY_H__
#define IPSDK_DECLARE_SERIAL_WITH_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:73
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eValuedBorder2dType _valuedBorderType
valued border used value type
Definition: Border2dPolicy.h:123
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
ipReal64 _fillValue
value used for continue border policy
Definition: Border2dPolicy.h:126
ipReal64 _theta
angle used for linear border policy operation. See Rotations 2d for more informations about angle con...
Definition: Border2dPolicy.h:131
Class used to define policy for 2d strip borders management during a kernel algorithm processing...
Definition: Border2dPolicy.h:34
Predefined types for border 2d policy management.
Definition of import/export macro for library.
eValuedBorder2dType
Enumerate describing valued border 2d used value type.
Definition: Border2dPolicyTypes.h:56
#define IPSDKIMAGE_API
Import/Export macro for library IPSDKImage.
Definition: IPSDKImageExports.h:27
eBorder2dType
Enumerate describing image data preparator 2d border type.
Definition: Border2dPolicyTypes.h:35
eBorder2dType _border2dType
2d border type
Definition: Border2dPolicy.h:120
Base class for serializable class.
Definition: BaseSerializationObject.h:33
bool isInit() const
check for object initialization
Definition: Border2dPolicy.h:141
bool _bInit
object initialization flag
Definition: Border2dPolicy.h:134