IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseFromImagePlanIndexedInitializer.h
1 // BaseFromImagePlanIndexedInitializer.h:
3 // --------------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASEFROMIMAGEPLANINDEXEDINITIALIZER_H__
17 #define __IPSDKIMAGEPROCESSING_BASEFROMIMAGEPLANINDEXEDINITIALIZER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::BaseFromImagePlanIndexedInitializer::_pInputImageAttribute' : class 'boost::weak_ptr<T>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseFromImagePlanIndexedInitializer'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/OutputInitializer/PlanIndexed/BasePlanIndexedInitializer.h>
26 
27 namespace ipsdk {
28 namespace imaproc {
29 
32 
34 {
35 // predefined public type
36 public:
38  static const ePlanIndexedInitializerType::domain g_planIndexedInitializerType = ePlanIndexedInitializerType::ePIIT_FromImage;
39 
40 public:
46 
47 // methods
48 public:
50  ePlanIndexedInitializerType getPlanIndexedInitializerType() const;
51 
54  const BaseImageAttribute& getInputImageAttribute() const;
55 
58  const eFromImagePlanIndexedPolicy& getFromImagePlanIndexedPolicy() const;
59 
60 protected:
68  void initBase(const PlanIndexedAttributeWeakPtr& pOutputAttribute,
69  const ImageAttributeConstWeakPtr& pInputImageAttribute,
70  const eFromImagePlanIndexedPolicy& fromImagePlanIndexedPolicy);
71 
74  virtual BoolResult initAttribute(BasePlanIndexedAttribute& baseAttributeOut,
75  const ipUInt64 sizeZ,
76  const ipUInt64 sizeC,
77  const ipUInt64 sizeT) = 0;
78 
79 private:
82  BoolResult initAttribute();
83 
85  std::string createInitializerFormalString() const;
86 
88  std::string createInitializerEvaluatedString() const;
89 
90 // attributes
91 private:
93  ImageAttributeConstWeakPtr _pInputImageAttribute;
94 
96  eFromImagePlanIndexedPolicy _fromImagePlanIndexedPolicy;
97 };
98 
101 
104 {
106 }
107 
110 
111 } // end of namespace imaproc
112 } // end of namespace ipsdk
113 
114 #pragma warning (pop)
115 
116 #endif // __IPSDKIMAGEPROCESSING_BASEFROMIMAGEPLANINDEXEDINITIALIZER_H__
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Base class for image attributes.
Definition: BaseImageAttribute.h:32
Output initializer used to initialize plan indexed collection from an image plans.
Definition: PlanIndexedInitializerTypes.h:35
boost::weak_ptr< const BaseImageAttribute > ImageAttributeConstWeakPtr
Definition: ImageAttributeTypes.h:38
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
ePlanIndexedInitializerType getPlanIndexedInitializerType() const
retrieve plan indexed initializer type
Definition: BaseFromImagePlanIndexedInitializer.h:103
static const ePlanIndexedInitializerType::domain g_planIndexedInitializerType
plan indexed output initializer type
Definition: BaseFromImagePlanIndexedInitializer.h:38
#define IPSDKIMAGEPROCESSING_API
Import/Export macro for library IPSDKImageProcessing.
Definition: IPSDKImageProcessingExports.h:25
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
Base class for output plan indexed initializer.
Definition: BasePlanIndexedInitializer.h:28
Predefined types for image attributes management.
eFromImagePlanIndexedPolicy
enumerate describing rule behavior for image plans matching
Definition: PlanIndexedInitializerTypes.h:47
boost::weak_ptr< BasePlanIndexedAttribute > PlanIndexedAttributeWeakPtr
weak pointer to plan indexed attribute
Definition: PlanIndexedAttributeTypes.h:36
ePlanIndexedInitializerType
Enumerate describing output plan indexed initializer type.
Definition: PlanIndexedInitializerTypes.h:33
Base class for initialization of a plan indexed collection from plans of an image.
Definition: BaseFromImagePlanIndexedInitializer.h:33