VTK-m
2.2
|
Rearranges the cells of one cell set to create another cell set. More...
#include <CastAndCall.h>
Public Types | |
using | OriginalCellSetType = OriginalCellSetType_ |
using | PermutationArrayHandleType = PermutationArrayHandleType_ |
template<typename VisitTopology , typename IncidentTopology > | |
using | ExecConnectivityType = typename internal::CellSetPermutationConnectivityChooser< VisitTopology, IncidentTopology, OriginalCellSetType, PermutationArrayHandleType >::ExecConnectivityType |
Private Types | |
using | VisitPointsWithCellsConnectivity = vtkm::cont::internal::ConnectivityExplicitInternals< typename ArrayHandleConstant< vtkm::UInt8 >::StorageTag > |
Private Attributes | |
PermutationArrayHandleType | ValidCellIds |
OriginalCellSetType | FullCellSet |
VisitPointsWithCellsConnectivity | VisitPointsWithCells |
Rearranges the cells of one cell set to create another cell set.
This restructuring of cells is not done by copying data to a new structure. Rather, CellSetPermutation
establishes a look-up from one cell structure to another. Cells are permuted on the fly while algorithms are run.
A CellSetPermutation
is established by providing a mapping array that for every cell index provides the equivalent cell index in the cell set being permuted. CellSetPermutation
is most often used to mask out cells in a data set so that algorithms will skip over those cells when running.
using vtkm::cont::CellSetPermutation< OriginalCellSetType_, PermutationArrayHandleType_ >::ExecConnectivityType = typename internal::CellSetPermutationConnectivityChooser< VisitTopology, IncidentTopology, OriginalCellSetType, PermutationArrayHandleType>::ExecConnectivityType |
using vtkm::cont::CellSetPermutation< OriginalCellSetType_, PermutationArrayHandleType_ >::OriginalCellSetType = OriginalCellSetType_ |
using vtkm::cont::CellSetPermutation< OriginalCellSetType_, PermutationArrayHandleType_ >::PermutationArrayHandleType = PermutationArrayHandleType_ |
|
private |
|
inline |
Create a CellSetPermutation
.
[in] | validCellIds | An array that defines the permutation. If index i is value j, then the ith cell of this cell set will be the same as the jth cell in the original cellset. |
[in] | cellset | The original cell set that this one is permuting. |
|
inline |
|
inlineoverride |
|
inline |
|
inlineoverride |
|
inline |
Set the topology.
[in] | validCellIds | An array that defines the permutation. If index i is value j, then the ith cell of this cell set will be the same as the jth cell in the original cellset. |
[in] | cellset | The original cell set that this one is permuting. |
|
inlineoverride |
|
inlineoverride |
|
inline |
Returns the original CellSet
that this one is permuting.
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inlineoverride |
|
inline |
|
inline |
|
inline |
Returns the array used to permute the cell indices.
|
inlineoverride |
|
inline |
|
inline |
Prepares the data for a particular device and returns the execution object for it.
device | Specifies the device on which the cell set will ve available. |
visitTopology | Specifies the "visit" topology element. This is the element that will be indexed in the resulting connectivity object. This is typically vtkm::TopologyElementTagPoint or vtkm::TopologyElementTagCell . |
incidentTopology | Specifies the "incident" topology element. This is the element that will incident to the elements that are visited. This is typically vtkm::TopologyElementTagPoint or vtkm::TopologyElementTagCell . |
token | Provides a vtkm::cont::Token object that will define the span which the return execution object must be valid. |
|
inline |
Prepares the data for a particular device and returns the execution object for it.
device | Specifies the device on which the cell set will ve available. |
visitTopology | Specifies the "visit" topology element. This is the element that will be indexed in the resulting connectivity object. This is typically vtkm::TopologyElementTagPoint or vtkm::TopologyElementTagCell . |
incidentTopology | Specifies the "incident" topology element. This is the element that will incident to the elements that are visited. This is typically vtkm::TopologyElementTagPoint or vtkm::TopologyElementTagCell . |
token | Provides a vtkm::cont::Token object that will define the span which the return execution object must be valid. |
|
inlineoverride |
|
inlineoverride |
|
private |
|
private |
|
mutableprivate |