Go to the documentation of this file.
10 #ifndef vtk_m_worklet_internal_WorkletBase_h
11 #define vtk_m_worklet_internal_WorkletBase_h
61 using _1 = vtkm::placeholders::Arg<1>;
62 using _2 = vtkm::placeholders::Arg<2>;
63 using _3 = vtkm::placeholders::Arg<3>;
64 using _4 = vtkm::placeholders::Arg<4>;
65 using _5 = vtkm::placeholders::Arg<5>;
66 using _6 = vtkm::placeholders::Arg<6>;
67 using _7 = vtkm::placeholders::Arg<7>;
68 using _8 = vtkm::placeholders::Arg<8>;
69 using _9 = vtkm::placeholders::Arg<9>;
70 using _10 = vtkm::placeholders::Arg<10>;
71 using _11 = vtkm::placeholders::Arg<11>;
72 using _12 = vtkm::placeholders::Arg<12>;
73 using _13 = vtkm::placeholders::Arg<13>;
74 using _14 = vtkm::placeholders::Arg<14>;
75 using _15 = vtkm::placeholders::Arg<15>;
76 using _16 = vtkm::placeholders::Arg<16>;
77 using _17 = vtkm::placeholders::Arg<17>;
78 using _18 = vtkm::placeholders::Arg<18>;
79 using _19 = vtkm::placeholders::Arg<19>;
80 using _20 = vtkm::placeholders::Arg<20>;
121 using InputDomain = _1;
201 using TypeCheckTag = vtkm::cont::arg::TypeCheckTagAtomicArray;
248 template <
typename VisitTopology = Cell,
typename Inc
identTopology = Po
int>
262 template <
typename OutToInArrayType,
263 typename VisitArrayType,
264 typename ThreadToOutArrayType,
265 typename InputDomainType>
268 const OutToInArrayType& outToIn,
269 const VisitArrayType& visit,
270 const ThreadToOutArrayType& threadToOut,
271 const InputDomainType&)
const
273 vtkm::Id outIndex = threadToOut.Get(threadIndex);
275 threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex);
284 template <
typename OutToInArrayType,
285 typename VisitArrayType,
286 typename ThreadToOutArrayType,
287 typename InputDomainType>
291 const OutToInArrayType& outToIn,
292 const VisitArrayType& visit,
293 const ThreadToOutArrayType& threadToOut,
294 const InputDomainType&)
const
296 vtkm::Id outIndex = threadToOut.Get(threadIndex1D);
298 threadIndex3D, threadIndex1D, outToIn.Get(outIndex), visit.Get(outIndex), outIndex);
305 #endif //vtk_m_worklet_internal_WorkletBase_h
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
A tag used to identify the face elements in a topology.
Definition: TopologyElementTag.h:54
Fetch tag for execution objects.
Definition: FetchTagExecObject.h:32
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
Basic container for thread indices in a worklet invocation.
Definition: ThreadIndicesBasic.h:35
The base class for all tags used in an ExecutionSignature.
Definition: ExecutionSignatureTagBase.h:37
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
A tag used to identify the edge elements in a topology.
Definition: TopologyElementTag.h:44
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayOut.h:31
Transport tag for in-place arrays with random access.
Definition: TransportTagWholeArrayInOut.h:37
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:42
Transport tag for input arrays.
Definition: TransportTagCellSetIn.h:32
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayInOut.h:31
Transport tag for in-place arrays with random access.
Definition: TransportTagWholeArrayIn.h:35
Definition: TransportTagBitField.h:27
Definition: TransportTagBitField.h:30
Definition: TransportTagBitField.h:24
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayIn.h:31
The ExecObject type check passes for any object that inherits from ExecutionObjectBase.
Definition: TypeCheckTagExecObject.h:32
Definition: TypeCheckTagBitField.h:26
Transport tag for in-place arrays with atomic operations.
Definition: TransportTagAtomicArray.h:36
Transport tag for in-place arrays with random access.
Definition: TransportTagWholeArrayOut.h:37
Fetch tag for whole cell sets.
Definition: FetchTagWholeCellSetIn.h:28
Container for 3D thread indices in a worklet invocation.
Definition: ThreadIndicesBasic3D.h:31
The ExecutionSignature tag to use to get the thread indices.
Definition: ThreadIndices.h:41
Transport tag for execution objects.
Definition: TransportTagExecObject.h:32
Base class for all user worklets invoked in the execution environment from a call to vtkm::cont::Devi...
Definition: FunctorBase.h:30
The base class for all tags used in a ControlSignature.
Definition: ControlSignatureTagBase.h:36
Default mask object that does not suppress anything.
Definition: MaskNone.h:27
Aspect tag to use for default load/store of data.
Definition: AspectTagDefault.h:22
A scatter that maps input directly to output.
Definition: ScatterIdentity.h:30
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
#define VTKM_ALWAYS_EXPORT
Definition: ExportMacros.h:92
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:43
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
Check for a CellSet-like object.
Definition: TypeCheckTagCellSet.h:26
The ExecutionSignature tag to use to get the work index.
Definition: WorkIndex.h:39