20#include <itkLightObject.h>
43 return dynamic_cast<T*
>(_itkObject.GetPointer());
47 itk::LightObject::Pointer _itkObject;
75 if (!outputFieldName) {
77 "Passed field name pointer is nullptr. Ignoring call.");
86 _baseField->addAllowedType<WRAPPER_CLASS_NAME>();
96 if (!inputFieldName) {
98 "Passed field name pointer is nullptr. Ignoring call.");
107 _baseField->addAllowedType<WRAPPER_CLASS_NAME>();
156 WRAPPER_CLASS_NAME* wrapperBasePtr =
_baseField->getTypedBaseValue<WRAPPER_CLASS_NAME*>();
157 return wrapperBasePtr ? wrapperBasePtr->template getITKPointer<OBJ_TYPE>() :
nullptr;
180#define ML_CREATE_ITK_POINTER_WRAPPER_H(CLASS_NAME, PARENT_BASE_CLASS_NAME, ML_EXPORT_MACRO) \
183 class ML_EXPORT_MACRO ITK##CLASS_NAME##Wrapper : public PARENT_BASE_CLASS_NAME \
186 ITK##CLASS_NAME##Wrapper() = default; \
190 ML_CLASS_HEADER(ITK##CLASS_NAME##Wrapper); \
193 typedef ITKTypedPointerWrapper<CLASS_NAME, ITK##CLASS_NAME##Wrapper> CLASS_NAME##Wrapper; \
202#define ML_CREATE_ITK_POINTER_WRAPPER_CPP(CLASS_NAME, PARENT_BASE_CLASS_NAME) \
205 ML_CLASS_SOURCE(ITK##CLASS_NAME##Wrapper, PARENT_BASE_CLASS_NAME);
void addInputBaseField(Module &module, const char *inputFieldName)
WRAPPER_CLASS_NAME _baseWrapper
Reference to the Base object wrapping the ITK object pointer.
OBJ_TYPE::Pointer getWrappedOutputObject()
Return the pointer to the wrapped object.
BaseField * getInputBaseField()
For legacy reasons there are two fields for getting the base field.
ITKTypedPointerWrapper()
Constructor.
void addOutputBaseField(Module &module, const char *outputFieldName)
BaseField * getOutputBaseField()
For legacy reasons there are two fields for getting the base field.
OBJ_TYPE::Pointer getWrappedInputObject()
void setNewOutputBaseFieldObject(OBJ_TYPE::Pointer newObject)
Set base field so that it points to the new object.
BaseField * _baseField
Pointer to the MLBaseField in _module.
ML_ABSTRACT_CLASS_HEADER(ITKWrapperBase)
Register this class abstractly.
ITKWrapperBase()
Private on purpose to avoid instantiations.
void setITKPointer(itk::LightObject::Pointer obj)
T::Pointer getITKPointer()
#define ML_BAD_POINTER_OR_0
#define ML_PRINT_ERROR(FUNC_NAME, REASON, HANDLING)
#define MLITK_SUPPORT_EXPORT