IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
BaseFromOtherPlanIndexedInitializer.h
1 // BaseFromOtherPlanIndexedInitializer.h:
3 // --------------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_BASEFROMOTHERPLANINDEXEDINITIALIZER_H__
17 #define __IPSDKIMAGEPROCESSING_BASEFROMOTHERPLANINDEXEDINITIALIZER_H__
18 
19 // suppression warnings
20 // warning C4251: 'ipsdk::imaproc::BaseFromOtherPlanIndexedInitializer::_pInputAttribute': class 'boost::weak_ptr<const ipsdk::imaproc::BasePlanIndexedAttribute>' needs to have dll-interface to be used by clients of class 'ipsdk::imaproc::BaseFromOtherPlanIndexedInitializer'
21 #pragma warning (push)
22 #pragma warning (disable : 4251)
23 
24 #include <IPSDKImageProcessing/OutputInitializer/PlanIndexed/BasePlanIndexedInitializer.h>
25 
26 namespace ipsdk {
27 namespace imaproc {
28 
31 
33 {
34 // predefined public type
35 public:
37  static const ePlanIndexedInitializerType::domain g_planIndexedInitializerType = ePlanIndexedInitializerType::ePIIT_FromOther;
38 
39 public:
45 
46 // methods
47 public:
49  ePlanIndexedInitializerType getPlanIndexedInitializerType() const;
50 
53  const BasePlanIndexedAttribute& getInputAttribute() const;
54 
55 protected:
63  void initBase(const PlanIndexedAttributeWeakPtr& pOutputAttribute,
64  const PlanIndexedAttributeConstWeakPtr& pInputAttribute);
65 
68  virtual BoolResult initAttribute(BasePlanIndexedAttribute& baseAttributeOut,
69  const ipUInt64 sizeZ,
70  const ipUInt64 sizeC,
71  const ipUInt64 sizeT) = 0;
72 
73 private:
76  BoolResult initAttribute();
77 
79  std::string createInitializerFormalString() const;
80 
82  std::string createInitializerEvaluatedString() const;
83 
84 // attributes
85 protected:
88 };
89 
92 
95 {
97 }
98 
101 
102 } // end of namespace imaproc
103 } // end of namespace ipsdk
104 
105 #pragma warning (pop)
106 
107 #endif // __IPSDKIMAGEPROCESSING_BASEFROMOTHERPLANINDEXEDINITIALIZER_H__
boost::weak_ptr< const BasePlanIndexedAttribute > PlanIndexedAttributeConstWeakPtr
weak pointer to const plan indexed attribute
Definition: PlanIndexedAttributeTypes.h:39
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
ePlanIndexedInitializerType getPlanIndexedInitializerType() const
retrieve plan indexed initializer type
Definition: BaseFromOtherPlanIndexedInitializer.h:94
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
Output initializer used to initialize plan indexed collection from an other plan indexed collection...
Definition: PlanIndexedInitializerTypes.h:37
#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
static const ePlanIndexedInitializerType::domain g_planIndexedInitializerType
plan indexed output initializer type
Definition: BaseFromOtherPlanIndexedInitializer.h:37
PlanIndexedAttributeConstWeakPtr _pInputAttribute
pointer to input plan indexed attribute used by initializer
Definition: BaseFromOtherPlanIndexedInitializer.h:87
boost::weak_ptr< BasePlanIndexedAttribute > PlanIndexedAttributeWeakPtr
weak pointer to plan indexed attribute
Definition: PlanIndexedAttributeTypes.h:36
Base class for initialization of a plan indexed collection from an other plan indexed collection...
Definition: BaseFromOtherPlanIndexedInitializer.h:32
ePlanIndexedInitializerType
Enumerate describing output plan indexed initializer type.
Definition: PlanIndexedInitializerTypes.h:33