mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
a1e8d029c5
There are occasions when you need a worklet to opeate on 2D or 3D indices. Most worklets operate on 1D indices, which requires recomputing the 3D index in each worklet instance. A workaround is to use a worklet that does a 3D scheduling and pull the working index from that. The problem was that there was no easy way to get this 3D index. To provide this option, a feature was added to the `BoundaryState` class that can be provided by `WorkletPointNeighborhood`. Thus, to get a 3D index in a worklet, use the `WorkletPointNeighborhood`, add `Boundary` as an argument to the `ExecutionSignature`, and then call `GetCenterIndex` on the `BoundaryState` object passed to the worklet operator. |
||
---|---|---|
.. | ||
arg | ||
cuda | ||
internal | ||
kokkos | ||
openmp | ||
serial | ||
tbb | ||
testing | ||
AtomicArrayExecutionObject.h | ||
BoundaryState.h | ||
CellDerivative.h | ||
CellEdge.h | ||
CellFace.h | ||
CellInside.h | ||
CellInterpolate.h | ||
CellLocatorBoundingIntervalHierarchy.h | ||
CellLocatorMultiplexer.h | ||
CellLocatorPartitioned.h | ||
CellLocatorRectilinearGrid.h | ||
CellLocatorTwoLevel.h | ||
CellLocatorUniformBins.h | ||
CellLocatorUniformGrid.h | ||
CellMeasure.h | ||
CMakeLists.txt | ||
ColorTable.h | ||
ColorTable.hxx | ||
ConnectivityExplicit.h | ||
ConnectivityExtrude.h | ||
ConnectivityPermuted.h | ||
ConnectivityStructured.h | ||
FieldNeighborhood.h | ||
FunctorBase.h | ||
ParametricCoordinates.h | ||
PointLocatorSparseGrid.h | ||
TaskBase.h | ||
Variant.h | ||
vtkm.module |