vtk-m/vtkm
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
..
cont Simplify serialization of DataSet objects 2023-03-03 09:17:44 -07:00
exec Fix compile issues when using cuda 12 2023-02-06 12:26:55 -05:00
filter Simplify serialization of DataSet objects 2023-03-03 09:17:44 -07:00
internal cxx,c++: Remove c++14 references 2023-02-23 19:30:58 -05:00
interop Add module mechanism 2022-10-26 12:51:05 -06:00
io Merge branch 'master' into add_hdf5_reader 2023-01-16 17:56:36 -08:00
random Add module mechanism 2022-10-26 12:51:05 -06:00
rendering Changes for compiling with SYCL 2023-02-15 14:38:59 -07:00
source Change auto seed behavior in PerlinNoise source 2022-12-06 12:21:04 -07:00
testing Enable floating point exceptions on apple 2023-01-27 14:08:11 -07:00
thirdparty cmake: namespace vtkm export targets 2022-12-09 18:46:56 -05:00
worklet Change PointAverage to work on fields of any type 2023-02-03 14:52:04 -05:00
.gitattributes
Assert.h Disable VTKM_ASSERT when using HIP 2020-09-25 11:06:57 -04:00
Atomic.h CI: updates kokkos version 2021-09-20 18:23:16 -04:00
BinaryOperators.h Make BinaryOperators/Predicates more flexible. 2019-12-18 15:51:59 -05:00
BinaryPredicates.h Make BinaryOperators/Predicates more flexible. 2019-12-18 15:51:59 -05:00
Bitset.h Add unittest for particlearraycopy 2020-06-18 15:45:36 -04:00
Bounds.h Add a new unstructured cell locator 2022-11-22 09:51:40 -05:00
CellClassification.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellShape.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CellTraits.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CMakeLists.txt Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Deprecated.h Disable deprecation for MSVC 2017 2021-04-26 12:47:44 -06:00
ErrorCode.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Flags.h
Geometry.h
Geometry.hxx Update vtkm/Geometry.hxx to follow clangs rules on function markup 2020-09-25 09:37:46 -04:00
Hash.h
ImplicitFunction.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
List.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
LowerBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
Math.h Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:51:17 -05:00
Math.h.in Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:46:13 -05:00
Matrix.h Break LUP factorization when invalid matrix found 2021-07-12 10:29:46 -06:00
NewtonsMethod.h
Pair.h
Particle.h Hide Particle class members 2022-12-13 13:19:21 -05:00
Range.h Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
RangeId2.h ExtractStructured now compiles quicker and with less compiler memory 2019-12-11 08:59:42 -05:00
RangeId3.h ExtractStructured now compiles quicker and with less compiler memory 2019-12-11 08:59:42 -05:00
RangeId.h ExtractStructured now compiles quicker and with less compiler memory 2019-12-11 08:59:42 -05:00
StaticAssert.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Swap.h Fix compile issues when using cuda 12 2023-02-06 12:26:55 -05:00
TopologyElementTag.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
Transform3D.h
Tuple.h Update vtk-m doxygen to generate less warnings 2020-06-01 16:58:32 -04:00
Tuple.h.in Update doxygen comments in Tuple.h.in 2020-06-03 09:22:48 -06:00
TypeList.h Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
Types.h Fix dot product type promotion 2023-02-08 07:04:07 -07:00
TypeTraits.h Add implementation of ArrayRangeCompute for UnknownArrayHandle 2021-02-17 09:18:31 -07:00
UnaryPredicates.h
UpperBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
VecAxisAlignedPointCoordinates.h Add VecFlat class 2020-12-16 17:22:44 -07:00
VecFlat.h Add more safety to VecTraits 2023-02-16 07:04:10 -07:00
VecFromPortal.h Add ArrayHandleRuntimeVec 2023-02-16 07:04:10 -07:00
VecFromPortalPermute.h Add recursive component queries to VecTraits 2019-09-09 08:19:15 -06:00
VectorAnalysis.h Avoid floating point exception in Orthonormalize 2021-07-12 10:29:46 -06:00
VecTraits.h Add more safety to VecTraits 2023-02-16 07:04:10 -07:00
VecVariable.h Generalize fields for particle advection 2020-07-20 21:15:46 -04:00
Version.h.in
vtkm.module Add module mechanism 2022-10-26 12:51:05 -06:00