VTK-m
2.0
|
Specialization for CustomScatterOrMaskTag. More...
#include <ThreadIndicesTopologyMap.h>
Public Types | |
using | IndicesIncidentType = typename ConnectivityType::IndicesType |
using | CellShapeTag = typename ConnectivityType::CellShapeTag |
using | LogicalIndexType = typename ConnectivityType::SchedulingRangeType |
using | Connectivity = vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension > |
Public Member Functions | |
VTKM_EXEC | ThreadIndicesTopologyMap (vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const ConnectivityType &connectivity) |
VTKM_EXEC | ThreadIndicesTopologyMap (const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, const ConnectivityType &connectivity) |
VTKM_EXEC | ThreadIndicesTopologyMap (const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, vtkm::Id inIndex, vtkm::IdComponent visitIndex, vtkm::Id outIndex, const ConnectivityType &connectivity) |
VTKM_EXEC vtkm::Id | GetThreadIndex () const |
The index of the thread or work invocation. More... | |
VTKM_EXEC LogicalIndexType | GetIndexLogical () const |
The logical index into the input domain. More... | |
VTKM_EXEC vtkm::Id | GetInputIndex () const |
The index into the input domain. More... | |
VTKM_EXEC vtkm::Id3 | GetInputIndex3D () const |
The 3D index into the input domain. More... | |
VTKM_EXEC vtkm::Id | GetOutputIndex () const |
The index into the output domain. More... | |
VTKM_EXEC vtkm::IdComponent | GetVisitIndex () const |
The visit index. More... | |
const VTKM_EXEC IndicesIncidentType & | GetIndicesIncident () const |
The indices of the incident elements. More... | |
const VTKM_EXEC IndicesIncidentType * | GetIndicesIncidentPointer () const |
The input indices of the incident elements in pointer form. More... | |
VTKM_EXEC CellShapeTag | GetCellShape () const |
The shape of the input cell. More... | |
Private Types | |
using | ConnectivityType = vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension > |
Private Attributes | |
vtkm::Id | ThreadIndex |
vtkm::IdComponent | VisitIndex |
LogicalIndexType | LogicalIndex |
IndicesIncidentType | IndicesIncident |
CellShapeTag | CellShape |
vtkm::Id | InputIndex |
vtkm::Id | OutputIndex |
Specialization for CustomScatterOrMaskTag.
using vtkm::exec::arg::ThreadIndicesTopologyMap< vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >, CustomScatterOrMaskTag >::CellShapeTag = typename ConnectivityType::CellShapeTag |
using vtkm::exec::arg::ThreadIndicesTopologyMap< vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >, CustomScatterOrMaskTag >::Connectivity = vtkm::exec::ConnectivityStructured<VisitTopology, IncidentTopology, Dimension> |
|
private |
using vtkm::exec::arg::ThreadIndicesTopologyMap< vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >, CustomScatterOrMaskTag >::IndicesIncidentType = typename ConnectivityType::IndicesType |
using vtkm::exec::arg::ThreadIndicesTopologyMap< vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >, CustomScatterOrMaskTag >::LogicalIndexType = typename ConnectivityType::SchedulingRangeType |
|
inline |
|
inline |
|
inline |
|
inline |
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.)
|
inline |
The logical index into the input domain.
This is similar to GetIndex3D
except the Vec size matches the actual dimensions of the data.
|
inline |
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.
|
inline |
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.
|
inline |
The index into the input domain.
This index refers to the input element (array value, cell, etc.) that this thread is being invoked for. This is the typical index used during fetches.
|
inline |
The 3D index into the input domain.
Overloads the implementation in the base class to return the 3D index for the input.
|
inline |
The index into the output domain.
This index refers to the output element (array value, cell, etc.) that this thread is creating. This is the typical index used during Fetch::Store.
|
inline |
The index of the thread or work invocation.
This index refers to which instance of the worklet is being invoked. Every invocation of the worklet has a unique thread index. This is also called the work index depending on the context.
|
inline |
The visit index.
When multiple output indices have the same input index, they are distinguished using the visit index.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |