IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
RuleShapeMeasureSetVolumePolicy.h
1 // RuleShapeMeasureSetVolumePolicy.h:
3 // ----------------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_RULESHAPEMEASURESETVOLUMEPOLICY_H__
16 #define __IPSDKIMAGEPROCESSING_RULESHAPEMEASURESETVOLUMEPOLICY_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::RuleShapeMeasureSetVolumePolicy::_msrVolumePolicy' : class 'ipsdk::shape::analysis::eMsrVolumePolicy' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::RuleShapeMeasureSetVolumePolicy'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Rule/ShapeMeasureSet/BaseShapeMeasureSetRule.h>
24 
25 namespace ipsdk {
26 namespace imaproc {
27 
30 
32 {
33 public:
39 
40 // methods
41 public:
43  eSMSRuleType getSMSRuleType() const;
44 
48  void init(const ShapeMeasureSetAttributeConstWeakPtr& pAttribute,
49  const shape::analysis::eMsrVolumePolicy& msrVolumePolicy);
50 
53  const shape::analysis::eMsrVolumePolicy& getMsrVolumePolicy() const;
54 
55 protected:
57  bool testRule() const;
58 
60  std::string createRuleFormalString() const;
61 
63  std::string createRuleEvaluatedString(const ipUInt32 increment) const;
64 
65 // attributes
66 protected:
69 };
70 
73 
74 inline eSMSRuleType
76 {
78 }
79 
82 
83 } // end of namespace imaproc
84 } // end of namespace ipsdk
85 
86 #pragma warning (pop)
87 
88 #endif // __IPSDKIMAGEPROCESSING_RULESHAPEMEASURESETVOLUMEPOLICY_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
eMsrVolumePolicy
Enumerate describing measure volume policy.
Definition: MeasureInfoTypes.h:60
eSMSRuleType getSMSRuleType() const
get shape measure set rule type
Definition: RuleShapeMeasureSetVolumePolicy.h:75
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for rules allowing to check shape measure set properties.
Definition: BaseShapeMeasureSetRule.h:28
Rule allowing to check shape measure set volume policy property.
Definition: RuleShapeMeasureSetVolumePolicy.h:31
shape::analysis::eMsrVolumePolicy _msrVolumePolicy
expected shape measure volume policy for attribute
Definition: RuleShapeMeasureSetVolumePolicy.h:68
check measure set volume policy
Definition: ShapeMeasureSetRuleTypes.h:35
boost::weak_ptr< const BaseShapeMeasureSetAttribute > ShapeMeasureSetAttributeConstWeakPtr
Definition: ShapeMeasureSetAttributeTypes.h:40
eSMSRuleType
enumerate describing shape measure set rule operation type
Definition: ShapeMeasureSetRuleTypes.h:33
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53