Commit Graph

40 Commits

Author SHA1 Message Date
Kenneth Moreland
405643ddbb Rename NewFilter base classes to Filter
During the VTK-m 1.8 and 1.9 development, the filter infrastructure was
overhauled. Part of this created a completely new set of base classes. To
avoid confusion with the original filter base classes and ease transition,
the new filter base classes were named `NewFilter*`. Eventually after all
filters were transitioned, the old filter base classes were deprecated.

With the release of VTK-m 2.0, the old filter base classes are removed. The
"new" filter base classes are no longer new. Thus, they have been renamed
simply `Filter` (and `FilterField`).
2022-12-01 13:07:56 -07:00
Kenneth Moreland
3e1339f9a7 Remove deprecated features from VTK-m
With the major revision 2.0 of VTK-m, many items previously marked as
deprecated were removed. If updating to a new version of VTK-m, it is
recommended to first update to VTK-m 1.9, which will include the deprecated
features but provide warnings (with the right compiler) that will point to
the replacement code. Once the deprecations have been fixed, updating to
2.0 should be smoother.
2022-11-17 07:12:31 -06:00
Kenneth Moreland
a58c2cdacf Change how cell ghost levels are set
The name of the methods were changed from `AddGhostCellField` to
`SetGhostCellField` since only one field can be marked as the cell
ghost. Also automatically select a field that matches
`GetGlobalCellFieldName` if nothing else is set.
2022-11-09 08:40:37 -07:00
Kenneth Moreland
ad1e7b5bdb Add module mechanism
This mechanism sets up CMake variables that allow a user to select which
modules/libraries to create. Dependencies will be tracked down to ensure
that all of a module's dependencies are also enabled.

The modules are also arranged into groups.
Groups allow you to set the enable flag for a group of modules at once.
Thus, if you have several modules that are likely to be used together,
you can create a group for them.

This can be handy in converting user-friendly CMake options (such as
`VTKm_ENABLE_RENDERING`) to the modules that enable that by pointing to
the appropriate group.
2022-10-26 12:51:05 -06:00
Dave Pugmire
fbe78b45cf Change all usage of IsField* to Is*Field. 2022-08-29 14:42:02 -04:00
Tushar Athawale
aa01c51cb9 Addition of GhostCellField API to the Dataset Class
AddGhostCellField function for Dataset class

setGhostCellName function for GhostCellClassify class

setGhostCellName function for GhostCellClassify class

added default ghost cell name in Dataset class

Default ghost cell field name defined in GhostCellClassify class

Default ghost cell field name for GhostCellClassify class

Unit test for ghost field name check

Unit test for ghost field name check updated

Default ghost field name updated

Get function for GhostCellClassify and default ghost name

UnitTestStreamlineFilter updated with AddGhostCellField

AddGhostCellField and GetGlobalGhostCellFieldName propagated

GhostCellClassify constructor now defined in header file

Assigned default values to dataset class members GhostSet and GhostCellName

default values set for GhostSet and GhostCellName in dataset constructor

Constructor removed from dataset class and noexcept for GetGlobalGhostName

added Dataset constructor with noexcept

additions to make sure default move constructor has not changed

GhostSetName field made as a shared pointer since string class is not noexcept

AddGhostCellField funtion added without field name

hasGhostCellField added and unit tests updated for addGhostCellField

hasGhostCellField added and unit tests updated for addGhostCellField

GetGhostCellField and GetGhostCellFieldName functions added to Dataset

GetGhostCellField and GetGhostCellFieldName functions added to Dataset

debugging UnitTestCellLocatorGerneral for CUDA error

UnitTestCellLocatorGeneral testing for error

UnitTestCellLocatorGeneral testing for cude error

UnitTestCellLocatorGeneral error resolution

UnitTestCellLocatorGeneral error resolution

UnitTestCellLocatorGeneral error resolution print statement removed

Minor updates to Dataset class files

GlobalGhostCellFieldName implementation revised to return a static variable

GhostSet member removed, hasGhostCellField, constructor, copystructure updated

GetGhostCellField and GetGhostCellFieldName made cosistent with GetField

