IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RuleMatchImageColorType.h
1 // RuleMatchImageColorType.h:
3 // --------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RULEMATCHIMAGECOLORTYPE_H__
16 #define __IPSDKIMAGEPROCESSING_RULEMATCHIMAGECOLORTYPE_H__
17 
18 // suppression of warnings
19 // warning C4251: 'ipsdk::imaproc::RuleMatchImageColorType::_colorTypeColl' : class 'ipsdk::image::eColorGeometryType' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::RuleMatchImageColorType'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Rule/Image/ImageProperty/BaseImagePropertyRule.h>
25 #include <set>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 
32 
34 {
35 // predefined public types
36 public:
38  typedef std::set<image::eColorGeometryType> ColorTypeColl;
39 
41  static const eImagePropertyRuleType::domain g_imagePropertyRuleType = eImagePropertyRuleType::eIPRT_MatchImageColorType;
42 
43 public:
49 
50 // methods
51 public:
53  eImagePropertyRuleType getImagePropertyRuleType() const;
54 
59  void init(const ImageAttributeConstWeakPtr& pAttribute,
60  const image::eColorGeometryType& colorGeometryType);
61  void init(const ImageAttributeConstWeakPtr& pAttribute,
62  const image::eColorGeometryType& colorGeometryType1,
63  const image::eColorGeometryType& colorGeometryType2);
64  void init(const ImageAttributeConstWeakPtr& pAttribute,
65  const image::eColorGeometryType& colorGeometryType1,
66  const image::eColorGeometryType& colorGeometryType2,
67  const image::eColorGeometryType& colorGeometryType3);
68  void init(const ImageAttributeConstWeakPtr& pAttribute,
69  const image::eColorGeometryType& colorGeometryType1,
70  const image::eColorGeometryType& colorGeometryType2,
71  const image::eColorGeometryType& colorGeometryType3,
72  const image::eColorGeometryType& colorGeometryType4);
74 
77  const ColorTypeColl& getColorTypeColl() const;
78 
79 protected:
81  bool testRule() const;
82 
84  std::string createRuleFormalString() const;
85 
87  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
88 
89 // attributes
90 protected:
93 };
94 
97 
100 {
102 }
103 
106 
107 } // end of namespace imaproc
108 } // end of namespace ipsdk
109 
110 #pragma warning (pop)
111 
112 #endif // __IPSDKIMAGEPROCESSING_RULEMATCHIMAGECOLORTYPE_H__
Predefined types for geometry component management.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
Rule allowing to check image color geometry.
Definition: RuleMatchImageColorType.h:33
static const eImagePropertyRuleType::domain g_imagePropertyRuleType
image processing rule type associated to rule
Definition: RuleMatchImageColorType.h:41
check image color type
Definition: ImagePropertyRuleTypes.h:38
eColorGeometryType
Color geometry type.
Definition: GeometryComponentTypes.h:45
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
ColorTypeColl _colorTypeColl
color geometry collection used for check
Definition: RuleMatchImageColorType.h:92
std::set< image::eColorGeometryType > ColorTypeColl
collection of color geometries
Definition: RuleMatchImageColorType.h:38
eImagePropertyRuleType getImagePropertyRuleType() const
get image property rule type
Definition: RuleMatchImageColorType.h:99
Base class for rules allowing to check property of an image attribute.
Definition: BaseImagePropertyRule.h:27
eImagePropertyRuleType
enumerate describing image property rule operation type
Definition: ImagePropertyRuleTypes.h:34
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53