Go to the documentation of this file.
   10 #ifndef vtk_m_worklet_WorkletCellNeighborhood_h 
   11 #define vtk_m_worklet_WorkletCellNeighborhood_h 
   28 template <
typename WorkletType>
 
   29 class DispatcherCellNeighborhood;
 
   39   template <
typename Worklet>
 
   45 #ifdef VTKM_DOXYGEN_ONLY 
   74   struct WholeArrayIn : vtkm::worklet::internal::WorkletBase::WholeArrayIn
 
   79   struct WholeArrayOut : vtkm::worklet::internal::WorkletBase::WholeArrayOut
 
   94   template <
typename VisitTopology = Cell, 
typename Inc
identTopology = Po
int>
 
   96     : vtkm::worklet::internal::WorkletBase::WholeCellSetIn<VisitTopology, IncidentTopology>
 
  101   struct ExecObject : vtkm::worklet::internal::WorkletBase::ExecObject
 
  104 #endif // VTKM_DOXYGEN_ONLY 
  110 #ifdef VTKM_DOXYGEN_ONLY 
  114   struct _1 : vtkm::worklet::internal::WorkletBase::_1
 
  149   struct Device : vtkm::worklet::internal::WorkletBase::Device
 
  152 #endif // VTKM_DOXYGEN_ONLY 
  158   template <
typename OutToInArrayType,
 
  159             typename VisitArrayType,
 
  160             typename ThreadToOutArrayType,
 
  164     const OutToInArrayType& outToIn,
 
  165     const VisitArrayType& visit,
 
  166     const ThreadToOutArrayType& threadToOut,
 
  169                                              Dimension>& inputDomain 
 
  172     const vtkm::Id outIndex = threadToOut.Get(threadIndex);
 
  174       threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex, inputDomain);
 
  186     std::is_same<ScatterType, vtkm::worklet::ScatterIdentity>::value;
 
  187   static constexpr 
bool IsMaskNone = std::is_same<MaskType, vtkm::worklet::MaskNone>::value;
 
  190   template <
bool Cond, 
typename ReturnType>
 
  194   template <
typename OutToInArrayType,
 
  195             typename VisitArrayType,
 
  196             typename ThreadToOutArrayType,
 
  197             typename InputDomainType,
 
  205     const ThreadToOutArrayType& 
vtkmNotUsed(threadToOut),
 
  206     const InputDomainType& connectivity)
 const 
  209       threadIndex3D, threadIndex1D, connectivity);
 
  213   template <
typename OutToInArrayType,
 
  214             typename VisitArrayType,
 
  215             typename ThreadToOutArrayType,
 
  216             typename InputDomainType,
 
  222                    const OutToInArrayType& outToIn,
 
  223                    const VisitArrayType& visit,
 
  224                    const ThreadToOutArrayType& threadToOut,
 
  225                    const InputDomainType& connectivity) 
const 
  227     const vtkm::Id outIndex = threadToOut.Get(threadIndex1D);
 
  230                                                           outToIn.Get(outIndex),
 
  
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
 
ControlSignature tag for whole input arrays.
Definition: WorkletCellNeighborhood.h:74
 
static constexpr bool IsMaskNone
Definition: WorkletCellNeighborhood.h:187
 
#define VTKM_EXEC
Definition: ExportMacros.h:51
 
ControlSignature tag for whole input/output arrays.
Definition: WorkletCellNeighborhood.h:84
 
Groups connected points that have the same field value.
Definition: Atomic.h:19
 
A control signature tag for input fields.
Definition: WorkletCellNeighborhood.h:54
 
vtkm::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:194
 
ControlSignature tag for whole input topology.
Definition: WorkletCellNeighborhood.h:95
 
A control signature tag for input connectivity.
Definition: WorkletNeighborhood.h:129
 
ExecutionSignature tag for getting the device adapter tag.
Definition: WorkletCellNeighborhood.h:149
 
A control signature tag for output fields.
Definition: WorkletNeighborhood.h:98
 
The ExecutionSignature tag to use to get the work index.
Definition: WorkletCellNeighborhood.h:124
 
Dispatcher for worklets that inherit from WorkletCellNeighborhood.
Definition: DispatcherCellNeighborhood.h:27
 
The ExecutionSignature tag to use to get the output index.
Definition: WorkletCellNeighborhood.h:139
 
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:44
 
ControlSignature tag for whole output arrays.
Definition: WorkletCellNeighborhood.h:79
 
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.
Definition: WorkletCellNeighborhood.h:162
 
A control signature tag for input connectivity.
Definition: WorkletCellNeighborhood.h:49
 
A control signature tag for input-output (in-place) fields.
Definition: WorkletNeighborhood.h:114
 
The ExecutionSignature tag to query if the current iteration is inside the boundary.
Definition: WorkletCellNeighborhood.h:119
 
The ExecutionSignature tag to use to get the visit index.
Definition: WorkletCellNeighborhood.h:129
 
Base class for worklets that map over the cells in a structured grid with neighborhood information.
Definition: WorkletCellNeighborhood.h:36
 
typename std::enable_if< Cond, ReturnType >::type EnableFnWhen
Definition: WorkletCellNeighborhood.h:191
 
A control signature tag for input fields.
Definition: WorkletNeighborhood.h:83
 
The ExecutionSignature tag to use to get the thread indices.
Definition: ThreadIndices.h:44
 
vtkm::Int64 Id
Base type to use to index arrays.
Definition: Types.h:227
 
A control signature tag for output fields.
Definition: WorkletCellNeighborhood.h:64
 
#define vtkmNotUsed(parameter_name)
Simple macro to identify a parameter as unused.
Definition: ExportMacros.h:128
 
static constexpr bool IsScatterIdentity
In the remaining methods and constexpr we determine at compilation time which method definition will ...
Definition: WorkletCellNeighborhood.h:185
 
A class holding information about topology connections.
Definition: ConnectivityStructured.h:30
 
The ExecutionSignature tag to query if the current iteration is inside the boundary.
Definition: WorkletNeighborhood.h:54
 
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
Definition: WorkletCellNeighborhood.h:220
 
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
 
ControlSignature tag for whole input/output arrays.
Definition: WorkletCellNeighborhood.h:89
 
A control signature tag for neighborhood input values.
Definition: WorkletNeighborhood.h:156
 
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:46
 
Container for thread information in a WorkletCellNeighborhood.
Definition: ThreadIndicesCellNeighborhood.h:30
 
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
 
A control signature tag for neighborhood input values.
Definition: WorkletCellNeighborhood.h:59
 
Argument placeholders for an ExecutionSignature.
Definition: WorkletCellNeighborhood.h:114
 
ControlSignature tag for execution object inputs.
Definition: WorkletCellNeighborhood.h:101
 
Definition: WorkletNeighborhood.h:42
 
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
Definition: WorkletCellNeighborhood.h:200
 
The ExecutionSignature tag to use to get the work index.
Definition: WorkIndex.h:39
 
The ExecutionSignature tag to use to get the thread indices.
Definition: WorkletCellNeighborhood.h:144
 
A control signature tag for input-output (in-place) fields.
Definition: WorkletCellNeighborhood.h:69