template<typename ConnectivityType, typename ScatterAndMaskMode>
class vtkm::exec::arg::ThreadIndicesTopologyMap< ConnectivityType, ScatterAndMaskMode >
Container for thread indices in a topology map.
This specialization of ThreadIndices
adds extra indices that deal with topology maps. In particular, it saves the incident element indices. The input and output indices from the superclass are considered to be indexing the visited elements.
This class is templated on the type that stores the connectivity (such as ConnectivityExplicit
or ConnectivityStructured
).
template<typename ConnectivityType , typename ScatterAndMaskMode >
The shape of the input cell.
In topology maps that map from points to something, the indices make up the structure of a cell. Although the shape tag is not technically and index, it defines the meaning of the indices, so we put it here. (That and this class is the only convenient place to store it.)
template<typename ConnectivityType , typename ScatterAndMaskMode >
The indices of the incident elements.
A topology map has "visited" and "incident" elements (e.g. points, cells, etc). For each worklet invocation, there is exactly one visited element, but there can be several incident elements. This method returns a Vec-like object containing the indices to the incident elements.
template<typename ConnectivityType , typename ScatterAndMaskMode >
The input indices of the incident elements in pointer form.
Returns the same object as GetIndicesIncident except that it returns a pointer to the internally held object rather than a reference or copy. Since the from indices can be a sizeable Vec (8 entries is common), it is best not to have a bunch a copies. Thus, you can pass around a pointer instead. However, care should be taken to make sure that this object does not go out of scope, at which time the returned pointer becomes invalid.