15 #ifndef __IPSDKIMAGEPROCESSING_CUDASUBIMAGESPLIT_H__ 16 #define __IPSDKIMAGEPROCESSING_CUDASUBIMAGESPLIT_H__ 20 #pragma warning (push) 21 #pragma warning (disable : 4251) 24 #include <IPSDKImageProcessing/DataSplit/SubImage/BaseCudaSubImageSplit.h> 27 #include <IPSDKUtil/Tools/ProcessingResult.h> 35 template <
typename TProcessor,
typename TAttribute>
99 template <
typename TProcessor,
typename TAttribute>
100 inline const std::string&
103 return TAttribute::getObjectNameStr();
106 template <
typename TProcessor,
typename TAttribute>
107 inline const std::string&
110 return TAttribute::getToolTipStr();
123 template <
typename TProcessor,
typename TAttribute>
129 this->initBase(subImageSplitType, pImage);
132 template <
typename TProcessor,
typename TAttribute>
138 "This attribute is not part of processor class");
140 return dynamic_cast<const TProcessor*
>(&processor) != 0;
143 template <
typename TProcessor,
typename TAttribute>
150 TProcessor& tProcessor =
static_cast<TProcessor&
>(processor);
154 BoolResult bGetSubImageRes = this->getSubImage(elementIdx, pSubImage);
155 if (bGetSubImageRes ==
true) {
158 tProcessor.TProcessor::template set<TAttribute>(pSubImage);
163 return bGetSubImageRes;
169 #pragma warning (pop) 171 #endif // __IPSDKIMAGEPROCESSING_CUDASUBIMAGESPLIT_H__ bool checkProcessorType(const processor::BaseProcessor &processor)
check processor type in derived class
Definition: CudaSubImageSplit.h:134
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
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
TProcessor ProcessorType
processor type associated to object
Definition: CudaSubImageSplit.h:41
void init(const eSubImageSplitType &subImageSplitType, const ipUInt64 nbDevices, const InputStorageType &pImage)
initialization method for splitted objects
Predefined types for sub image split operations.
TAttribute::StorageType InputStorageType
input data type for split operation
Definition: CudaSubImageSplit.h:47
Definition of import/export macro for library.
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: CudaSubImageSplit.h:145
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: CudaSubImageSplit.h:101
TAttribute::StorageType OutputStorageType
output data type for split operation
Definition: CudaSubImageSplit.h:50
const std::string & getAttributeToolTip() const
retrieve attribute tooltip associated to split operation
Definition: CudaSubImageSplit.h:108
Base class for request origin description.
Definition: BaseRequestOrigin.h:28
Base class used to split image into sub images for data dispatch on NVIdia graphic cards...
Definition: BaseCudaSubImageSplit.h:37
Class used to split image into sub images for data dispatch on NVidia graphic cards.
Definition: CudaSubImageSplit.h:36
Predefined type for image management.
TAttribute AttributeType
attribute type associated to object
Definition: CudaSubImageSplit.h:44
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53