4 #ifndef vtkDataObjectImplicitBackendInterface_h
5 #define vtkDataObjectImplicitBackendInterface_h
7 #include "vtkCommonDataModelModule.h"
58 VTK_ABI_NAMESPACE_BEGIN
63 template <
typename ValueType>
69 virtual ~vtkDataObjectImplicitBackendInterface();
78 ValueType operator()(
vtkIdType idx)
const;
85 void OnDataObjectDeleted(
vtkObject* caller,
unsigned long eventId,
void* calldata);
91 virtual ValueType GetValueFromDataObject(
vtkIdType idx)
const = 0;
112 VTK_ABI_NAMESPACE_END
115 #if defined(VTK_DATAOBJECT_BACKEND_INSTANTIATING)
117 #define VTK_INSTANTIATE_DATAOBJECT_BACKEND(ValueType) \
118 VTK_ABI_NAMESPACE_BEGIN \
119 template struct VTKCOMMONDATAMODEL_EXPORT vtkDataObjectImplicitBackendInterface<ValueType>; \
120 VTK_ABI_NAMESPACE_END
122 #elif defined(VTK_USE_EXTERN_TEMPLATE)
124 #ifndef VTK_DATAOBJECT_BACKEND_TEMPLATE_EXTERN
125 #define VTK_DATAOBJECT_BACKEND_TEMPLATE_EXTERN
127 #pragma warning(push)
128 #pragma warning(disable : 4910) // extern and dllexport incompatible
130 VTK_ABI_NAMESPACE_BEGIN
133 VTK_ABI_NAMESPACE_END
137 #endif // VTK_DATAOBJECT_IMPLICIT_BACKEND_TEMPLATE_EXTERN
abstract base class for most VTK objects
A utility structure that can be used as a base for implicit array backend that relies on a vtkDataObj...
Hold a reference to a vtkObjectBase instance.
#define vtkExternTemplateMacro(decl)
A macro to declare extern templates for all numerical types.
abstract superclass for arrays of numeric data
vtkDataObject * GetDataObject()
Get the internal dataobject.
general representation of visualization data