Go to the documentation of this file.
10 #ifndef vtk_m_exec_arg_ThreadIndicesTopologyMap_h
11 #define vtk_m_exec_arg_ThreadIndicesTopologyMap_h
94 template <
typename ConnectivityType,
typename ScatterAndMaskMode>
109 const ConnectivityType& connectivity)
110 :
Superclass(threadIndex, inputIndex, visitIndex, outputIndex)
159 template <
typename VisitTopology,
typename Inc
identTopology, vtkm::IdComponent Dimension>
196 this->LogicalIndex = logicalIndex;
214 this->LogicalIndex = logicalIndex;
320 template <
typename VisitTopology,
typename Inc
identTopology, vtkm::IdComponent Dimension>
356 this->LogicalIndex = logicalIndex;
371 this->LogicalIndex = logicalIndex;
468 template <
typename PermutationPortal, vtkm::IdComponent Dimension>
471 vtkm::exec::ConnectivityStructured<vtkm::TopologyElementTagCell,
472 vtkm::TopologyElementTagPoint,
482 ConnectivityStructured<vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint, Dimension>;
506 this->LogicalIndex = permutation.
Connectivity.FlatToLogicalToIndex(permutedIndex);
607 #endif //vtk_m_exec_arg_ThreadIndicesTopologyMap_h
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:34
VTKM_EXEC_CONT SchedulingRangeType FlatToLogicalToIndex(vtkm::Id flatToIndex) const
Definition: ConnectivityStructured.h:93
const VTKM_EXEC IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:582
VTKM_EXEC LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:526
VTKM_EXEC vtkm::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:269
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:100
const VTKM_EXEC IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:279
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:462
#define VTKM_EXEC
Definition: ExportMacros.h:51
VTKM_EXEC ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:349
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
vtkm::Id ThreadIndex
Definition: ThreadIndicesBasic.h:97
VTKM_EXEC CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:592
vtkm::Int32 IdComponent
Represents a component ID (index of component in a vector).
Definition: Types.h:168
VTKM_EXEC vtkm::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:552
VTKM_EXEC vtkm::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:518
VTKM_EXEC LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:235
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:330
VTKM_EXEC CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:457
VTKM_EXEC ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, vtkm::Id inIndex, vtkm::IdComponent visitIndex, vtkm::Id outIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:201
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:154
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:486
VTKM_EXEC vtkm::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:261
ConnectivityType Connectivity
Definition: ThreadIndicesTopologyMap.h:102
vtkm::Id InputIndex
Definition: ThreadIndicesTopologyMap.h:596
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:170
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:169
vtkm::Id InputIndex
Definition: ThreadIndicesTopologyMap.h:309
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:42
vtkm::IdComponent VisitIndex
Definition: ThreadIndicesTopologyMap.h:597
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:306
vtkm::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:595
VTKM_EXEC vtkm::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:252
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
const VTKM_EXEC IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:447
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:331
VTKM_EXEC vtkm::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:227
vtkm::IdComponent VisitIndex
Definition: ThreadIndicesBasic.h:100
VTKM_EXEC vtkm::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:417
VTKM_EXEC ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:174
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:461
const VTKM_EXEC IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:291
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:487
VTKM_EXEC CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:301
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:485
VTKM_EXEC vtkm::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:543
typename InternalsType::SchedulingRangeType SchedulingRangeType
Definition: ConnectivityStructured.h:35
OriginalConnectivity Connectivity
Definition: ConnectivityPermuted.h:75
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:329
typename Helper::CellShapeTag CellShapeTag
Definition: ConnectivityStructured.h:62
vtkm::IdComponent VisitIndex
Definition: ThreadIndicesTopologyMap.h:305
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:308
VTKM_EXEC vtkm::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:535
const VTKM_EXEC IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:129
VTKM_EXEC IndicesType GetIndices(const IndexType &index) const
Definition: ConnectivityStructured.h:75
VTKM_EXEC ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent vtkmNotUsed(visitIndex), vtkm::Id vtkmNotUsed(outputIndex), const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:334
VTKM_EXEC vtkm::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:244
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:601
#define vtkmNotUsed(parameter_name)
Simple macro to identify a parameter as unused.
Definition: ExportMacros.h:128
vtkm::Vec< vtkm::Id, 3 > Id3
Id3 corresponds to a 3-dimensional index for 3d arrays.
Definition: Types.h:1003
const VTKM_EXEC IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:435
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:101
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:168
VTKM_EXEC vtkm::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:400
Definition: ConnectivityStructured.h:24
vtkm::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:304
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:307
VTKM_EXEC vtkm::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:383
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:599
Used for when not using MaskNone and ScatterIdentity.
Definition: ThreadIndicesTopologyMap.h:80
The ExecutionSignature tag to use to get the cell shape.
Definition: exec/arg/CellShape.h:34
VTKM_EXEC CellShapeTag GetCellShape(vtkm::Id) const
Definition: ConnectivityStructured.h:64
vtkm::Id OutputIndex
Definition: ThreadIndicesBasic.h:99
typename Helper::IndicesType IndicesType
Definition: ConnectivityStructured.h:72
vtkm::Id OutputIndex
Definition: ThreadIndicesTopologyMap.h:310
vtkm::Id InputIndex
Definition: ThreadIndicesBasic.h:98
PermutationPortal Portal
Definition: ConnectivityPermuted.h:74
VTKM_EXEC CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:151
VTKM_EXEC vtkm::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:408
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:463
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:105
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
VTKM_EXEC ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, vtkm::Id vtkmNotUsed(inIndex), vtkm::IdComponent vtkmNotUsed(visitIndex), vtkm::Id vtkmNotUsed(outIndex), const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:361
vtkm::Id OutputIndex
Definition: ThreadIndicesTopologyMap.h:598
VTKM_EXEC ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const PermutedConnectivityType &permutation)
Definition: ThreadIndicesTopologyMap.h:494
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:43
vtkm::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:460
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:600
VTKM_EXEC vtkm::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:425
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53
Container for thread indices in a topology map.
Definition: ThreadIndicesTopologyMap.h:95
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:155
Definition: ConnectivityPermuted.h:25
Uses spaces optimizations when using MaskNone and ScatterIdentity.
Definition: ThreadIndicesTopologyMap.h:74
VTKM_EXEC vtkm::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:560
vtkm::Vec< vtkm::Id, 2 > Id2
Id2 corresponds to a 2-dimensional index.
Definition: Types.h:885
VTKM_EXEC ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:189
const VTKM_EXEC IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:141
VTKM_EXEC LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:391
const VTKM_EXEC IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:570