Base class for worklets that map over the cells in a structured grid with neighborhood information.
More...
#include <WorkletCellNeighborhood.h>
|
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , vtkm::IdComponent Dimension> |
vtkm::exec::arg::ThreadIndicesCellNeighborhood | GetThreadIndices (vtkm::Id threadIndex, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const vtkm::exec::ConnectivityStructured< vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell, Dimension > &inputDomain) const |
| Point neighborhood worklets use the related thread indices class. More...
|
|
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType , bool S = IsScatterIdentity, bool M = IsMaskNone> |
EnableFnWhen< S &&M, vtkm::exec::arg::ThreadIndicesCellNeighborhood > | GetThreadIndices (vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &, const VisitArrayType &, const ThreadToOutArrayType &, const InputDomainType &connectivity) const |
|
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType , bool S = IsScatterIdentity, bool M = IsMaskNone> |
EnableFnWhen<!(S &&M), vtkm::exec::arg::ThreadIndicesCellNeighborhood > | GetThreadIndices (vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &connectivity) const |
|
BoundaryType | GetBoundaryCondition () const |
| In addition to defining the boundary type, the worklet must produce the boundary condition. More...
|
|
Base class for worklets that map over the cells in a structured grid with neighborhood information.
The domain of a WorkletCellNeighborhood
is a vtkm::cont::CellSetStructured
. It visits all the cells in the mesh and provides access to the cell field values of the visited cell and the field values of the nearby connected neighborhood of a prescribed size.
◆ Dispatcher
template<typename Worklet >
◆ EnableFnWhen
template<bool Cond, typename ReturnType >
◆ GetThreadIndices() [1/3]
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , vtkm::IdComponent Dimension>
Point neighborhood worklets use the related thread indices class.
◆ GetThreadIndices() [2/3]
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType , bool S = IsScatterIdentity, bool M = IsMaskNone>
◆ GetThreadIndices() [3/3]
template<typename OutToInArrayType , typename VisitArrayType , typename ThreadToOutArrayType , typename InputDomainType , bool S = IsScatterIdentity, bool M = IsMaskNone>
◆ IsMaskNone
◆ IsScatterIdentity
constexpr bool vtkm::worklet::WorkletCellNeighborhood::IsScatterIdentity |
|
staticconstexprprivate |
Initial value:=
std::is_same<ScatterType, vtkm::worklet::ScatterIdentity>::value
In the remaining methods and constexpr
we determine at compilation time which method definition will be actually used for GetThreadIndices.
We want to avoid further function calls when we use WorkletMapTopology in which ScatterType is set as ScatterIdentity and MaskType as MaskNone. Otherwise, we call the default method defined at the bottom of this class.
The documentation for this class was generated from the following file: