IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Macros
PlanIndexedAttributeHdrMacros.h File Reference

Header part of macros set used for plan indexed attributes class declaration. More...

#include <IPSDKBaseProcessing/Attribute/Base/AttributeHdrMacros.h>
#include <IPSDKImageProcessing/Attribute/PlanIndexed/BasePlanIndexedAttribute.h>
#include <IPSDKImageProcessing/Rule/PlanIndexed/PlanIndexedRuleOperators.h>

Go to the source code of this file.

Macros

#define IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString)
 [Internal] macro allowing to declare a plan indexed attribute body concrete class More...
 
#define IPSDK_DECLARE_INPUT_PLANINDEXED_ATTRIBUTE(libraryName, className, collType, RuleString)
 macros allowing to declare a mandatory input plan indexed attribute concrete class More...
 
#define IPSDK_DECLARE_INOUT_PLANINDEXED_ATTRIBUTE(libraryName, className, collType, RuleString)
 macros allowing to declare a mandatory in/out plan indexed attribute concrete class More...
 
#define IPSDK_DECLARE_OUTPUT_PLANINDEXED_ATTRIBUTE(libraryName, className, collType, RuleString)
 macros allowing to declare a mandatory in/out plan indexed attribute concrete class More...
 
#define IPSDK_DECLARE_INPUT_OPTIONAL_PLANINDEXED_ATTRIBUTE(libraryName, className, collType, RuleString)
 macros allowing to declare an optional input plan indexed attribute concrete class More...
 
#define IPSDK_DECLARE_INOUT_OPTIONAL_PLANINDEXED_ATTRIBUTE(libraryName, className, collType, RuleString)
 macros allowing to declare an optional in/out plan indexed attribute concrete class More...
 
#define IPSDK_DECLARE_OUTPUT_OPTIONAL_PLANINDEXED_ATTRIBUTE(libraryName, className, collType, RuleString)
 macros allowing to declare an optional in/out plan indexed attribute concrete class More...
 

Detailed Description

Header part of macros set used for plan indexed attributes class declaration.

Author
E. Noirfalise
Date
2015/06/18

Macro Definition Documentation

◆ IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY

#define IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className) \
IPSDK_DECLARE_TOOLTIP() \
IPSDK_DECLARE_ATTRIBUTE_BASE_BODY(libraryName, className, RuleString) \
public: \
typedef collType ValueType; \
typedef boost::shared_ptr<ValueType> MutableStorageType; \
typedef boost::shared_ptr<const ValueType> ConstStorageType; \
typedef collType::ValueType PlanValueType; \
typedef collType::StorageType PlanStorageType; \
typedef collType::ConstStorageType PlanConstStorageType; \
protected: \
className(); \
public: \
~className(); \
const ValueType& getColl() const { \
return static_cast<const ValueType&>(*accessStorage()); \
} \
ConstStorageType getStorage() const { \
return boost::static_pointer_cast<const ValueType>(accessStorage()); \
} \
const PlanValueType& getPlanValue(const ipsdk::PlanIndex& planIndex) const; \
const PlanValueType& getPlanValue(const ipsdk::ipUInt64 zPlanIdx, const ipsdk::ipUInt64 cPlanIdx, \
const ipsdk::ipUInt64 tPlanIdx) const; \
PlanConstStorageType getPlanStorage(const ipsdk::PlanIndex& planIndex) const; \
PlanConstStorageType getPlanStorage(const ipsdk::ipUInt64 zPlanIdx, \
const ipsdk::ipUInt64 cPlanIdx, \
const ipsdk::ipUInt64 tPlanIdx) const; \
void insert(const ipsdk::PlanIndex& planIndex, const PlanStorageType& pObject); \
void insert(const ipsdk::ipUInt64 zPlanIdx, const ipsdk::ipUInt64 cPlanIdx, \
const ipsdk::ipUInt64 tPlanIdx, const PlanStorageType& pObject);
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
#define IPSDK_DECLARE_SERIAL_WITHOUT_COPY(libraryName, className)
macro enabling serialization on class
Definition: SerializationHdrMacro.h:79
Class used to store image plan index.
Definition: PlanIndex.h:26

[Internal] macro allowing to declare a plan indexed attribute body concrete class

◆ IPSDK_DECLARE_INPUT_PLANINDEXED_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_PLANINDEXED_ATTRIBUTE (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BasePlanIndexedAttribute { \
IPSDK_DECLARE_INPUT_DATA(); \
IPSDK_DECLARE_MANDATORY_DATA(); \
IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString) \
public: \
typedef ConstStorageType StorageType; \
typedef ipsdk::PlanIndexedCollConstPtr BaseStorageType; \
void init(const StorageType& pPlanIndexedColl); \
};
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
boost::shared_ptr< const BasePlanIndexedColl > PlanIndexedCollConstPtr
shared pointer to const plan indexed collection
Definition: PlanIndexedCollTypes.h:34

macros allowing to declare a mandatory input plan indexed attribute concrete class

◆ IPSDK_DECLARE_INOUT_PLANINDEXED_ATTRIBUTE

