15 #ifndef __IPSDKIMAGEPROCESSING_SUBIMAGESPLIT_H__ 16 #define __IPSDKIMAGEPROCESSING_SUBIMAGESPLIT_H__ 18 #include <IPSDKImageProcessing/DataSplit/SubImage/BaseSubImageSplit.h> 19 #include <boost/mpl/if.hpp> 27 template <
typename TProcessor,
typename TAttribute>
97 template <
typename TProcessor,
typename TAttribute>
98 inline const std::string&
101 return TAttribute::getObjectNameStr();
104 template <
typename TProcessor,
typename TAttribute>
105 inline const std::string&
108 return TAttribute::getToolTipStr();
111 template <
typename TProcessor,
typename TAttribute>
120 this->initBase(subImageSplitType,
121 volumeParsingType, colorParsingType, temporalParsingType,
125 template <
typename TProcessor,
typename TAttribute>
131 this->initBase(subImageSplitType, pImage);
134 template <
typename TProcessor,
typename TAttribute>
140 "This attribute is not part of processor class");
142 return dynamic_cast<const TProcessor*
>(&processor) != 0;
145 template <
typename TProcessor,
typename TAttribute>
152 TProcessor& tProcessor =
static_cast<TProcessor&
>(processor);
156 BoolResult bGetSubImageRes = this->getSubImage(elementIdx, pSubImage);
157 if (bGetSubImageRes ==
true) {
160 tProcessor.TProcessor::template set<TAttribute>(pSubImage);
165 return bGetSubImageRes;
174 #endif // __IPSDKIMAGEPROCESSING_SUBIMAGESPLIT_H__ Class allowing to encapsulate a typed process result associated to a string description.
Definition: ProcessingResult.h:28
eSubImageSplitType
Enumerate describing sub image geometry split type.
Definition: SubImageSplitTypes.h:32
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
TProcessor ProcessorType
processor type associated to object
Definition: SubImageSplit.h:33
TAttribute::StorageType OutputStorageType
output data type for split operation
Definition: SubImageSplit.h:42
TAttribute AttributeType
attribute type associated to object
Definition: SubImageSplit.h:36
eVolumeParsingType
Enumerate describing geometry volume(z) parsing type.
Definition: SubImageSplitTypes.h:58
BoolResult processAttribute(processor::BaseProcessor &processor, const ipUInt32 elementIdx, const core::BaseRequestOrigin &requestOrigin)
initialize processor attribute associate to split operation for a given element index ...
Definition: SubImageSplit.h:147
Base class for processor class.
Definition: BaseProcessor.h:43
structure allowing to check whether a given attribute exists in attribute collection information ...
Definition: AttributeCollInfoCheckMacros.h:131
const std::string & getAttributeName() const
retrieve attribute name associated to split operation
Definition: SubImageSplit.h:99
bool checkProcessorType(const processor::BaseProcessor &processor)
check processor type in derived class
Definition: SubImageSplit.h:136
Template class used to split image into sub images for data dispatch.
Definition: SubImageSplit.h:28
eTemporalParsingType
Enumerate describing geometry temporal(t) parsing type.
Definition: SubImageSplitTypes.h:86
const std::string & getAttributeToolTip() const
retrieve attribute tooltip associated to split operation
Definition: SubImageSplit.h:106
TAttribute::StorageType InputStorageType
input data type for split operation
Definition: SubImageSplit.h:39
Base class for request origin description.
Definition: BaseRequestOrigin.h:28
void init(const eSubImageSplitType &subImageSplitType, const eVolumeParsingType &volumeParsingType, const eColorParsingType &colorParsingType, const eTemporalParsingType &temporalParsingType, const InputStorageType &pImage)
initialization method for splitted objects
Definition: SubImageSplit.h:113
eColorParsingType
Enumerate describing geometry color(c) parsing type.
Definition: SubImageSplitTypes.h:72
Base class used to split image into sub images for data dispatch.
Definition: BaseSubImageSplit.h:36
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53