Fixes to a few function calls
2022-07-28 16:49:14 -04:00
Kenneth Moreland
7f96fce773 Move MeshQualityAspectGamma to its own filter
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.
2022-06-23 07:53:42 -06:00
Kenneth Moreland
c3fcc94643 Move MeshQualityAspectRatio to its own filter 2022-06-23 07:53:42 -06:00
Kenneth Moreland
5288afa5dc Move MeshQualityCondition to its own filter 2022-06-23 07:53:42 -06:00
Kenneth Moreland
86c0e1a960 Move MeshQualityDiagonalRatio to its own filter 2022-06-23 07:53:42 -06:00
Kenneth Moreland
0adf88fbd3 Move MeshQualityDimension to its own filter 2022-06-23 07:53:41 -06:00
Kenneth Moreland
cb119cf231 Move MeshQualityJacobian to its own filter 2022-06-23 07:53:41 -06:00
Kenneth Moreland
2431d4fef4 Move MeshQualityMaxAngle to its own filter 2022-06-23 07:53:32 -06:00
Kenneth Moreland
62653be035 Move MeshQualityMaxDiagonal to its own filter 2022-06-23 07:53:28 -06:00
Kenneth Moreland
1110d196bd Move MeshQualityMinAngle to its own filter 2022-06-23 07:53:28 -06:00
Kenneth Moreland
5b730abba5 Move MeshQualityMinDiagonal to its own filter 2022-06-23 07:53:28 -06:00
Kenneth Moreland
741d460ea7 Move MeshQualityOddy to its own filter 2022-06-23 07:53:27 -06:00
Kenneth Moreland
93982a0318 Move MeshQualityRelativeSizeSquared to its own filter 2022-06-23 07:53:23 -06:00
Kenneth Moreland
8df4ae52b1 Move MeshQualityScaledJacobian to its own filter 2022-06-23 07:53:22 -06:00
Kenneth Moreland
05cad24592 Move MeshQualityShapeAndSize to its own filter
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.
2022-06-23 07:53:12 -06:00
Kenneth Moreland
553e627455 Move MeshQualityShape to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
56ab12f117 Move MeshQualityShear to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
97af85ba7b Move MeshQualitySkew to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
6e4228cf23 Move MeshQualityStretch to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
9f4bf93bc3 Move MeshQualityTaper to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
af3b73777b Move MeshQualityWarpage to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
2702ee570d Move MeshQualityVolume to its own filter
Also using the MeshQualityArea and MeshQualityVolume filters to compute
the average area/volume for other metrics.
2022-06-23 07:53:11 -06:00
Kenneth Moreland
f307d69397 Move MeshQualityArea to its own filter 2022-06-23 07:53:11 -06:00
Kenneth Moreland
9da1d639e8 Merge topic 'gamma-typo'
ac8c8b1ce Fix typo: Gama -> Gamma

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2757
2022-04-22 12:34:22 -04:00
Kenneth Moreland
ac8c8b1cee Fix typo: Gama -> Gamma 2022-04-12 15:03:22 -06:00
Kenneth Moreland
60e6b3ec84 Fix deprecated method export
The deprecated class `vtkm::filter::MeshQuality` contained a private
method that was referenced in its inlined constructor. The problem was
that this private method was compiled in the `vtkm_filter_mesh_info`
library but not properly exported. Fix this by adding an export to the
class.
2022-04-12 10:26:54 -06:00
Vicente Adolfo Bolea Sanchez
86bf876178 cuda: Fix new cuda version warnings 2022-04-07 17:50:37 -04:00
Kenneth Moreland
5d90102f1b Remove deprecated use of vtkm::CellClassification 2022-03-17 15:34:01 -06:00
Kenneth Moreland
b2947a1d78 Improve deprecation support of CellMeasures
Moved deprecated class to new headers (so that indirect includes still
work).

Changed vtkm::filter::mesh_info::IntegrationType to a scoped enum (which
we favor in VTK-m).

Correct the implementation of the deprecated integration types (which
would not have actually compiled anyway).
2022-02-16 11:36:40 -07:00
Kenneth Moreland
5b7893a3f7 Support deprecated MeshQuality features
Reenable the `vtkm::filter::CellMetric` class and
`vtkm::filter::MetricNames` static variable for backward compatibility.
(Both are of course marked deprecated.)

Also, adjust names in the new `vtkm::filter::mesh_info::CellMetric` to
conform with the rest of VTK-m style for scoped enums.
2022-02-16 11:36:13 -07:00
Kenneth Moreland
c238cfea50 Improve deprecation support for moved or renamed headers
VTK-m has a deprecation method that supports API changes in minor
releases. When an API change is made, the old API is marked with the
VTKM_DEPRECATED macro. If code attempts to use the old API, it still
works, but the compiler issues a warning that the thing is deprecated
and where to find the new API.

We have recently run into an issue when the API changes have a header
file renamed or moved. We still keep the old header file with the old
API, so code including that file will still work. However, sometimes
code expected the contents of that header file without directly
including that header file. In these cases, the code could get an error
about missing classes.

As an example, consider the change from `DynamicCellSet` to
`UnknownCellSet`/`UncertainCellSet`. The deprecated `DynamicCellSet` is
still around. But there is a lot of code that did not directly include
DynamicCellSet.h. This header file was necessarily included by
DataSet.h. Now, when this code uses `vtkm::cont::DynamicCellSet`, you
get a confusing error that the class does not exist. Backward
compatibility broken.

In response to this, we should be more careful about where we put the
deprecated API. Instead of containing the deprecated API, moved headers
should be empty except for a warning and an inclusion of the new header
file. The deprecated API should be moved to the new header file. For
example, in the case of `DynamicCellSet`, the implementation for the
deprecated `DynamicCellSet` is moved to UnknownCellSet.h, which is
included by anything that was including DynamicCellSet.h before.
2022-02-16 07:08:05 -07:00
Li-Ta Lo
ae4ad5239f remove #include<CreateResult.h> 2022-02-09 13:32:00 -07:00
Li-Ta Lo
04e494dd4b tidy-up language usage 2022-02-08 09:44:57 -07:00
Li-Ta Lo
236d4c8a2b add newline at eof 2022-02-08 07:22:46 -07:00
Li-Ta Lo
ee0f112f0e migrate mesh info filters 2022-02-08 07:18:24 -07:00