IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
BorderPolicyAttributeHdrMacros.h File Reference

Header part of macros set for border policy attributes class declaration. More...

#include <IPSDKImageProcessing/IPSDKImageProcessingExports.h>
#include <IPSDKBaseProcessing/Attribute/Base/AttributeHdrMacros.h>
#include <IPSDKImageProcessing/Attribute/BorderPolicy/BaseBorder2dPolicyAttribute.h>
#include <IPSDKImageProcessing/Attribute/BorderPolicy/BaseBorder3dPolicyAttribute.h>
#include <IPSDKBaseProcessing/Rule/RuleOperators.h>
#include <boost/thread/lock_guard.hpp>
#include <boost/smart_ptr/make_shared_object.hpp>

Go to the source code of this file.

Macros

#define IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY(libraryName, className, baseClassName, RuleString)
 [Internal] macro allowing to declare a border policy attribute body concrete class More...
 
#define IPSDK_DECLARE_INPUT_BORDER2D_POLICY_ATTRIBUTE(libraryName, className, RuleString)
 macros allowing to declare an input 2d border policy attribute concrete class More...
 
#define IPSDK_DECLARE_INPUT_BORDER3D_POLICY_ATTRIBUTE(libraryName, className, RuleString)
 macros allowing to declare an input 3d border policy attribute concrete class More...
 
#define IPSDK_DECLARE_INPUT_OPTIONAL_BORDER2D_POLICY_ATTRIBUTE(libraryName, className, RuleString, defaultValue)
 macros allowing to declare an optional input border 2d policy attribute concrete class More...
 
#define IPSDK_DECLARE_INPUT_OPTIONAL_BORDER3D_POLICY_ATTRIBUTE(libraryName, className, RuleString, defaultValue)
 macros allowing to declare an optional input border 3d policy attribute concrete class More...
 

Detailed Description

Header part of macros set for border policy attributes class declaration.

Author
E. Noirfalise
Date
2014/07/09

Macro Definition Documentation

◆ IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY

#define IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY (   libraryName,
  className,
  baseClassName,
  RuleString 
)
Value:
IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
IPSDK_DECLARE_TOOLTIP() \
IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
public: \
typedef baseClassName BaseBorderPolicyAttributeClassType; \
protected: \
className(); \
public: \
~className(); \
public: \
void init(const ValueType& borderPolicy); \
void init(const StorageType& pBorderPolicy);
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79

[Internal] macro allowing to declare a border policy attribute body concrete class

◆ IPSDK_DECLARE_INPUT_BORDER2D_POLICY_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_BORDER2D_POLICY_ATTRIBUTE (   libraryName,
  className,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY(libraryName, className, \
RuleString) \
IPSDK_DECLARE_MANDATORY_DATA(); \
};
Base class for attributes allowing to define a policy for 3d strip borders preparation during a kerne...
Definition: BaseBorder2dPolicyAttribute.h:34

macros allowing to declare an input 2d border policy attribute concrete class

◆ IPSDK_DECLARE_INPUT_BORDER3D_POLICY_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_BORDER3D_POLICY_ATTRIBUTE (   libraryName,
  className,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY(libraryName, className, \
RuleString) \
IPSDK_DECLARE_MANDATORY_DATA(); \
};
Base class for attributes allowing to define a policy for 3d strip borders preparation during a kerne...
Definition: BaseBorder3dPolicyAttribute.h:34

macros allowing to declare an input 3d border policy attribute concrete class

◆ IPSDK_DECLARE_INPUT_OPTIONAL_BORDER2D_POLICY_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_OPTIONAL_BORDER2D_POLICY_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  defaultValue 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY(libraryName, className, \
RuleString) \
IPSDK_DECLARE_OPTIONAL_DATA(); \
public: \
inline const ValueType& getDefaultValue() const \
{ \
return *retrieveDefaultValue(); \
} \
protected: \
static inline StorageType retrieveDefaultValue() \
{ \
boost::lock_guard<boost::mutex> lock(getMutex()); \
static StorageType pDefaultValue = defaultValue; \
return pDefaultValue; \
} \
};
static boost::mutex & getMutex()
retrieve mutex associated to class
Base class for attributes allowing to define a policy for 3d strip borders preparation during a kerne...
Definition: BaseBorder2dPolicyAttribute.h:34

macros allowing to declare an optional input border 2d policy attribute concrete class

◆ IPSDK_DECLARE_INPUT_OPTIONAL_BORDER3D_POLICY_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_OPTIONAL_BORDER3D_POLICY_ATTRIBUTE (   libraryName,
  className,
  RuleString,
  defaultValue 
)
Value:
class IPSDK_LIB_API(libraryName) className : \
IPSDK_DECLARE_BORDER_POLICY_ATTRIBUTE_BODY(libraryName, className, \
RuleString) \
IPSDK_DECLARE_OPTIONAL_DATA(); \
public: \
inline const ValueType& getDefaultValue() const \
{ \
return *retrieveDefaultValue(); \
} \
protected: \
static inline StorageType retrieveDefaultValue() \
{ \
boost::lock_guard<boost::mutex> lock(getMutex()); \
static StorageType pDefaultValue = defaultValue; \
return pDefaultValue; \
} \
};
Base class for attributes allowing to define a policy for 3d strip borders preparation during a kerne...
Definition: BaseBorder3dPolicyAttribute.h:34
static boost::mutex & getMutex()
retrieve mutex associated to class

macros allowing to declare an optional input border 3d policy attribute concrete class