Go to the documentation of this file.
10 #ifndef vtk_m_worklet_internal_WorkletBase_h
11 #define vtk_m_worklet_internal_WorkletBase_h
63 using _1 = vtkm::placeholders::Arg<1>;
64 using _2 = vtkm::placeholders::Arg<2>;
65 using _3 = vtkm::placeholders::Arg<3>;
66 using _4 = vtkm::placeholders::Arg<4>;
67 using _5 = vtkm::placeholders::Arg<5>;
68 using _6 = vtkm::placeholders::Arg<6>;
69 using _7 = vtkm::placeholders::Arg<7>;
70 using _8 = vtkm::placeholders::Arg<8>;
71 using _9 = vtkm::placeholders::Arg<9>;
72 using _10 = vtkm::placeholders::Arg<10>;
73 using _11 = vtkm::placeholders::Arg<11>;
74 using _12 = vtkm::placeholders::Arg<12>;
75 using _13 = vtkm::placeholders::Arg<13>;
76 using _14 = vtkm::placeholders::Arg<14>;
77 using _15 = vtkm::placeholders::Arg<15>;
78 using _16 = vtkm::placeholders::Arg<16>;
79 using _17 = vtkm::placeholders::Arg<17>;
80 using _18 = vtkm::placeholders::Arg<18>;
81 using _19 = vtkm::placeholders::Arg<19>;
82 using _20 = vtkm::placeholders::Arg<20>;
129 using InputDomain = _1;
144 using Hints = vtkm::cont::internal::HintList<>;
198 using TypeCheckTag = vtkm::cont::arg::TypeCheckTagAtomicArray;
244 template <
typename VisitTopology = Cell,
typename Inc
identTopology = Po
int>
258 template <
typename OutToInArrayType,
259 typename VisitArrayType,
260 typename ThreadToOutArrayType,
261 typename InputDomainType>
264 const OutToInArrayType& outToIn,
265 const VisitArrayType& visit,
266 const ThreadToOutArrayType& threadToOut,
267 const InputDomainType&)
const
269 vtkm::Id outIndex = threadToOut.Get(threadIndex);
271 threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex);
280 template <
typename OutToInArrayType,
281 typename VisitArrayType,
282 typename ThreadToOutArrayType,
283 typename InputDomainType>
287 const OutToInArrayType& outToIn,
288 const VisitArrayType& visit,
289 const ThreadToOutArrayType& threadToOut,
290 const InputDomainType&)
const
292 vtkm::Id outIndex = threadToOut.Get(threadIndex1D);
294 threadIndex3D, threadIndex1D, outToIn.Get(outIndex), visit.Get(outIndex), outIndex);
301 #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
Base type to use to index small lists.
Definition: Types.h:194
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:44
Transport tag for input arrays.
Definition: TransportTagCellSetIn.h:32
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:44
vtkm::Int64 Id
Base type to use to index arrays.
Definition: Types.h:227
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:89
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:46
#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