Go to the documentation of this file.
   10 #ifndef vtk_m_worklet_WorkletPointNeighborhood_h 
   11 #define vtk_m_worklet_WorkletPointNeighborhood_h 
   35   template <
typename Worklet>
 
   41 #ifdef VTKM_DOXYGEN_ONLY 
   70   struct WholeArrayIn : vtkm::worklet::internal::WorkletBase::WholeArrayIn
 
   75   struct WholeArrayOut : vtkm::worklet::internal::WorkletBase::WholeArrayOut
 
   90   template <
typename VisitTopology = Cell, 
typename Inc
identTopology = Po
int>
 
   92     : vtkm::worklet::internal::WorkletBase::WholeCellSetIn<VisitTopology, IncidentTopology>
 
   97   struct ExecObject : vtkm::worklet::internal::WorkletBase::ExecObject
 
  100 #endif // VTKM_DOXYGEN_ONLY 
  106 #ifdef VTKM_DOXYGEN_ONLY 
  110   struct _1 : vtkm::worklet::internal::WorkletBase::_1
 
  145   struct Device : vtkm::worklet::internal::WorkletBase::Device
 
  148 #endif // VTKM_DOXYGEN_ONLY 
  154   template <
typename OutToInArrayType,
 
  155             typename VisitArrayType,
 
  156             typename ThreadToOutArrayType,
 
  160     const OutToInArrayType& outToIn,
 
  161     const VisitArrayType& visit,
 
  162     const ThreadToOutArrayType& threadToOut,
 
  165                                              Dimension>& inputDomain 
 
  168     const vtkm::Id outIndex = threadToOut.Get(threadIndex);
 
  170       threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex, inputDomain);
 
  182     std::is_same<ScatterType, vtkm::worklet::ScatterIdentity>::value;
 
  183   static constexpr 
bool IsMaskNone = std::is_same<MaskType, vtkm::worklet::MaskNone>::value;
 
  186   template <
bool Cond, 
typename ReturnType>
 
  190   template <
typename OutToInArrayType,
 
  191             typename VisitArrayType,
 
  192             typename ThreadToOutArrayType,
 
  193             typename InputDomainType,
 
  201     const ThreadToOutArrayType& 
vtkmNotUsed(threadToOut),
 
  202     const InputDomainType& connectivity)
 const 
  205       threadIndex3D, threadIndex1D, connectivity);
 
  209   template <
typename OutToInArrayType,
 
  210             typename VisitArrayType,
 
  211             typename ThreadToOutArrayType,
 
  212             typename InputDomainType,
 
  218                    const OutToInArrayType& outToIn,
 
  219                    const VisitArrayType& visit,
 
  220                    const ThreadToOutArrayType& threadToOut,
 
  221                    const InputDomainType& connectivity) 
const 
  223     const vtkm::Id outIndex = threadToOut.Get(threadIndex1D);
 
  226                                                            outToIn.Get(outIndex),
 
  
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
 
#define VTKM_EXEC
Definition: ExportMacros.h:51
 
Groups connected points that have the same field value.
Definition: Atomic.h:19
 
ControlSignature tag for whole input topology.
Definition: WorkletPointNeighborhood.h:91
 
A control signature tag for input fields.
Definition: WorkletPointNeighborhood.h:50
 
The ExecutionSignature tag to use to get the visit index.
Definition: WorkletPointNeighborhood.h:125
 
vtkm::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:194
 
A control signature tag for input connectivity.
Definition: WorkletNeighborhood.h:129
 
A control signature tag for output fields.
Definition: WorkletNeighborhood.h:98
 
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:44
 
Container for thread information in a WorkletPointNeighborhood.
Definition: ThreadIndicesPointNeighborhood.h:24
 
The ExecutionSignature tag to use to get the thread indices.
Definition: WorkletPointNeighborhood.h:140
 
The ExecutionSignature tag to query if the current iteration is inside the boundary.
Definition: WorkletPointNeighborhood.h:115
 
typename std::enable_if< Cond, ReturnType >::type EnableFnWhen
Definition: WorkletPointNeighborhood.h:187
 
EnableFnWhen< S &&M, vtkm::exec::arg::ThreadIndicesPointNeighborhood > GetThreadIndices(vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &, const VisitArrayType &, const ThreadToOutArrayType &, const InputDomainType &connectivity) const
Definition: WorkletPointNeighborhood.h:196
 
A control signature tag for input-output (in-place) fields.
Definition: WorkletNeighborhood.h:114
 
EnableFnWhen<!(S &&M), vtkm::exec::arg::ThreadIndicesPointNeighborhood > GetThreadIndices(vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &outToIn, const VisitArrayType &visit, const ThreadToOutArrayType &threadToOut, const InputDomainType &connectivity) const
Definition: WorkletPointNeighborhood.h:216
 
ControlSignature tag for whole input/output arrays.
Definition: WorkletPointNeighborhood.h:80
 
ExecutionSignature tag for getting the device adapter tag.
Definition: WorkletPointNeighborhood.h:145
 
vtkm::exec::arg::ThreadIndicesPointNeighborhood 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: WorkletPointNeighborhood.h:158
 
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
 
The ExecutionSignature tag to use to get the work index.
Definition: WorkletPointNeighborhood.h:120
 
A control signature tag for input connectivity.
Definition: WorkletPointNeighborhood.h:45
 
#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: WorkletPointNeighborhood.h:181
 
The ExecutionSignature tag to use to get the output index.
Definition: WorkletPointNeighborhood.h:135
 
static constexpr bool IsMaskNone
Definition: WorkletPointNeighborhood.h:183
 
A control signature tag for input-output (in-place) fields.
Definition: WorkletPointNeighborhood.h:65
 
ControlSignature tag for execution object inputs.
Definition: WorkletPointNeighborhood.h:97
 
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
 
Dispatcher for worklets that inherit from WorkletPointNeighborhood.
Definition: DispatcherPointNeighborhood.h:26
 
A control signature tag for neighborhood input values.
Definition: WorkletPointNeighborhood.h:55
 
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
 
ControlSignature tag for whole input arrays.
Definition: WorkletPointNeighborhood.h:70
 
A control signature tag for neighborhood input values.
Definition: WorkletNeighborhood.h:156
 
Argument placeholders for an ExecutionSignature.
Definition: WorkletPointNeighborhood.h:110
 
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:46
 
Base class for worklets that map over the points in a structured grid with neighborhood information.
Definition: WorkletPointNeighborhood.h:32
 
A control signature tag for output fields.
Definition: WorkletPointNeighborhood.h:60
 
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
 
ControlSignature tag for whole input/output arrays.
Definition: WorkletPointNeighborhood.h:85
 
ControlSignature tag for whole output arrays.
Definition: WorkletPointNeighborhood.h:75
 
Definition: WorkletNeighborhood.h:42
 
The ExecutionSignature tag to use to get the work index.
Definition: WorkIndex.h:39