38 #ifndef vtkIndexedArray_h
39 #define vtkIndexedArray_h
41 #include "vtkCommonCoreModule.h"
46 VTK_ABI_NAMESPACE_BEGIN
47 template <
class ValueTypeT>
50 :
public vtkImplicitArray<vtkIndexedImplicitBackend<ValueTypeT>, vtkArrayTypes::VTK_INDEXED_ARRAY>
54 #else // Fake the superclass for the wrappers.
63 using typename Superclass::ArrayTypeTag;
64 using typename Superclass::DataTypeTag;
65 using typename Superclass::ValueType;
75 #if defined(__VTK_WRAP__) || defined(__WRAP_GCCXML__)
123 VTK_ABI_NAMESPACE_END
128 #define vtkCreateIndexedWrappedArrayInterface(T) \
129 vtkCreateImplicitWrappedArrayInterface(T); \
130 void ConstructBackend(vtkIdList* indexes, vtkDataArray* array); \
131 void ConstructBackend(vtkDataArray* indexes, vtkDataArray* array); \
132 vtkDataArray* GetBaseArray(); \
133 vtkDataArray* GetIndexArray();
135 #endif // vtkIndexedArray_h
141 #ifdef VTK_INDEXED_ARRAY_INSTANTIATING
142 #define VTK_INDEXED_ARRAY_INSTANTIATE(T) \
143 namespace vtkDataArrayPrivate \
145 VTK_ABI_NAMESPACE_BEGIN \
146 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkIndexedArray<T>, double); \
147 VTK_ABI_NAMESPACE_END \
149 VTK_ABI_NAMESPACE_BEGIN \
150 template class VTKCOMMONCORE_EXPORT vtkIndexedArray<T>; \
151 VTK_ABI_NAMESPACE_END
155 #define VTK_INDEXED_ARRAY_INSTANTIATE_VALUERANGE(T) \
156 namespace vtkDataArrayPrivate \
158 VTK_ABI_NAMESPACE_BEGIN \
159 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE(vtkIndexedArray<T>, T); \
160 VTK_ABI_NAMESPACE_END \
162 #elif defined(VTK_USE_EXTERN_TEMPLATE)
163 #ifndef VTK_INDEXED_ARRAY_EXTERN
164 #define VTK_INDEXED_ARRAY_EXTERN
166 #pragma warning(push)
169 #pragma warning(disable : 4910) // extern and dllexport incompatible
171 VTK_ABI_NAMESPACE_BEGIN
173 VTK_ABI_NAMESPACE_END
177 VTK_ABI_NAMESPACE_BEGIN
199 VTK_ABI_NAMESPACE_END
205 #endif // VTK_INDEXED_ARRAY_EXTERN
208 #elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
209 #pragma warning(push)
212 #pragma warning(disable : 4091)
215 #pragma warning(disable : 4231)
228 #pragma warning(disable : 4910) // extern and dllexport incompatible
232 VTK_ABI_NAMESPACE_BEGIN
234 VTK_ABI_NAMESPACE_END
Abstract superclass for all arrays.
vtkImplicitArrayTypeMacro(SelfType, GenericDataArrayType)
#define VTK_DECLARE_VALUERANGE_ARRAYTYPE(ArrayType, ValueType)
Base interface for all typed vtkDataArray subclasses.
vtkArrayDownCast_TemplateFastCastMacro(vtkIndexedArray)
vtkInstantiateTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkArrayIteratorTemplate)
list of point or cell ids
abstract superclass for arrays of numeric data
static vtkIndexedArray< ValueType > * FastDownCast(vtkAbstractArray *source)
A faster alternative to SafeDownCast for downcasting vtkAbstractArrays.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
A read only array class that wraps an implicit function from integers to any value type supported by ...
#define vtkCreateImplicitWrappedArrayInterface(T)
static vtkImplicitArray * New()
A utility array for creating a wrapper array around an existing array and reindexing its components...
vtkExternTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkIndexedArray)
void ConstructBackend(Params &&...params)
Utility method for setting backend parameterization directly.