IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RuleAllowedImageType.h
1 // RuleAllowedImageType.h:
3 // -----------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RULEALLOWEDIMAGETYPE_H__
16 #define __IPSDKIMAGEPROCESSING_RULEALLOWEDIMAGETYPE_H__
17 
18 // suppression of warnings
19 // warning C4251: 'ipsdk::imaproc::RuleAllowedImageType::_typeColl' : class 'std::set<_Kty>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::RuleAllowedImageType'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Rule/Image/ImageProperty/BaseImagePropertyRule.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 
30 
32 {
33 // predefined public type
34 public:
36  static const eImagePropertyRuleType::domain g_imagePropertyRuleType = eImagePropertyRuleType::eIPRT_AllowedType;
37 
38  typedef std::set<image::eImageType> ImageTypeColl;
39 
40 public:
46 
47 // methods
48 public:
50  eImagePropertyRuleType getImagePropertyRuleType() const;
51 
56  void init(const ImageAttributeConstWeakPtr& pAttribute,
57  const image::eImageType& type0);
58  void init(const ImageAttributeConstWeakPtr& pAttribute,
59  const image::eImageType& type0,
60  const image::eImageType& type1);
61  void init(const ImageAttributeConstWeakPtr& pAttribute,
62  const image::eImageType& type0,
63  const image::eImageType& type1,
64  const image::eImageType& type2);
65  void init(const ImageAttributeConstWeakPtr& pAttribute,
66  const image::eImageType& type0,
67  const image::eImageType& type1,
68  const image::eImageType& type2,
69  const image::eImageType& type3);
71 
74  const ImageTypeColl& getImageTypeColl() const;
75 
76 protected:
78  bool testRule() const;
79 
81  std::string createRuleFormalString() const;
82 
84  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
85 
86 // attributes
87 protected:
89  ImageTypeColl _typeColl;
90 };
91 
94 
97 {
99 }
100 
103 
104 } // end of namespace imaproc
105 } // end of namespace ipsdk
106 
107 #pragma warning (pop)
108 
109 #endif // __IPSDKIMAGEPROCESSING_RULEALLOWEDIMAGETYPE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Rule allowing to check allowed image type for an attribute.
Definition: RuleAllowedImageType.h:31
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
ImageTypeColl _typeColl
collection of allowed types
Definition: RuleAllowedImageType.h:89
static const eImagePropertyRuleType::domain g_imagePropertyRuleType
image processing rule type associated to rule
Definition: RuleAllowedImageType.h:36
eImagePropertyRuleType getImagePropertyRuleType() const
get image property rule type
Definition: RuleAllowedImageType.h:96
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
eImageType
Enumerate describing image type.
Definition: ImageTypes.h:58
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
check image allowed types
Definition: ImagePropertyRuleTypes.h:46
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53