#define IPSDK_DECLARE_INOUT_PLANINDEXED_ATTRIBUTE (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BasePlanIndexedAttribute { \
IPSDK_DECLARE_INOUT_DATA(); \
IPSDK_DECLARE_MANDATORY_DATA(); \
IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString) \
public: \
typedef MutableStorageType StorageType; \
typedef ipsdk::PlanIndexedCollPtr BaseStorageType; \
void init(const StorageType& pPlanIndexedColl); \
StorageType getStorage() { \
return boost::static_pointer_cast<ValueType>(accessStorage()); \
} \
};
boost::shared_ptr< BasePlanIndexedColl > PlanIndexedCollPtr
shared pointer to plan indexed collection
Definition: PlanIndexedCollTypes.h:25
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
PlanIndexedCollConstPtr accessStorage() const
access to internal storage

macros allowing to declare a mandatory in/out plan indexed attribute concrete class

◆ IPSDK_DECLARE_OUTPUT_PLANINDEXED_ATTRIBUTE

#define IPSDK_DECLARE_OUTPUT_PLANINDEXED_ATTRIBUTE (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BasePlanIndexedAttribute { \
IPSDK_DECLARE_OUTPUT_DATA(); \
IPSDK_DECLARE_MANDATORY_DATA(); \
IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString) \
public: \
typedef MutableStorageType StorageType; \
typedef ipsdk::PlanIndexedCollPtr BaseStorageType; \
void init(const StorageType& pPlanIndexedColl); \
StorageType getStorage() { \
return boost::static_pointer_cast<ValueType>(accessStorage()); \
} \
};
boost::shared_ptr< BasePlanIndexedColl > PlanIndexedCollPtr
shared pointer to plan indexed collection
Definition: PlanIndexedCollTypes.h:25
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
PlanIndexedCollConstPtr accessStorage() const
access to internal storage

macros allowing to declare a mandatory in/out plan indexed attribute concrete class

◆ IPSDK_DECLARE_INPUT_OPTIONAL_PLANINDEXED_ATTRIBUTE

#define IPSDK_DECLARE_INPUT_OPTIONAL_PLANINDEXED_ATTRIBUTE (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BasePlanIndexedAttribute { \
IPSDK_DECLARE_INPUT_DATA(); \
IPSDK_DECLARE_OPTIONAL_DATA(); \
IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString) \
public: \
typedef ConstStorageType StorageType; \
typedef ipsdk::PlanIndexedCollConstPtr BaseStorageType; \
void init(const StorageType& pPlanIndexedColl); \
};
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
boost::shared_ptr< const BasePlanIndexedColl > PlanIndexedCollConstPtr
shared pointer to const plan indexed collection
Definition: PlanIndexedCollTypes.h:34

macros allowing to declare an optional input plan indexed attribute concrete class

◆ IPSDK_DECLARE_INOUT_OPTIONAL_PLANINDEXED_ATTRIBUTE

#define IPSDK_DECLARE_INOUT_OPTIONAL_PLANINDEXED_ATTRIBUTE (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BasePlanIndexedAttribute { \
IPSDK_DECLARE_INOUT_DATA(); \
IPSDK_DECLARE_OPTIONAL_DATA(); \
IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString) \
public: \
typedef MutableStorageType StorageType; \
typedef ipsdk::PlanIndexedCollPtr BaseStorageType; \
void init(const StorageType& pPlanIndexedColl); \
StorageType getStorage() { \
return boost::static_pointer_cast<ValueType>(accessStorage()); \
} \
};
boost::shared_ptr< BasePlanIndexedColl > PlanIndexedCollPtr
shared pointer to plan indexed collection
Definition: PlanIndexedCollTypes.h:25
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
PlanIndexedCollConstPtr accessStorage() const
access to internal storage

macros allowing to declare an optional in/out plan indexed attribute concrete class

◆ IPSDK_DECLARE_OUTPUT_OPTIONAL_PLANINDEXED_ATTRIBUTE

#define IPSDK_DECLARE_OUTPUT_OPTIONAL_PLANINDEXED_ATTRIBUTE (   libraryName,
  className,
  collType,
  RuleString 
)
Value:
class IPSDK_LIB_API(libraryName) className : public ipsdk::imaproc::BasePlanIndexedAttribute { \
IPSDK_DECLARE_OUTPUT_DATA(); \
IPSDK_DECLARE_OPTIONAL_DATA(); \
IPSDK_DECLARE_PLANINDEXED_ATTRIBUTE_BODY(libraryName, className, collType, RuleString) \
public: \
typedef MutableStorageType StorageType; \
typedef ipsdk::PlanIndexedCollPtr BaseStorageType; \
void init(const StorageType& pPlanIndexedColl); \
StorageType getStorage() { \
return boost::static_pointer_cast<ValueType>(accessStorage()); \
} \
};
boost::shared_ptr< BasePlanIndexedColl > PlanIndexedCollPtr
shared pointer to plan indexed collection
Definition: PlanIndexedCollTypes.h:25
Base class for plan indexed attributes.
Definition: BasePlanIndexedAttribute.h:33
PlanIndexedCollConstPtr accessStorage() const
access to internal storage

macros allowing to declare an optional in/out plan indexed attribute concrete class