IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
PlanIndexedAttributeSrcMacros.h
Go to the documentation of this file.
1 // PlanIndexedAttributeSrcMacros.h:
3 // --------------------------------
4 //
15 
16 #ifndef __IPSDKIMAGEPROCESSING_PLANINDEXEDATTRIBUTESRCMACROS_H__
17 #define __IPSDKIMAGEPROCESSING_PLANINDEXEDATTRIBUTESRCMACROS_H__
18 
20 
23 
26 #define IPSDK_IMPLEMENT_PLANINDEXED_ATTRIBUTE(libraryName, namespaceSeq, \
27  className, eMsgEnum) \
28  IPSDK_IMPLEMENT_SERIAL_WITHOUT_COPY(libraryName, namespaceSeq, className, 1) \
29  IPSDK_IMPLEMENT_TOOLTIP(libraryName, className, eMsgEnum) \
30  IPSDK_IMPLEMENT_ATTRIBUTE_BASE_BODY(className, eMsgEnum) \
31  className::className() \
32  { \
33  } \
34  className::~className() \
35  { \
36  } \
37  const className::PlanValueType& className::getPlanValue(const ipsdk::PlanIndex& planIndex) const { \
38  return getColl().getValue(planIndex); \
39  } \
40  const className::PlanValueType& className::getPlanValue(const ipsdk::ipUInt64 zPlanIdx, \
41  const ipsdk::ipUInt64 cPlanIdx, \
42  const ipsdk::ipUInt64 tPlanIdx) const { \
43  return getColl().getValue(zPlanIdx, cPlanIdx, tPlanIdx); \
44  } \
45  className::PlanConstStorageType className::getPlanStorage(const ipsdk::PlanIndex& planIndex) const { \
46  return getColl().getStorage(planIndex); \
47  } \
48  className::PlanConstStorageType className::getPlanStorage(const ipsdk::ipUInt64 zPlanIdx, \
49  const ipsdk::ipUInt64 cPlanIdx, \
50  const ipsdk::ipUInt64 tPlanIdx) const { \
51  return getColl().getStorage(zPlanIdx, cPlanIdx, tPlanIdx); \
52  } \
53  void className::insert(const ipsdk::PlanIndex& planIndex, const PlanStorageType& pObject) { \
54  ValueType& coll = static_cast<ValueType&>(*accessStorage()); \
55  coll.insert(planIndex, pObject); \
56  } \
57  void className::insert(const ipsdk::ipUInt64 zPlanIdx, const ipsdk::ipUInt64 cPlanIdx, \
58  const ipsdk::ipUInt64 tPlanIdx, const PlanStorageType& pObject) { \
59  ValueType& coll = static_cast<ValueType&>(*accessStorage()); \
60  coll.insert(zPlanIdx, cPlanIdx, tPlanIdx, pObject); \
61  } \
62  void className::init(const StorageType& pPlanIndexedColl) { \
63  ipsdk::imaproc::BasePlanIndexedAttribute::initBase( \
64  boost::const_pointer_cast<ValueType>(pPlanIndexedColl)); \
65  } \
66  IPSDK_IMPLEMENT_SERIAL_WRITE(className, ipsdk::imaproc::BasePlanIndexedAttribute) \
67  return true; \
68  } \
69  IPSDK_IMPLEMENT_SERIAL_READ(className, ipsdk::imaproc::BasePlanIndexedAttribute) \
70  return true; \
71  }
72 
75 
76 #endif // __IPSDKIMAGEPROCESSING_PLANINDEXEDATTRIBUTESRCMACROS_H__
Source part of macros set for attribute class implementation.