IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseRuleMatchImageRange.h
1 // BaseRuleMatchImageRange.h:
3 // --------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASERULEMATCHIMAGERANGE_H__
17 #define __IPSDKIMAGEPROCESSING_BASERULEMATCHIMAGERANGE_H__
18 
19 #include <IPSDKImageProcessing/Rule/Image/ImageBinaryMixed/BaseImageBinaryMixedRule.h>
20 
21 namespace ipsdk {
22 namespace imaproc {
23 
26 
28 {
29 // predefined public type
30 public:
32  static const eImageBinaryMixedRuleType::domain g_imageBinaryMixedRuleType = eImageBinaryMixedRuleType::eIBMRT_ImageRange;
33 
34 public:
38  virtual ~BaseRuleMatchImageRange() = 0;
40 
41 // methods
42 public:
44  eImageBinaryMixedRuleType getImageBinaryMixedRuleType() const;
45 
46 protected:
48  void initBase(const ImageAttributeConstWeakPtr& pImageAttribute,
49  const processor::AttributeConstWeakPtr& pValueAttribute);
50 
52  virtual ipReal64 retrieveValue() const = 0;
53 
55  virtual std::string retrieveValueAttributeName() const = 0;
56 
57 private:
59  bool testRule() const;
60 
62  std::string createRuleFormalString() const;
63 
65  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
66 
67 // attributes
68 protected:
69 
70 };
71 
74 
77 {
79 }
80 
83 
84 } // end of namespace imaproc
85 } // end of namespace ipsdk
86 
87 #endif // __IPSDKIMAGEPROCESSING_BASERULEMATCHIMAGERANGE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
static const eImageBinaryMixedRuleType::domain g_imageBinaryMixedRuleType
image processing rule type associated to rule
Definition: BaseRuleMatchImageRange.h:32
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
eImageBinaryMixedRuleType getImageBinaryMixedRuleType() const
retrieve image binary mixed rule operation type
Definition: BaseRuleMatchImageRange.h:76
eImageBinaryMixedRuleType
enumerate describing image binary mixed rule operation type
Definition: ImageBinaryMixedRuleTypes.h:35
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 inside an image buffer type value range...
Definition: BaseRuleMatchImageRange.h:27
boost::weak_ptr< const BaseAttribute > AttributeConstWeakPtr
weak pointer to const attribute object
Definition: AttributeTypes.h:61
check whether a value match an image buffer type value range
Definition: ImageBinaryMixedRuleTypes.h:37
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53