IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseImageFormulaAttribute.h
1 // BaseImageFormulaAttribute.h:
3 // ----------------------------
4 //
14 
15 #ifndef __IPSDKIMAGEPROCESSING_BASEIMAGEFORMULAATTRIBUTE_H__
16 #define __IPSDKIMAGEPROCESSING_BASEIMAGEFORMULAATTRIBUTE_H__
17 
18 // suppression warnings
19 // warning C4251: 'ipsdk::imaproc::BaseImageFormulaAttribute::_pImageFormulaManager' : class 'boost::shared_ptr<ipsdk::image::tools::ImageFormulaManager>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseImageFormulaAttribute'
20 #pragma warning (push)
21 #pragma warning (disable : 4251)
22 
23 #include <IPSDKImageProcessing/Attribute/Formula/BaseFormulaAttribute.h>
25 
26 namespace ipsdk {
27 namespace imaproc {
28 
31 
33 {
34  // declare serial class
36 
37 // predefined public types
38 public:
40  static const eFormulaAttributeType::domain g_formulaAttributeType = eFormulaAttributeType::eFAT_Image;
41 
43  static const bool g_hasValueInit = true;
44 
47 
48 protected:
51 
52 public:
54  virtual ~BaseImageFormulaAttribute() = 0;
55 
56 // methods
57 public:
59  eFormulaAttributeType getFormulaAttributeType() const;
60 
62  virtual ipsdk::image::tools::eImageFormulaImageType getImageFormulaImageType() const = 0;
63 
65  void init(const std::string& formulaStr);
66 
72  void init(const StorageType& pImageFormulaManager);
73 
77  StorageType getStorage() const;
78 
82  bool isValidated() const;
83 
88  BoolResult validateFormula() const;
89 
93  const ipsdk::image::tools::ImageFormulaManager& getImageFormulaManager() const;
94 
95 protected:
97  void clearDerived();
98 
99 // attributes
100 protected:
103 };
104 
107 
110 {
111  return g_formulaAttributeType;
112 }
113 
116 
117 } // end of namespace imaproc
118 } // end of namespace ipsdk
119 
120 #pragma warning (pop)
121 
122 #endif // __IPSDKIMAGEPROCESSING_BASEIMAGEFORMULAATTRIBUTE_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
boost::shared_ptr< ImageFormulaManager > ImageFormulaManagerPtr
Definition: ImageFormulaTypes.h:359
Base class for image formula attributes.
Definition: BaseImageFormulaAttribute.h:32
ipsdk::image::tools::ImageFormulaManagerPtr _pImageFormulaManager
shared pointer to formula data manager
Definition: BaseImageFormulaAttribute.h:102
#define IPSDK_DECLARE_ABSTRACT_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on abstract class
Definition: SerializationHdrMacro.h:97
ipsdk::image::tools::ImageFormulaManagerConstPtr StorageType
storage type for attribute familly
Definition: BaseImageFormulaAttribute.h:46
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
boost::shared_ptr< const ImageFormulaManager > ImageFormulaManagerConstPtr
Definition: ImageFormulaTypes.h:360
static const eFormulaAttributeType::domain g_formulaAttributeType
image processing attribute type
Definition: BaseImageFormulaAttribute.h:40
eFormulaAttributeType
Enumerate describing formula attribute type.
Definition: FormulaAttributeTypes.h:34
Formula attribute is associated to an image generation.
Definition: FormulaAttributeTypes.h:38
Base class for formula attributes.
Definition: BaseFormulaAttribute.h:32
eImageFormulaImageType
Enumerate describing image formula image type.
Definition: ImageFormulaTypes.h:52
eFormulaAttributeType getFormulaAttributeType() const
retrieve formula attribute type
Definition: BaseImageFormulaAttribute.h:109
Predefined types for image formula management.