vtk-m/examples
Kenneth Moreland 2af555f6c9 Simplify serialization of DataSet objects
`vtkm::cont::DataSet` is a dynamic object that can hold cell sets and
fields of many different types, none of which are known until runtime. This
causes a problem with serialization, which has to know what type to compile
the serialization for, particularly when unserializing the type at the
receiving end. The original implementation "solved" the problem by creating
a secondary wrapper object that was templated on types of field arrays and
cell sets that might be serialized. This is not a great solution as it
punts the problem to algorithm developers.

This problem has been completely solved for fields, as it is possible to
serialize most types of arrays without knowing their type now. You still
need to iterate over every possible `CellSet` type, but there are not that
many `CellSet`s that are practically encountered. Thus, there is now a
direct implementation of `Serialization` for `DataSet` that covers all the
data types you are likely to encounter.

The old `SerializableDataSet` has been deprecated. In the unlikely event an
algorithm needs to transfer a non-standard type of `CellSet` (such as a
permuted cell set), it can use the replacement `DataSetWithCellSetTypes`,
which just specifies the cell set types.
2023-03-03 09:17:44 -07:00
..
clipping cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
contour_tree cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
contour_tree_augmented cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
contour_tree_distributed Remove bad import and fix warning in ContourTreeAppDataIO.h 2023-01-16 18:26:32 -08:00
cosmotools cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
demo cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
game_of_life cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
hello_worklet cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
histogram cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
ising cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
lagrangian cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
lagrangian_structures cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
logistic_map cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
mesh_quality cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
multi_backend cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
oscillator cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
particle_advection Hide Particle class members 2022-12-13 13:19:21 -05:00
polyline_archimedean_helix cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
redistribute_points Simplify serialization of DataSet objects 2023-03-03 09:17:44 -07:00
smoke_test cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
streamline_mpi Remove bade import in streamline_mpi example 2023-01-16 18:25:17 -08:00
temporal_advection Hide Particle class members 2022-12-13 13:19:21 -05:00
tetrahedra cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
CMakeLists.txt cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00