IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
CustomImageInitializer.h
1 // CustomImageInitializer.h:
3 // -------------------------
4 //
17 
18 #ifndef __IPSDKIMAGEPROCESSING_CUSTOMIMAGEINITIALIZER_H__
19 #define __IPSDKIMAGEPROCESSING_CUSTOMIMAGEINITIALIZER_H__
20 
21 // suppression warnings
22 // warning C4251: 'ipsdk::imaproc::CustomImageInitializer::_pCustomImageInfo' : class 'boost::shared_ptr<ipsdk::imaproc::BaseCustomImageInfo>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::CustomImageInitializer'
23 #pragma warning (push)
24 #pragma warning (disable : 4251)
25 
27 #include <IPSDKImageProcessing/OutputInitializer/Image/BaseImageInitializer.h>
30 
31 namespace ipsdk {
32 namespace imaproc {
33 
36 
37 template <typename OutputAttributeType>
39 {
40 // predefined public type
41 public:
43  static const eImageInitializerType::domain g_imageInitializerType = eImageInitializerType::eIIT_CustomInitialize;
44 
45 public:
51 
52 // methods
53 public:
56  {
57  return g_imageInitializerType;
58  }
59 
71  void init(const ImageAttributeWeakPtr& pOutputAttribute,
72  const CustomImageInfoPtr& pCustomImageInfo,
73  const eImageInitializerStoragePolicy& storagePolicy);
74  void init(const ImageAttributeWeakPtr& pOutputAttribute,
75  const CustomImageInfoPtr& pCustomImageInfo);
77 
78 protected:
81  BoolResult initAttribute();
82 
84  std::string createInitializerFormalString() const;
85 
87  std::string createInitializerEvaluatedString() const;
88 
89 // attributes
90 protected:
93 
96 };
97 
100 
101 } // end of namespace imaproc
102 } // end of namespace ipsdk
103 
104 #pragma warning (pop)
105 
106 #endif // __IPSDKIMAGEPROCESSING_CUSTOMIMAGEINITIALIZER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::weak_ptr< BaseImageAttribute > ImageAttributeWeakPtr
Definition: ImageAttributeTypes.h:37
Output initializer used to define output from parameters of a derived object.
Definition: ImageInitializerTypes.h:44
eImageInitializerType getImageInitializerType() const
retrieve image initializer type
Definition: CustomImageInitializer.h:55
eImageInitializerType
Enumerate describing output image initializer type.
Definition: ImageInitializerTypes.h:34
Definition of import/export macro for library.
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
eImageInitializerStoragePolicy
Enumerate describing image initializer storage policy.
Definition: ImageInitializerTypes.h:114
eImageInitializerStoragePolicy _imageInitializerStoragePolicy
flag indicating whether the output image is a memory, a disk image or if the output is inherited from...
Definition: CustomImageInitializer.h:95
Predefined types for image attributes management.
Base class for output image initializer.
Definition: BaseImageInitializer.h:28
CustomImageInfoPtr _pCustomImageInfo
object allowing to define image initialization rules
Definition: CustomImageInitializer.h:92
Predefined types for custom initializer image informations.
boost::shared_ptr< BaseCustomImageInfo > CustomImageInfoPtr
shared pointer to CustomImageInfo
Definition: CustomImageInfoTypes.h:26
Class allowing to initialize an output image from an object allowing to define output image propertie...
Definition: CustomImageInitializer.h:38