Go to the documentation of this file.
10 #ifndef vtk_m_worklet_WorkletPointNeighborhood_h
11 #define vtk_m_worklet_WorkletPointNeighborhood_h
30 template <
typename Worklet>
36 template <
typename OutToInArrayType,
37 typename VisitArrayType,
38 typename ThreadToOutArrayType,
42 const OutToInArrayType& outToIn,
43 const VisitArrayType& visit,
44 const ThreadToOutArrayType& threadToOut,
47 Dimension>& inputDomain
50 const vtkm::Id outIndex = threadToOut.Get(threadIndex);
52 threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex, inputDomain);
64 std::is_same<ScatterType, vtkm::worklet::ScatterIdentity>::value;
65 static constexpr
bool IsMaskNone = std::is_same<MaskType, vtkm::worklet::MaskNone>::value;
68 template <
bool Cond,
typename ReturnType>
69 using EnableFnWhen =
typename std::enable_if<Cond, ReturnType>::type;
72 template <
typename OutToInArrayType,
73 typename VisitArrayType,
74 typename ThreadToOutArrayType,
75 typename InputDomainType,
83 const ThreadToOutArrayType&
vtkmNotUsed(threadToOut),
84 const InputDomainType& connectivity)
const
87 threadIndex3D, threadIndex1D, connectivity);
91 template <
typename OutToInArrayType,
92 typename VisitArrayType,
93 typename ThreadToOutArrayType,
94 typename InputDomainType,
100 const OutToInArrayType& outToIn,
101 const VisitArrayType& visit,
102 const ThreadToOutArrayType& threadToOut,
103 const InputDomainType& connectivity)
const
105 const vtkm::Id outIndex = threadToOut.Get(threadIndex1D);
108 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
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC EnableFnWhen< S &&M, vtkm::exec::arg::ThreadIndicesPointNeighborhood > GetThreadIndices(vtkm::Id threadIndex1D, const vtkm::Id3 &threadIndex3D, const OutToInArrayType &vtkmNotUsed(outToIn), const VisitArrayType &vtkmNotUsed(visit), const ThreadToOutArrayType &vtkmNotUsed(threadToOut), const InputDomainType &connectivity) const
Definition: WorkletPointNeighborhood.h:78
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
Container for thread information in a WorkletPointNeighborhood.
Definition: ThreadIndicesPointNeighborhood.h:24
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
typename std::enable_if< Cond, ReturnType >::type EnableFnWhen
Definition: WorkletPointNeighborhood.h:69
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC 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:98
#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:63
static constexpr bool IsMaskNone
Definition: WorkletPointNeighborhood.h:65
Definition: ConnectivityStructured.h:24
Dispatcher for worklets that inherit from WorkletPointNeighborhood.
Definition: DispatcherPointNeighborhood.h:26
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
Definition: WorkletPointNeighborhood.h:27
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
Definition: WorkletNeighborhood.h:42
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC 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:40