VTK  9.7.1
ArrayConverters.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright (c) Kitware, Inc.
3 // SPDX-FileCopyrightText: Copyright 2012 Sandia Corporation.
4 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
5 
6 #ifndef vtkmlib_ArrayConverters_h
7 #define vtkmlib_ArrayConverters_h
8 
10 
11 #include "vtkAcceleratorsVTKmDataModelModule.h" //required for correct implementation
12 #include "vtkmConfigDataModel.h" //required for general viskores setup
13 
16 
17 #include <viskores/cont/ArrayHandleSOA.h>
18 #include <viskores/cont/Field.h>
19 
20 #include <type_traits> // for std::underlying_type
21 
22 namespace viskores
23 {
24 namespace cont
25 {
26 class DataSet;
27 class CoordinateSystem;
28 }
29 }
30 
31 VTK_ABI_NAMESPACE_BEGIN
32 class vtkDataArray;
33 class vtkDataSet;
34 class vtkPoints;
35 VTK_ABI_NAMESPACE_END
36 
37 namespace tovtkm
38 {
39 VTK_ABI_NAMESPACE_BEGIN
40 
41 VTKACCELERATORSVTKMDATAMODEL_EXPORT
43 
44 // determine the type and call the proper Convert routine
45 VTKACCELERATORSVTKMDATAMODEL_EXPORT
46 viskores::cont::Field Convert(vtkDataArray* input, int association);
47 VTK_ABI_NAMESPACE_END
48 }
49 
50 namespace fromvtkm
51 {
52 VTK_ABI_NAMESPACE_BEGIN
53 
54 VTKACCELERATORSVTKMDATAMODEL_EXPORT
55 bool ConvertArrays(const viskores::cont::DataSet& input, vtkDataSet* output);
56 VTK_ABI_NAMESPACE_END
57 }
58 
59 #endif // vtkmlib_ArrayConverters_h
abstract class to specify dataset behavior
Definition: vtkDataSet.h:56
VTKACCELERATORSVTKMDATAMODEL_EXPORT viskores::cont::Field Convert(vtkDataArray *input, int association)
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
VTKACCELERATORSVTKMDATAMODEL_EXPORT bool ConvertArrays(const viskores::cont::DataSet &input, vtkDataSet *output)
std::map< std::string, DataArray > DataSet
key: variable name, value: DataArray
Definition: VTXTypes.h:28
VTKACCELERATORSVTKMDATAMODEL_EXPORT void ProcessFields(vtkDataSet *input, viskores::cont::DataSet &dataset, tovtkm::FieldsFlag fields)
represent and manipulate 3D points
Definition: vtkPoints.h:30