4 #ifndef vtkCompositeArray_h
5 #define vtkCompositeArray_h
7 #ifdef VTK_COMPOSITE_ARRAY_INSTANTIATING
8 #define VTK_IMPLICIT_VALUERANGE_INSTANTIATING
9 #include "vtkDataArrayPrivate.txx"
12 #include "vtkCommonCoreModule.h"
16 #ifdef VTK_COMPOSITE_ARRAY_INSTANTIATING
17 #undef VTK_IMPLICIT_VALUERANGE_INSTANTIATING
50 VTK_ABI_NAMESPACE_BEGIN
58 VTK_ABI_NAMESPACE_BEGIN
69 const std::vector<vtkDataArray*>& arrays);
73 #endif // vtkCompositeArray_h
75 #ifdef VTK_COMPOSITE_ARRAY_INSTANTIATING
78 #define VTK_INSTANTIATE_COMPOSITE_ARRAY(ValueType) \
79 VTK_ABI_NAMESPACE_BEGIN \
80 template class VTKCOMMONCORE_EXPORT vtkImplicitArray<vtkCompositeImplicitBackend<ValueType>>; \
81 VTK_ABI_NAMESPACE_END \
82 namespace vtkDataArrayPrivate \
84 VTK_ABI_NAMESPACE_BEGIN \
85 VTK_INSTANTIATE_VALUERANGE_ARRAYTYPE( \
86 vtkImplicitArray<vtkCompositeImplicitBackend<ValueType>>, double) \
87 VTK_ABI_NAMESPACE_END \
89 #define VTK_INSTANTIATE_COMPOSITE_ARRAY_FUNCTIONS(ValueType) \
92 VTK_ABI_NAMESPACE_BEGIN \
93 template VTKCOMMONCORE_EXPORT \
94 vtkSmartPointer<vtkImplicitArray<vtkCompositeImplicitBackend<ValueType>>> \
95 ConcatenateDataArrays(const std::vector<vtkDataArray*>& arrays); \
96 VTK_ABI_NAMESPACE_END \
99 #elif defined(VTK_USE_EXTERN_TEMPLATE)
100 #ifndef VTK_COMPOSITE_ARRAY_TEMPLATE_EXTERN
101 #define VTK_COMPOSITE_ARRAY_TEMPLATE_EXTERN
103 #pragma warning(push)
106 #pragma warning(disable : 4910) // extern and dllexport incompatible
108 VTK_ABI_NAMESPACE_BEGIN
114 VTK_ABI_NAMESPACE_END
115 #endif // VTK_COMPOSITE_ARRAY_TEMPLATE_EXTERN
117 #elif defined(_MSC_VER) && !defined(VTK_BUILD_SHARED_LIBS)
118 #pragma warning(push)
120 #pragma warning(disable : 4091)
123 #pragma warning(disable : 4231)
136 #pragma warning(disable : 4910) // extern and dllexport incompatible
140 VTK_ABI_NAMESPACE_BEGIN
146 VTK_ABI_NAMESPACE_END
vtkSmartPointer< vtkCompositeArray< T > > ConcatenateDataArrays(const std::vector< vtkDataArray * > &arrays)
#define vtkInstantiateSecondOrderTemplateMacro(decl0, decl1)
Hold a reference to a vtkObjectBase instance.
Specialization of tuple ranges and iterators for vtkAOSDataArrayTemplate.
vtkExternSecondOrderTemplateMacro(extern template class VTKCOMMONCORE_EXPORT vtkImplicitArray, vtkCompositeImplicitBackend)
abstract superclass for arrays of numeric data
A read only array class that wraps an implicit function from integers to any value type supported by ...
A utility structure serving as a backend for composite arrays: an array composed of multiple arrays c...