Go to the documentation of this file.
11 #ifndef vtk_m_worklet_TriangulateExplicit_h
12 #define vtk_m_worklet_TriangulateExplicit_h
45 using ControlSignature = void(CellSetIn cells, ExecObject tables, FieldOut triangleCount);
52 template <
typename CellShapeTag>
56 const vtkm::worklet::internal::TriangulateTablesExecutionObject& tables)
const
58 return tables.GetCount(shape, numPoints);
77 template <
typename CountArrayType>
84 template <
typename CellShapeTag,
typename ConnectivityInVec,
typename ConnectivityOutVec>
87 const ConnectivityInVec& connectivityIn,
88 const vtkm::worklet::internal::TriangulateTablesExecutionObject& tables,
89 ConnectivityOutVec& connectivityOut,
93 connectivityOut[0] = connectivityIn[triIndices[0]];
94 connectivityOut[1] = connectivityIn[triIndices[1]];
95 connectivityOut[2] = connectivityIn[triIndices[2]];
98 template <
typename CellSetType>
109 vtkm::worklet::internal::TriangulateTables tables;
119 vtkm::cont::make_ArrayHandleGroupVec<3>(outConnectivity));
131 #endif // vtk_m_worklet_TriangulateExplicit_h
#define VTKM_EXEC
Definition: ExportMacros.h:51
vtkm::cont::CellSetSingleType Run(const CellSetType &cellSet, vtkm::cont::ArrayHandle< vtkm::IdComponent > &outCellsPerCell)
Definition: TriangulateExplicit.h:99
Groups connected points that have the same field value.
Definition: Atomic.h:19
Compute the triangulate cells for an explicit grid data set.
Definition: TriangulateExplicit.h:34
TriangulateExplicit()
Definition: TriangulateExplicit.h:37
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
VTKM_CONT TrianglesPerCell()
Definition: TriangulateExplicit.h:50
VTKM_EXEC vtkm::IdComponent operator()(CellShapeTag shape, vtkm::IdComponent numPoints, const vtkm::worklet::internal::TriangulateTablesExecutionObject &tables) const
Definition: TriangulateExplicit.h:53
Definition: CastAndCall.h:34
IncidentElementIndices PointIndices
Definition: WorkletMapTopology.h:269
_1 InputDomain
Definition: TriangulateExplicit.h:73
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
Definition: TriangulateExplicit.h:66
A scatter that maps input to some numbers of output.
Definition: ScatterCounting.h:44
void(CellSetIn cells, ExecObject tables, FieldOut triangleCount) ControlSignature
Definition: TriangulateExplicit.h:45
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
VTKM_EXEC void operator()(CellShapeTag shape, const ConnectivityInVec &connectivityIn, const vtkm::worklet::internal::TriangulateTablesExecutionObject &tables, ConnectivityOutVec &connectivityOut, vtkm::IdComponent visitIndex) const
Definition: TriangulateExplicit.h:85
_1 InputDomain
Definition: TriangulateExplicit.h:47
A short fixed-length array.
Definition: Types.h:767
static VTKM_CONT ScatterType MakeScatter(const CountArrayType &countArray)
Definition: TriangulateExplicit.h:78
void(CellShape, PointIndices, _2, _3, VisitIndex) ExecutionSignature
Definition: TriangulateExplicit.h:72
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
void(CellSetIn cellset, ExecObject tables, FieldOutCell connectivityOut) ControlSignature
Definition: TriangulateExplicit.h:71
vtkm::worklet::ScatterCounting ScatterType
Definition: TriangulateExplicit.h:75
FieldOut FieldOutCell
Definition: WorkletMapTopology.h:263
Definition: TriangulateExplicit.h:42
_3(CellShape, IncidentElementCount, _2) ExecutionSignature
Definition: TriangulateExplicit.h:46