VTK-m  2.2
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
vtkm::worklet::MaskSelect Class Reference

Mask using arrays to select specific elements to suppress. More...

#include <MaskSelect.h>

Inheritance diagram for vtkm::worklet::MaskSelect:

Public Types

using ThreadToOutputMapType = vtkm::cont::ArrayHandle< vtkm::Id >
 

Public Member Functions

 MaskSelect (const vtkm::cont::UnknownArrayHandle &maskArray, vtkm::cont::DeviceAdapterId device=vtkm::cont::DeviceAdapterTagAny())
 
template<typename RangeType >
vtkm::Id GetThreadRange (RangeType) const
 
template<typename RangeType >
ThreadToOutputMapType GetThreadToOutputMap (RangeType) const
 

Private Types

using MaskTypes = vtkm::List< vtkm::Int32, vtkm::Int64, vtkm::UInt32, vtkm::UInt64, vtkm::Int8, vtkm::UInt8, char >
 

Private Member Functions

ThreadToOutputMapType Build (const vtkm::cont::UnknownArrayHandle &maskArray, vtkm::cont::DeviceAdapterId device)
 

Private Attributes

ThreadToOutputMapType ThreadToOutputMap
 

Detailed Description

Mask using arrays to select specific elements to suppress.

MaskSelect is a worklet mask object that is used to select elements in the output of a worklet to suppress the invocation. That is, the worklet will only be invoked for elements in the output that are not masked out by the given array.

MaskSelect is initialized with a mask array. This array should contain a 0 for any entry that should be masked and a 1 for any output that should be generated. It is an error to have any value that is not a 0 or 1. This method is slower than specifying an index array.

Member Typedef Documentation

◆ MaskTypes

◆ ThreadToOutputMapType

Constructor & Destructor Documentation

◆ MaskSelect()

vtkm::worklet::MaskSelect::MaskSelect ( const vtkm::cont::UnknownArrayHandle maskArray,
vtkm::cont::DeviceAdapterId  device = vtkm::cont::DeviceAdapterTagAny() 
)
inline

Member Function Documentation

◆ Build()

ThreadToOutputMapType vtkm::worklet::MaskSelect::Build ( const vtkm::cont::UnknownArrayHandle maskArray,
vtkm::cont::DeviceAdapterId  device 
)
private

◆ GetThreadRange()

template<typename RangeType >
vtkm::Id vtkm::worklet::MaskSelect::GetThreadRange ( RangeType  ) const
inline

◆ GetThreadToOutputMap()

template<typename RangeType >
ThreadToOutputMapType vtkm::worklet::MaskSelect::GetThreadToOutputMap ( RangeType  ) const
inline

Member Data Documentation

◆ ThreadToOutputMap

ThreadToOutputMapType vtkm::worklet::MaskSelect::ThreadToOutputMap
private

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