16 #ifndef __IPSDKIMAGEPROCESSING_IMAGEBINARYMIXEDRULEOPERATORS_H__ 17 #define __IPSDKIMAGEPROCESSING_IMAGEBINARYMIXEDRULEOPERATORS_H__ 19 #include <IPSDKImageProcessing/Rule/Image/ImageBinaryMixed/RuleMatchLeafToImageRange.h> 20 #include <IPSDKImageProcessing/Rule/Image/ImageBinaryMixed/RuleMatchLeafToImageSize.h> 21 #include <IPSDKImageProcessing/Rule/Image/ImageBinaryMixed/RuleMatchValueToImageRange.h> 22 #include <IPSDKImageProcessing/Rule/Image/ImageBinaryMixed/RuleMatchValueToImageSize.h> 39 template <
typename LeafType,
typename LeafAttributeType>
44 const boost::shared_ptr<LeafAttributeType>& pLeafAttribute)
46 return matchSize<LeafType>(
50 boost::weak_ptr<LeafAttributeType>(pLeafAttribute));
52 template <
typename LeafType,
typename LeafAttributeType>
57 const boost::weak_ptr<LeafAttributeType>& pLeafAttribute)
59 typedef RuleMatchLeafToImageSize<LeafAttributeType, LeafType> RuleType;
60 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
61 pOutputRule->init(matchImageSizeType, matchImageSizeScale, pImageAttribute, pLeafAttribute);
68 template <
typename ValueAttributeType>
73 const boost::shared_ptr<ValueAttributeType>& pValueAttribute)
79 boost::weak_ptr<ValueAttributeType>(pValueAttribute));
81 template <
typename ValueAttributeType>
86 const boost::weak_ptr<ValueAttributeType>& pValueAttribute)
88 typedef RuleMatchValueToImageSize<ValueAttributeType> RuleType;
89 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
90 pOutputRule->init(matchImageSizeType, matchImageSizeScale, pImageAttribute, pValueAttribute);
110 template <
typename LeafType,
typename LeafAttributeType>
113 const boost::shared_ptr<LeafAttributeType>& pLeafAttribute)
116 boost::weak_ptr<LeafAttributeType>(pLeafAttribute));
118 template <
typename LeafType,
typename LeafAttributeType>
121 const boost::weak_ptr<LeafAttributeType>& pLeafAttribute)
124 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
125 pOutputRule->
init(pImageAttribute, pLeafAttribute);
134 template <
typename ValueAttributeType>
137 const boost::shared_ptr<ValueAttributeType>& pValueAttribute)
140 boost::weak_ptr<ValueAttributeType>(pValueAttribute));
142 template <
typename ValueAttributeType>
145 const boost::weak_ptr<ValueAttributeType>& pValueAttribute)
148 boost::shared_ptr<RuleType> pOutputRule = boost::make_shared<RuleType>();
149 pOutputRule->
init(pImageAttribute, pValueAttribute);
161 #endif // __IPSDKIMAGEPROCESSING_IMAGEBINARYMIXEDRULEOPERATORS_H__ eMatchImageSizeScale
enumerate used in comparison between scalar and image size, to determine whether scalar is compared t...
Definition: ImageBinaryMixedRuleTypes.h:59
processor::RulePtr matchImageRange(const ImageAttributeConstPtr &pImageAttribute, const boost::shared_ptr< LeafAttributeType > &pLeafAttribute)
functions allowing to check that a DataItem leaf value is inside an image buffer type value range ...
Definition: ImageBinaryMixedRuleOperators.h:112
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base operators used to combined rules.
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
void init(const ImageAttributeConstWeakPtr &pImageAttribute, const boost::weak_ptr< const AttributeType > &pValueAttribute)
initialization of object
Definition: RuleMatchLeafToImageRange.h:80
boost::shared_ptr< BaseRule > RulePtr
shared pointer to rule
Definition: RuleTypes.h:104
IPSDKIMAGEPROCESSING_API processor::RulePtr compatibleBufferType(const ImageAttributeConstWeakPtr &pImageAttribute, const IBTAttributeConstWeakPtr &pIBTAttribute)
function allowing to check that an image buffer type size is compatible with a given image buffer typ...
boost::shared_ptr< const BaseImageAttribute > ImageAttributeConstPtr
Definition: ImageAttributeTypes.h:32
Rule class allowing to check that a value is inside an image buffer type value range.
Definition: RuleMatchValueToImageRange.h:29
void init(const ImageAttributeConstWeakPtr &pImageAttribute, const boost::weak_ptr< const AttributeType > &pValueAttribute)
initialization of object
Definition: RuleMatchValueToImageRange.h:70
boost::weak_ptr< const BaseImageBufferTypeAttribute > IBTAttributeConstWeakPtr
Definition: ImageBufferTypeAttributeTypes.h:43
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
IPSDKIMAGEPROCESSING_API processor::RulePtr bufferType(const ImageAttributeConstWeakPtr &pImageAttribute, const IBTAttributeConstWeakPtr &pIBTAttribute)
function allowing to check that an image correspond to a given image buffer types attribute ...
IPSDKIMAGEPROCESSING_API processor::RulePtr matchBufferSize(const ImageAttributeConstWeakPtr &pImageAttribute, const IBTAttributeConstWeakPtr &pIBTAttribute)
function allowing to check that an image buffer type and a given image buffer types attribute have sa...
eMatchImageSizeType
enumerate describing image comparison on image size rule operation type
Definition: ImageRuleTypes.h:50
processor::RulePtr matchSize(const eMatchImageSizeType &matchImageSizeType, const eMatchImageSizeScale &matchImageSizeScale, const ImageAttributeConstWeakPtr &pImageAttribute, const boost::shared_ptr< LeafAttributeType > &pLeafAttribute)
function allowing to check that a DataItem leaf value is lower than or equals to image size on consid...
Definition: ImageBinaryMixedRuleOperators.h:41
Rule class allowing to check that a DataItem leaf value is inside an image buffer type value range...
Definition: RuleMatchLeafToImageRange.h:29