MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00010 #include "Properties/mlPropertyAccessor.h" 00011 00012 #define STATIC_CASTED_GRAPH_PROPERTY(VisibleType, StoredType, lowerCaseName, upperCaseName) \ 00013 private: \ 00014 DefaultPropertyAccessor<StoredType> _##lowerCaseName##Accessor; \ 00015 public: \ 00016 VisibleType get##upperCaseName() const { return static_cast<VisibleType>(_##lowerCaseName##Accessor.get(*this)); } \ 00017 void set##upperCaseName(const VisibleType& newValue) { _##lowerCaseName##Accessor.set(*this, static_cast<StoredType>(newValue)); } 00018 00019 #ifdef ML_DEPRECATED 00020 #define STATIC_GRAPH_PROPERTY(Type, lowerCaseName, upperCaseName) \ 00021 private: \ 00022 DefaultPropertyAccessor<Type> _##lowerCaseName##Accessor; \ 00023 public: \ 00024 ML_DEPRECATED Type& lowerCaseName() { return _##lowerCaseName##Accessor(*this); } \ 00025 Type get##upperCaseName() const { return _##lowerCaseName##Accessor.get(*this); } \ 00026 void set##upperCaseName(const Type& newValue) { _##lowerCaseName##Accessor.set(*this, newValue); } 00027 #else 00028 #define STATIC_GRAPH_PROPERTY(Type, lowerCaseName, upperCaseName) \ 00029 private: \ 00030 DefaultPropertyAccessor<Type> _##lowerCaseName##Accessor; \ 00031 public: \ 00032 Type get##upperCaseName() const { return _##lowerCaseName##Accessor.get(*this); } \ 00033 void set##upperCaseName(const Type& newValue) { _##lowerCaseName##Accessor.set(*this, newValue); } 00034 #endif 00035 00036 #define READ_OLD_STATIC_PROPERTY(Type, parent, tagName, setFunction) \ 00037 { \ 00038 Type tmp; \ 00039 parent->readChild(tmp, tagName); \ 00040 setFunction(tmp); \ 00041 }