VTK-m  2.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::filter::entity_extraction::ExternalFaces Class Reference

Extract external faces of a geometry. More...

#include <ExternalFaces.h>

Inheritance diagram for vtkm::filter::entity_extraction::ExternalFaces:
vtkm::filter::Filter

Public Member Functions

 ExternalFaces ()
 
 ~ExternalFaces () override
 
bool CanThread () const override
 Returns whether the filter can execute on partitions in concurrent threads. More...
 
bool GetCompactPoints () const
 Option to remove unused points and compact result int a smaller array. More...
 
void SetCompactPoints (bool value)
 Option to remove unused points and compact result int a smaller array. More...
 
bool GetPassPolyData () const
 Specify how polygonal data (polygons, lines, and vertices) will be handled. More...
 
void SetPassPolyData (bool value)
 Specify how polygonal data (polygons, lines, and vertices) will be handled. More...
 
- Public Member Functions inherited from vtkm::filter::Filter
 Filter ()
 
virtual ~Filter ()
 
vtkm::cont::DataSet Execute (const vtkm::cont::DataSet &input)
 Executes the filter on the input and produces a result dataset. More...
 
vtkm::cont::PartitionedDataSet Execute (const vtkm::cont::PartitionedDataSet &input)
 Executes the filter on the input PartitionedDataSet and produces a result PartitionedDataSet. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode)
 
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...
 
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...
 
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...
 
void SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
const vtkm::filter::FieldSelectionGetFieldsToPass () const
 Specify which fields get passed from input to output. More...
 
vtkm::filter::FieldSelectionGetFieldsToPass ()
 Specify which fields get passed from input to output. More...
 
void SetPassCoordinateSystems (bool flag)
 Specify whether to always pass coordinate systems. More...
 
bool GetPassCoordinateSystems () const
 Specify whether to always pass coordinate systems. More...
 
void SetOutputFieldName (const std::string &name)
 Specifies the name of the output field generated. More...
 
const std::string & GetOutputFieldName () const
 Specifies the name of the output field generated. More...
 
void SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
void SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
const std::string & GetActiveFieldName (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
vtkm::cont::Field::Association GetActiveFieldAssociation (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
void SetActiveCoordinateSystem (vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
vtkm::Id GetActiveCoordinateSystemIndex (vtkm::IdComponent index=0) const
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetUseCoordinateSystemAsField (bool val)
 Specifies whether to use point coordinates as the input field. More...
 
void SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val)
 Specifies whether to use point coordinates as the input field. More...
 
bool GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const
 Specifies whether to use point coordinates as the input field. More...
 
vtkm::IdComponent GetNumberOfActiveFields () const
 Return the number of active fields currently set. More...
 
void SetThreadsPerCPU (vtkm::Id numThreads)
 
void SetThreadsPerGPU (vtkm::Id numThreads)
 
vtkm::Id GetThreadsPerCPU () const
 
vtkm::Id GetThreadsPerGPU () const
 
bool GetRunMultiThreadedFilter () const
 
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...
 

Private Member Functions

vtkm::cont::DataSet DoExecute (const vtkm::cont::DataSet &input) override
 
vtkm::cont::DataSet GenerateOutput (const vtkm::cont::DataSet &input, vtkm::cont::CellSetExplicit<> &outCellSet)
 
bool MapFieldOntoOutput (vtkm::cont::DataSet &result, const vtkm::cont::Field &field)
 

Private Attributes

bool CompactPoints = false
 
bool PassPolyData = true
 
std::unique_ptr< vtkm::worklet::ExternalFaces > Worklet
 

Additional Inherited Members

- Protected Member Functions inherited from vtkm::filter::Filter
vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet) const
 Create the output data set for DoExecute. More...
 
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::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::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::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::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::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::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
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::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...
 
const vtkm::cont::FieldGetFieldFromDataSet (const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
const vtkm::cont::FieldGetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
virtual vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData)
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
- Protected Attributes inherited from vtkm::filter::Filter
vtkm::cont::Invoker Invoke
 

Detailed Description

Extract external faces of a geometry.

ExternalFaces is a filter that extracts all external faces from a data set. An external face is defined is defined as a face/side of a cell that belongs only to one cell in the entire mesh.

Constructor & Destructor Documentation

◆ ExternalFaces()

vtkm::filter::entity_extraction::ExternalFaces::ExternalFaces ( )

◆ ~ExternalFaces()

vtkm::filter::entity_extraction::ExternalFaces::~ExternalFaces ( )
override

Member Function Documentation

◆ CanThread()

bool vtkm::filter::entity_extraction::ExternalFaces::CanThread ( ) const
inlineoverridevirtual

Returns whether the filter can execute on partitions in concurrent threads.

If a derived class's implementation of DoExecute cannot run on multiple threads, then the derived class should override this method to return false.

Reimplemented from vtkm::filter::Filter.

◆ DoExecute()

vtkm::cont::DataSet vtkm::filter::entity_extraction::ExternalFaces::DoExecute ( const vtkm::cont::DataSet input)
overrideprivatevirtual

Implements vtkm::filter::Filter.

◆ GenerateOutput()

vtkm::cont::DataSet vtkm::filter::entity_extraction::ExternalFaces::GenerateOutput ( const vtkm::cont::DataSet input,
vtkm::cont::CellSetExplicit<> &  outCellSet 
)
private

◆ GetCompactPoints()

bool vtkm::filter::entity_extraction::ExternalFaces::GetCompactPoints ( ) const
inline

Option to remove unused points and compact result int a smaller array.

When CompactPoints is on, instead of copying the points and point fields from the input, the filter will create new compact fields without the unused elements. When off (the default), unused points will remain listed in the topology, but point fields and coordinate systems will be shallow-copied to the output.

◆ GetPassPolyData()

bool vtkm::filter::entity_extraction::ExternalFaces::GetPassPolyData ( ) const
inline

Specify how polygonal data (polygons, lines, and vertices) will be handled.

When on (the default), these cells will be passed to the output. When off, these cells will be removed from the output. (Because they have less than 3 topological dimensions, they are not considered to have any "faces.")

◆ MapFieldOntoOutput()

bool vtkm::filter::entity_extraction::ExternalFaces::MapFieldOntoOutput ( vtkm::cont::DataSet result,
const vtkm::cont::Field field 
)
private

◆ SetCompactPoints()

void vtkm::filter::entity_extraction::ExternalFaces::SetCompactPoints ( bool  value)
inline

Option to remove unused points and compact result int a smaller array.

When CompactPoints is on, instead of copying the points and point fields from the input, the filter will create new compact fields without the unused elements. When off (the default), unused points will remain listed in the topology, but point fields and coordinate systems will be shallow-copied to the output.

◆ SetPassPolyData()

void vtkm::filter::entity_extraction::ExternalFaces::SetPassPolyData ( bool  value)

Specify how polygonal data (polygons, lines, and vertices) will be handled.

When on (the default), these cells will be passed to the output. When off, these cells will be removed from the output. (Because they have less than 3 topological dimensions, they are not considered to have any "faces.")

Member Data Documentation

◆ CompactPoints

bool vtkm::filter::entity_extraction::ExternalFaces::CompactPoints = false
private

◆ PassPolyData

bool vtkm::filter::entity_extraction::ExternalFaces::PassPolyData = true
private

◆ Worklet

std::unique_ptr<vtkm::worklet::ExternalFaces> vtkm::filter::entity_extraction::ExternalFaces::Worklet
private

The documentation for this class was generated from the following file: