IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
PromoteUnaryImageInitializer.h
1 // PromoteUnaryImageInitializer.h:
3 // -------------------------------
4 //
18 
19 #ifndef __IPSDKIMAGEPROCESSING_PROMOTEUNARYIMAGEINITIALIZER_H__
20 #define __IPSDKIMAGEPROCESSING_PROMOTEUNARYIMAGEINITIALIZER_H__
21 
22 // suppression warnings
23 // warning C4251: 'ipsdk::imaproc::PromoteUnaryImageInitializer<InputAttributeType,OutputAttributeType>::_promoteUnaryType' : class 'ipsdk::imaproc::ePromoteUnaryType' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::PromoteUnaryImageInitializer<InputAttributeType,OutputAttributeType>'
24 #pragma warning (push)
25 #pragma warning (disable : 4251)
26 
28 #include <IPSDKImageProcessing/OutputInitializer/Image/BaseImageUnaryInitializer.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 
36 
37 template <typename InputAttributeType, typename OutputAttributeType>
38 class IPSDKIMAGEPROCESSING_API PromoteUnaryImageInitializer : public BaseImageUnaryInitializer<InputAttributeType, OutputAttributeType>
39 {
40 // predefined public type
41 public:
43  static const eImageInitializerType::domain g_imageInitializerType = eImageInitializerType::eIIT_PromoteUnary;
44 
45 public:
51 
52 // methods
53 public:
56  {
57  return g_imageInitializerType;
58  }
59 
67  void init(const boost::weak_ptr<OutputAttributeType>& pOutputAttribute,
68  const boost::weak_ptr<const InputAttributeType>& pInputAttribute,
69  const ePromoteUnaryType& promoteUnaryType);
70 
73  const ePromoteUnaryType& getPromoteUnaryType() const;
74 
75 protected:
78  BoolResult initAttribute();
79 
81  std::string createInitializerFormalString() const;
82 
84  std::string createInitializerEvaluatedString() const;
85 
86 // attributes
87 protected:
90 };
91 
94 
95 } // end of namespace imaproc
96 } // end of namespace ipsdk
97 
98 #pragma warning (pop)
99 
100 #endif // __IPSDKIMAGEPROCESSING_PROMOTEUNARYIMAGEINITIALIZER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
ePromoteUnaryType _promoteUnaryType
promote type used for output attribute initialization
Definition: PromoteUnaryImageInitializer.h:89
eImageInitializerType
Enumerate describing output image initializer type.
Definition: ImageInitializerTypes.h:34
Base class for output image initializer using a single image as input.
Definition: BaseImageUnaryInitializer.h:33
Definition of import/export macro for library.
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
ePromoteUnaryType
Enumerate describing promote unary output image initializer type.
Definition: ImageInitializerTypes.h:55
Output initializer used to promote an input image buffer type with respecting its size...
Definition: ImageInitializerTypes.h:40
Predefined types for image attributes management.
eImageInitializerType getImageInitializerType() const
retrieve image initializer type
Definition: PromoteUnaryImageInitializer.h:55
Class allowing to initialize an output image from an other image deducing output image buffer type fr...
Definition: PromoteUnaryImageInitializer.h:38