Go to the documentation of this file.
11 #ifndef vtk_m_worklet_TetrahedralizeStructured_h
12 #define vtk_m_worklet_TetrahedralizeStructured_h
33 namespace tetrahedralize
49 template <
typename ConnectivityInVec,
typename ConnectivityOutVec,
typename ThreadIndicesType>
51 ConnectivityOutVec& connectivityOut,
52 const ThreadIndicesType threadIndices)
const
55 { { 0, 1, 3, 4 }, { 1, 4, 5, 6 }, { 1, 4, 6, 3 }, { 1, 3, 6, 2 }, { 3, 6, 7, 4 } },
56 { { 2, 1, 5, 0 }, { 0, 2, 3, 7 }, { 2, 5, 6, 7 }, { 0, 7, 4, 5 }, { 0, 2, 7, 5 } }
59 vtkm::Id3 inputIndex = threadIndices.GetInputIndex3D();
66 connectivityOut[0] = connectivityIn[StructuredTetrahedronIndices[
indexType][visitIndex][0]];
67 connectivityOut[1] = connectivityIn[StructuredTetrahedronIndices[
indexType][visitIndex][1]];
68 connectivityOut[2] = connectivityIn[StructuredTetrahedronIndices[
indexType][visitIndex][2]];
69 connectivityOut[3] = connectivityIn[StructuredTetrahedronIndices[
indexType][visitIndex][3]];
78 template <
typename CellSetType>
86 dispatcher.Invoke(cellSet, vtkm::cont::make_ArrayHandleGroupVec<4>(connectivity));
101 #endif // vtk_m_worklet_TetrahedralizeStructured_h
vtkm::cont::CellSetSingleType Run(const CellSetType &cellSet, vtkm::cont::ArrayHandle< vtkm::IdComponent > &outCellsPerCell)
Definition: TetrahedralizeStructured.h:79
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
#define VTKM_STATIC_CONSTEXPR_ARRAY
Definition: ExportMacros.h:107
Compute the tetrahedralize cells for a uniform grid data set.
Definition: TetrahedralizeStructured.h:75
vtkm::Id indexType
Definition: TreeCompiler.h:73
Definition: CastAndCall.h:34
IncidentElementIndices PointIndices
Definition: WorkletMapTopology.h:269
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
Dispatcher for worklets that inherit from WorkletMapTopology.
Definition: DispatcherMapTopology.h:31
Base class for worklets that map from Points to Cells.
Definition: WorkletMapTopology.h:255
void ArrayCopy(const SourceArrayType &source, DestArrayType &destination)
Does a deep copy from one array to another array.
Definition: ArrayCopy.h:142
_1 InputDomain
Definition: TetrahedralizeStructured.h:44
The ExecutionSignature tag to use to get the thread indices.
Definition: ThreadIndices.h:41
void(PointIndices, _2, ThreadIndices) ExecutionSignature
Definition: TetrahedralizeStructured.h:43
An array handle with a constant value.
Definition: ArrayHandleConstant.h:63
Definition: TetrahedralizeStructured.h:39
VTKM_EXEC void operator()(const ConnectivityInVec &connectivityIn, ConnectivityOutVec &connectivityOut, const ThreadIndicesType threadIndices) const
Definition: TetrahedralizeStructured.h:50
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
void(CellSetIn cellset, FieldOutCell connectivityOut) ControlSignature
Definition: TetrahedralizeStructured.h:42
FieldOut FieldOutCell
Definition: WorkletMapTopology.h:263