4#ifndef vtkIndexedImplicitBackend_h
5#define vtkIndexedImplicitBackend_h
45#include "vtkCommonCoreModule.h"
51VTK_ABI_NAMESPACE_BEGIN
54template <
typename ValueType>
100 std::unique_ptr<Internals> Internal;
106#if defined(VTK_INDEXED_BACKEND_INSTANTIATING)
108#define VTK_INSTANTIATE_INDEXED_BACKEND(ValueType) \
109 VTK_ABI_NAMESPACE_BEGIN \
110 template class VTKCOMMONCORE_EXPORT vtkIndexedImplicitBackend<ValueType>; \
111 VTK_ABI_NAMESPACE_END
113#elif defined(VTK_USE_EXTERN_TEMPLATE)
115#ifndef VTK_INDEXED_BACKEND_TEMPLATE_EXTERN
116#define VTK_INDEXED_BACKEND_TEMPLATE_EXTERN
119#pragma warning(disable : 4910)
121VTK_ABI_NAMESPACE_BEGIN
list of point or cell ids
A backend for the vtkImplicitArray framework allowing one to use a subset of a given data array,...
vtkDataArray * GetIndexArray() const
Get the original index array used for indirection.
unsigned long getMemorySize() const
Returns the smallest integer memory size in KiB needed to store the array.
~vtkIndexedImplicitBackend()
bool GetMapTuples() const
Get if the indexed array is mapping tuples or values.
ValueType operator()(vtkIdType idx) const
Indexing operation for the indexed array respecting the backend expectations of vtkImplicitArray
vtkIndexedImplicitBackend(vtkDataArray *indexes, vtkDataArray *array, bool mapTuples=false)
Constructor.
vtkDataArray * GetBaseArray() const
Get the original base array used for value lookup.
vtkIndexedImplicitBackend(vtkIdList *indexes, vtkDataArray *array, bool mapTuples=false)
Constructor.
#define vtkExternTemplateMacro(decl)
A macro to declare extern templates for all numerical types.