|
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 |
|
Reduce the number of triangles in a mesh.
VertexClustering is a filter to reduce the number of triangles in a triangle mesh, forming a good approximation to the original geometry. The input must be a dataset that only contains triangles.
The general approach of the algorithm is to cluster vertices in a uniform binning of space, accumulating to an average point within each bin. In more detail, the algorithm first gets the bounds of the input poly data. It then breaks this bounding volume into a user-specified number of spatial bins. It then reads each triangle from the input and hashes its vertices into these bins. Then, if 2 or more vertices of the triangle fall in the same bin, the triangle is dicarded. If the triangle is not discarded, it adds the triangle to the list of output triangles as a list of vertex identifiers. (There is one vertex id per bin.) After all the triangles have been read, the representative vertex for each bin is computed. This determines the spatial location of the vertices of each of the triangles in the output.
To use this filter, specify the divisions defining the spatial subdivision in the x, y, and z directions. Compared to algorithms such as vtkQuadricClustering, a significantly higher bin count is recommended as it doesn't increase the computation or memory of the algorithm and will produce significantly better results.
- Warning
- This filter currently doesn't propagate cell or point fields