diff --git a/Common/Core/CMakeLists.txt b/Common/Core/CMakeLists.txt index af52dd0e137ac4ec0fa7e85dabdc4cec10a94a27..07dbd67c6ed6dbcd372010b964409dda7e10679b 100644 --- a/Common/Core/CMakeLists.txt +++ b/Common/Core/CMakeLists.txt @@ -290,6 +290,7 @@ set(${vtk-module}_HDRS vtkAtomicTypes.h vtkAutoInit.h vtkDataArrayIteratorMacro.h + vtkDataArrayTemplate.h vtkGenericDataArray.h vtkGenericDataArrayLookupHelper.h vtkGenericDataArray.txx @@ -687,6 +688,7 @@ set_source_files_properties( ) set_source_files_properties( + vtkDataArrayTemplate.h vtkDenseArray.h vtkSparseArray.h vtkTypedArray.h diff --git a/Common/Core/Testing/Cxx/CMakeLists.txt b/Common/Core/Testing/Cxx/CMakeLists.txt index b76aced570cd3b3739f0098d36be34190bfd4e48..8c30e1215995db606636c17ea96b8ca0ea6701d2 100644 --- a/Common/Core/Testing/Cxx/CMakeLists.txt +++ b/Common/Core/Testing/Cxx/CMakeLists.txt @@ -14,6 +14,16 @@ function(add_data_array_test test_name array_header array_valuetype array_type) set(data_array_tests ${data_array_tests} "${test_source}.cxx" PARENT_SCOPE) endfunction() +# Legacy -- test that the vtkDataArrayTemplate interface still works: +if(NOT VTK_LEGACY_REMOVE) + add_data_array_test( + vtkDataArrayTemplate_LEGACY + vtkDataArrayTemplate.h + float + vtkDataArrayTemplate<float> + ) +endif() + # Non-templated classes: add_data_array_test(vtkCharArray vtkCharArray.h "char" vtkCharArray) add_data_array_test(vtkDoubleArray vtkDoubleArray.h "double" vtkDoubleArray) diff --git a/Common/Core/vtkDataArrayTemplate.h b/Common/Core/vtkDataArrayTemplate.h new file mode 100644 index 0000000000000000000000000000000000000000..1c52db74fc3f64306ab92f3106b225bbe1a8d23f --- /dev/null +++ b/Common/Core/vtkDataArrayTemplate.h @@ -0,0 +1,51 @@ +/*========================================================================= + + Program: Visualization Toolkit + Module: vtkDataArrayTemplate.h + + Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen + All rights reserved. + See Copyright.txt or http://www.kitware.com/Copyright.htm for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notice for more information. + +=========================================================================*/ +// .NAME vtkDataArrayTemplate +// .SECTION Description +// vtkDataArrayTemplate is deprecated, use vtkAOSDataArrayTemplate instead. + +#ifndef vtkDataArrayTemplate_h +#define vtkDataArrayTemplate_h + +#include "vtkAOSDataArrayTemplate.h" + +#ifndef VTK_LEGACY_REMOVE + +template <typename ValueType> +class vtkDataArrayTemplate : public vtkAOSDataArrayTemplate<ValueType> +{ +public: + vtkTemplateTypeMacro(vtkDataArrayTemplate<ValueType>, + vtkAOSDataArrayTemplate<ValueType>) + + static vtkDataArrayTemplate<ValueType>* New() + { + VTK_STANDARD_NEW_BODY(vtkDataArrayTemplate<ValueType>); + } + +protected: + vtkDataArrayTemplate() {} + ~vtkDataArrayTemplate() {} + +private: + vtkDataArrayTemplate(const vtkDataArrayTemplate&); // Not implemented. + void operator=(const vtkDataArrayTemplate&); // Not implemented. +}; + +#endif // VTK_LEGACY_REMOVE + +#endif // vtkDataArrayTemplate_h + +// VTK-HeaderTest-Exclude: vtkDataArrayTemplate.h