IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseRuleMatchScalarToImageSize.h
1 // BaseRuleMatchScalarToImageSize.h:
3 // --------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASERULEMATCHSCALARTOIMAGESIZE_H__
16 #define __IPSDKIMAGEPROCESSING_BASERULEMATCHSCALARTOIMAGESIZE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::RuleMatchImageSize::_matchImageSizeType' : class 'ipsdk::imaproc::eMatchImageSizeType' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::RuleMatchImageSize'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Rule/Image/ImageBinaryMixed/BaseImageBinaryMixedRule.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 
30 
32 {
33 // predefined public type
34 public:
36  static const eImageBinaryMixedRuleType::domain g_imageBinaryMixedRuleType = eImageBinaryMixedRuleType::eIBMRT_ImageSize;
37 
38 public:
42  virtual ~BaseRuleMatchScalarToImageSize() = 0;
44 
45 // methods
46 public:
48  eImageBinaryMixedRuleType getImageBinaryMixedRuleType() const;
49 
50 protected:
52  void initBase(const ImageAttributeConstWeakPtr& pImageAttribute,
53  const processor::AttributeConstWeakPtr& pValueAttribute);
54 
56  virtual ipReal64 retrieveValue() const = 0;
57 
59  virtual std::string retrieveValueAttributeName() const = 0;
60 
61 private:
63  bool testRule() const;
64 
66  std::string createRuleFormalString() const;
67 
69  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
70 
71 // attributes
72 protected:
75 
78 };
79 
82 
85 {
87 }
88 
91 
92 } // end of namespace imaproc
93 } // end of namespace ipsdk
94 
95 #pragma warning (pop)
96 
97 #endif // __IPSDKIMAGEPROCESSING_BASERULEMATCHSCALARTOIMAGESIZE_H__
eMatchImageSizeScale
enumerate used in comparison between scalar and image size, to determine whether scalar is compared t...
Definition: ImageBinaryMixedRuleTypes.h:59
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eImageBinaryMixedRuleType getImageBinaryMixedRuleType() const
retrieve image binary mixed rule operation type
Definition: BaseRuleMatchScalarToImageSize.h:84
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
eMatchImageSizeScale _matchImageSizeScale
image size scale checked
Definition: BaseRuleMatchScalarToImageSize.h:77
eImageBinaryMixedRuleType
enumerate describing image binary mixed rule operation type
Definition: ImageBinaryMixedRuleTypes.h:35
check whether a value is lower than the smallest dimension of an image
Definition: ImageBinaryMixedRuleTypes.h:39
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for rules allowing to match properties of an image attribute with an other attribute...
Definition: BaseImageBinaryMixedRule.h:29
Base class for rules allowing to check that a value is lower than the smallest dimension of an image...
Definition: BaseRuleMatchScalarToImageSize.h:31
eMatchImageSizeType
enumerate describing image comparison on image size rule operation type
Definition: ImageRuleTypes.h:50
static const eImageBinaryMixedRuleType::domain g_imageBinaryMixedRuleType
image processing rule type associated to rule
Definition: BaseRuleMatchScalarToImageSize.h:36
boost::weak_ptr< const BaseAttribute > AttributeConstWeakPtr
weak pointer to const attribute object
Definition: AttributeTypes.h:61
eMatchImageSizeType _matchImageSizeType
image size coordinates checked
Definition: BaseRuleMatchScalarToImageSize.h:74
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53