VTK-m
2.0
|
Clean a mesh to an unstructured grid. More...
#include <CleanGrid.h>
Public Member Functions | |
VTKM_CONT bool | GetCompactPointFields () const |
When the CompactPointFields flag is true, the filter will identify any points that are not used by the topology. More... | |
VTKM_CONT void | SetCompactPointFields (bool flag) |
VTKM_CONT bool | GetMergePoints () const |
When the MergePoints flag is true, the filter will identify any coincident points and merge them together. More... | |
VTKM_CONT void | SetMergePoints (bool flag) |
VTKM_CONT vtkm::Float64 | GetTolerance () const |
Defines the tolerance used when determining whether two points are considered coincident. More... | |
VTKM_CONT void | SetTolerance (vtkm::Float64 tolerance) |
VTKM_CONT bool | GetToleranceIsAbsolute () const |
When ToleranceIsAbsolute is false (the default) then the tolerance is scaled by the diagonal of the bounds of the dataset. More... | |
VTKM_CONT void | SetToleranceIsAbsolute (bool flag) |
VTKM_CONT bool | GetRemoveDegenerateCells () const |
Determine whether a cell is degenerate (that is, has repeated points that drops its dimensionalit) and removes them. More... | |
VTKM_CONT void | SetRemoveDegenerateCells (bool flag) |
VTKM_CONT bool | GetFastMerge () const |
When FastMerge is true (the default), some corners are cut when computing coincident points. More... | |
VTKM_CONT void | SetFastMerge (bool flag) |
![]() | |
FilterField () | |
VTKM_CONT void | SetOutputFieldName (const std::string &name) |
const VTKM_CONT std::string & | GetOutputFieldName () const |
VTKM_CONT void | SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any) |
void | SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any) |
const VTKM_CONT std::string & | GetActiveFieldName (vtkm::IdComponent index=0) const |
VTKM_CONT vtkm::cont::Field::Association | GetActiveFieldAssociation (vtkm::IdComponent index=0) const |
VTKM_CONT void | SetActiveCoordinateSystem (vtkm::Id coord_idx) |
VTKM_CONT void | SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx) |
VTKM_CONT vtkm::Id | GetActiveCoordinateSystemIndex () const |
VTKM_CONT vtkm::Id | GetActiveCoordinateSystemIndex (vtkm::IdComponent index) const |
VTKM_CONT void | SetUseCoordinateSystemAsField (bool val) |
VTKM_CONT void | SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val) |
VTKM_CONT bool | GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const |
![]() | |
virtual VTKM_CONT | ~Filter () |
virtual VTKM_CONT bool | CanThread () const |
VTKM_CONT void | SetThreadsPerCPU (vtkm::Id numThreads) |
VTKM_CONT void | SetThreadsPerGPU (vtkm::Id numThreads) |
VTKM_CONT vtkm::Id | GetThreadsPerCPU () const |
VTKM_CONT vtkm::Id | GetThreadsPerGPU () const |
VTKM_CONT bool | GetRunMultiThreadedFilter () const |
VTKM_CONT void | SetRunMultiThreadedFilter (bool val) |
void | SetInvoker (vtkm::cont::Invoker inv) |
Specify the vtkm::cont::Invoker to be used to execute worklets by this filter instance. More... | |
VTKM_CONT void | SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass) |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass) |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode) |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetFieldsToPass (std::initializer_list< std::string > fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select) |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetFieldsToPass (std::initializer_list< std::pair< std::string, vtkm::cont::Field::Association >> fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select) |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetFieldsToPass (const std::string &fieldname, vtkm::cont::Field::Association association, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select) |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode) |
Specify which fields get passed from input to output. More... | |
const VTKM_CONT vtkm::filter::FieldSelection & | GetFieldsToPass () const |
Specify which fields get passed from input to output. More... | |
VTKM_CONT vtkm::filter::FieldSelection & | GetFieldsToPass () |
Specify which fields get passed from input to output. More... | |
VTKM_CONT void | SetPassCoordinateSystems (bool flag) |
Specify whether to always pass coordinate systems. More... | |
VTKM_CONT bool | GetPassCoordinateSystems () const |
Specify whether to always pass coordinate systems. More... | |
VTKM_CONT vtkm::cont::DataSet | Execute (const vtkm::cont::DataSet &input) |
VTKM_CONT vtkm::cont::PartitionedDataSet | Execute (const vtkm::cont::PartitionedDataSet &input) |
Private Member Functions | |
VTKM_CONT vtkm::cont::DataSet | DoExecute (const vtkm::cont::DataSet &inData) override |
VTKM_CONT vtkm::cont::DataSet | GenerateOutput (const vtkm::cont::DataSet &inData, vtkm::cont::CellSetExplicit<> &outputCellSet, clean_grid::SharedStates &worklets) |
Private Attributes | |
bool | CompactPointFields = true |
bool | MergePoints = true |
vtkm::Float64 | Tolerance = 1.0e-6 |
bool | ToleranceIsAbsolute = false |
bool | RemoveDegenerateCells = true |
bool | FastMerge = true |
Additional Inherited Members | |
![]() | |
const VTKM_CONT vtkm::cont::Field & | GetFieldFromDataSet (const vtkm::cont::DataSet &input) const |
const VTKM_CONT vtkm::cont::Field & | GetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const |
template<typename Functor , typename... Args> | |
VTKM_CONT void | CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const |
template<typename Functor , typename... Args> | |
VTKM_CONT void | CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const |
template<vtkm::IdComponent VecSize, typename Functor , typename... Args> | |
VTKM_CONT void | CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const |
template<vtkm::IdComponent VecSize, typename Functor , typename... Args> | |
VTKM_CONT void | CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const |
VTKM_CONT vtkm::cont::DataSet | CreateResultField (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::Field &resultField) const |
Create the output data set for DoExecute More... | |
VTKM_CONT vtkm::cont::DataSet | CreateResultField (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, vtkm::cont::Field::Association resultFieldAssociation, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const |
Create the output data set for DoExecute More... | |
VTKM_CONT vtkm::cont::DataSet | CreateResultFieldPoint (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const |
Create the output data set for DoExecute More... | |
VTKM_CONT vtkm::cont::DataSet | CreateResultFieldCell (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const |
Create the output data set for DoExecute More... | |
![]() | |
VTKM_CONT vtkm::cont::DataSet | CreateResult (const vtkm::cont::DataSet &inDataSet) const |
Create the output data set for DoExecute . More... | |
VTKM_CONT vtkm::cont::PartitionedDataSet | CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions) const |
Create the output data set for DoExecute . More... | |
template<typename FieldMapper > | |
VTKM_CONT vtkm::cont::PartitionedDataSet | CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions, FieldMapper &&fieldMapper) const |
Create the output data set for DoExecute . More... | |
template<typename FieldMapper > | |
VTKM_CONT vtkm::cont::DataSet | CreateResult (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, FieldMapper &&fieldMapper) const |
Create the output data set for DoExecute . More... | |
virtual VTKM_CONT vtkm::cont::PartitionedDataSet | DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData) |
template<typename FieldMapper > | |
VTKM_CONT vtkm::cont::DataSet | CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const vtkm::cont::CoordinateSystem &resultCoordSystem, FieldMapper &&fieldMapper) const |
Create the output data set for DoExecute . More... | |
template<typename FieldMapper > | |
VTKM_CONT vtkm::cont::DataSet | CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const std::string &coordsName, const vtkm::cont::UnknownArrayHandle &coordsData, FieldMapper &&fieldMapper) const |
Create the output data set for DoExecute . More... | |
![]() | |
vtkm::cont::Invoker | Invoke |
Clean a mesh to an unstructured grid.
This filter takes a data set and essentially copies it into a new data set. The newly constructed data set will have the same cells as the input and the topology will be stored in a CellSetExplicit<>
. The filter will also optionally remove all unused points.
Note that the result of CleanGrid
is not necessarily smaller than the input. For example, "cleaning" a data set with a CellSetStructured
topology will actually result in a much larger data set.
|
overrideprivatevirtual |
Implements vtkm::filter::Filter.
|
private |
|
inline |
When the CompactPointFields flag is true, the filter will identify any points that are not used by the topology.
This is on by default.
|
inline |
When FastMerge is true (the default), some corners are cut when computing coincident points.
The point merge will go faster but the tolerance will not be strictly followed.
|
inline |
When the MergePoints flag is true, the filter will identify any coincident points and merge them together.
The distance two points can be to considered coincident is set with the tolerance flags. This is on by default.
|
inline |
Determine whether a cell is degenerate (that is, has repeated points that drops its dimensionalit) and removes them.
This is on by default.
|
inline |
Defines the tolerance used when determining whether two points are considered coincident.
If the ToleranceIsAbsolute flag is false (the default), then this tolerance is scaled by the diagonal of the points.
|
inline |
When ToleranceIsAbsolute is false (the default) then the tolerance is scaled by the diagonal of the bounds of the dataset.
If true, then the tolerance is taken as the actual distance to use.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |