Go to the documentation of this file.
11 #ifndef vtk_m_worklet_TetrahedralizeExplicit_h
12 #define vtk_m_worklet_TetrahedralizeExplicit_h
45 using ControlSignature = void(CellSetIn cells, ExecObject tables, FieldOut tetrahedronCount);
52 template <
typename CellShapeTag>
55 const vtkm::worklet::internal::TetrahedralizeTablesExecutionObject& tables)
const
57 return tables.GetCount(shape);
76 template <
typename CellArrayType>
83 template <
typename CellShapeTag,
typename ConnectivityInVec,
typename ConnectivityOutVec>
86 const ConnectivityInVec& connectivityIn,
87 const vtkm::worklet::internal::TetrahedralizeTablesExecutionObject& tables,
88 ConnectivityOutVec& connectivityOut,
92 connectivityOut[0] = connectivityIn[tetIndices[0]];
93 connectivityOut[1] = connectivityIn[tetIndices[1]];
94 connectivityOut[2] = connectivityIn[tetIndices[2]];
95 connectivityOut[3] = connectivityIn[tetIndices[3]];
99 template <
typename CellSetType>
110 vtkm::worklet::internal::TetrahedralizeTables tables;
120 vtkm::cont::make_ArrayHandleGroupVec<4>(outConnectivity));
130 #endif // vtk_m_worklet_TetrahedralizeExplicit_h
VTKM_CONT TetrahedraPerCell()
Definition: TetrahedralizeExplicit.h:50
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
void(CellSetIn cells, ExecObject tables, FieldOut tetrahedronCount) ControlSignature
Definition: TetrahedralizeExplicit.h:45
_1 InputDomain
Definition: TetrahedralizeExplicit.h:72
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
Definition: CastAndCall.h:34
VTKM_EXEC vtkm::IdComponent operator()(CellShapeTag shape, const vtkm::worklet::internal::TetrahedralizeTablesExecutionObject &tables) const
Definition: TetrahedralizeExplicit.h:53
IncidentElementIndices PointIndices
Definition: WorkletMapTopology.h:269
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
A scatter that maps input to some numbers of output.
Definition: ScatterCounting.h:44
TetrahedralizeExplicit()
Definition: TetrahedralizeExplicit.h:37
Compute the tetrahedralize cells for an explicit grid data set.
Definition: TetrahedralizeExplicit.h:34
Definition: TetrahedralizeExplicit.h:65
Allows launching any worklet without a dispatcher.
Definition: Invoker.h:41
Base class for worklets that map from Points to Cells.
Definition: WorkletMapTopology.h:255
#define VTKM_CONT
Definition: ExportMacros.h:57
void(CellSetIn cellset, ExecObject tables, FieldOutCell connectivityOut) ControlSignature
Definition: TetrahedralizeExplicit.h:70
void(CellShape, PointIndices, _2, _3, VisitIndex) ExecutionSignature
Definition: TetrahedralizeExplicit.h:71
VTKM_EXEC void operator()(CellShapeTag shape, const ConnectivityInVec &connectivityIn, const vtkm::worklet::internal::TetrahedralizeTablesExecutionObject &tables, ConnectivityOutVec &connectivityOut, vtkm::IdComponent visitIndex) const
Definition: TetrahedralizeExplicit.h:84
vtkm::worklet::ScatterCounting ScatterType
Definition: TetrahedralizeExplicit.h:74
_3(CellShape, _2) ExecutionSignature
Definition: TetrahedralizeExplicit.h:46
A short fixed-length array.
Definition: Types.h:767
vtkm::cont::CellSetSingleType Run(const CellSetType &cellSet, vtkm::cont::ArrayHandle< vtkm::IdComponent > &outCellsPerCell)
Definition: TetrahedralizeExplicit.h:100
_1 InputDomain
Definition: TetrahedralizeExplicit.h:47
VTKM_CONT void Fill(vtkm::Id numPoints, vtkm::UInt8 shapeId, vtkm::IdComponent numberOfPointsPerCell, const vtkm::cont::ArrayHandle< vtkm::Id, ConnectivityStorageTag > &connectivity)
Definition: CellSetSingleType.h:186
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:43
Definition: TetrahedralizeExplicit.h:42
FieldOut FieldOutCell
Definition: WorkletMapTopology.h:263
static VTKM_CONT ScatterType MakeScatter(const CellArrayType &cellArray)
Definition: TetrahedralizeExplicit.h:77