17 #ifndef mitkVectorProperty_h
18 #define mitkVectorProperty_h
38 static const char *
prefix() {
return "Invalid"; }
55 template <
typename DATATYPE>
69 virtual std::vector<std::string>
GetClassHierarchy()
const override {
return mitk::GetClassHierarchy<Self>(); }
77 return nameOfClass.c_str();
81 itkFactorylessNewMacro(Self);
85 virtual
std::
string GetValueAsString() const override;
95 virtual const VectorType &GetValue() const;
98 virtual
void SetValue(const VectorType ¶meter_vector);
105 virtual
itk::LightObject::Pointer InternalClone() const override;
108 virtual
bool IsEqual(const
BaseProperty &an_other_property) const override;
111 virtual
bool Assign(const
BaseProperty &an_other_property) override;
114 VectorType m_PropertyContent;
118 #define MITK_DECLARE_VECTOR_PROPERTY(TYPE, PREFIX) \
120 typedef VectorProperty<TYPE> PREFIX##VectorProperty; \
124 struct VectorPropertyDataType<TYPE> \
126 static const char *prefix() { return #PREFIX; } \
130 #define MITK_DEFINE_VECTOR_PROPERTY(TYPE) template class VectorProperty<TYPE>;
static const char * prefix()
Helper for VectorProperty to determine a good ITK ClassName.
DataCollection - Class to facilitate loading/accessing structured data.
VectorProperty< DATATYPE > Self
static const char * GetStaticNameOfClass()
virtual std::vector< std::string > GetClassHierarchy() const override
Abstract base class for properties.
#define MITK_DECLARE_VECTOR_PROPERTY(TYPE, PREFIX)
This should be used in .h files.
static const char * GetStaticNameOfClass()
itk::SmartPointer< Self > Pointer
std::vector< DATATYPE > VectorType
Providing a std::vector as property.
virtual const char * GetNameOfClass() const override
itk::SmartPointer< const Self > ConstPointer