`UnknownArrayHandle` compares `std::type_index` objects to check whether a
requested type is the same as that held in the array handle. However, it is
possible that different translation units can create different but
equivalent `std::type_info`/`std::type_index` objects. In this case, the
`==` operator might return false for two equivalent types. This can happen
on OSX.
To get around this problem, `UnknownArrayHandle` now does a more extensive
check for `std::type_info` object. It first uses the `==` operator to
compare them (as before), which usually works but can possibly return
`false` when the correct result is `true`. To check for this case, it then
compares the name for the two types and returns `true` iff the two names
are the same.
There was a bug where if you attempted to copy a variant that was not
valid (i.e. did not hold an object), a seg fault could happen. This has
been changed to set the target variant to also be invalid.
6e5ad1a32 Add changelog for splitting MeshQuality filter
7f96fce77 Move MeshQualityAspectGamma to its own filter
c3fcc9464 Move MeshQualityAspectRatio to its own filter
5288afa5d Move MeshQualityCondition to its own filter
86c0e1a96 Move MeshQualityDiagonalRatio to its own filter
0adf88fbd Move MeshQualityDimension to its own filter
cb119cf23 Move MeshQualityJacobian to its own filter
2431d4fef Move MeshQualityMaxAngle to its own filter
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Li-Ta Lo <ollie@lanl.gov>
Merge-request: !2792
All the mesh quality metrics are now in their own filter. Remove the
worklet that attempted to do all of them and clean up the uber
MeshQuality filter to only be using the specific filters.
Also added functions to MeshQualityArea and MeshQualityVolume to find
the average area and volume, respectively, of a dataset. This can now be
shared among metrics that need this value.
Also had to make a small change to the Run method of MeshQualityWorklet
to preserve state of the worklet.
Previously, MIRFilter directly used MeshQuality's worklet to compute
areas/volumes. However, it is not a great idea to be touching the
internal worklets of other filters, which are going to change soon.
Besides, this should speed up compilation a little bit since the mesh
quality will only have to be compiled once.
982e96553 1.8.0 is our 12th official release of VTK-m.
fdd5e04eb Update release notes for 1.8.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !2787