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.FlatToLogicalVisitIndex(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::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:560
ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, vtkm::Id inIndex, vtkm::IdComponent visitIndex, vtkm::Id outIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:201
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:100
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:462
#define VTKM_EXEC
Definition: ExportMacros.h:51
vtkm::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:535
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
LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:526
vtkm::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:194
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:301
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:330
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:435
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:154
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:486
ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:174
vtkm::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:425
ConnectivityType Connectivity
Definition: ThreadIndicesTopologyMap.h:102
vtkm::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:417
vtkm::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:518
vtkm::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:252
vtkm::Id InputIndex
Definition: ThreadIndicesTopologyMap.h:596
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:170
ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:105
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:457
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:44
vtkm::IdComponent VisitIndex
Definition: ThreadIndicesTopologyMap.h:597
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:306
vtkm::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:595
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:141
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:331
vtkm::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:261
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:570
vtkm::IdComponent VisitIndex
Definition: ThreadIndicesBasic.h:100
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:461
vtkm::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:400
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:487
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:485
ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, vtkm::Id, vtkm::IdComponent, vtkm::Id, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:361
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:129
ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:189
typename InternalsType::SchedulingRangeType SchedulingRangeType
Definition: ConnectivityStructured.h:41
OriginalConnectivity Connectivity
Definition: ConnectivityPermuted.h:75
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:329
typename Helper::CellShapeTag CellShapeTag
The tag representing the cell shape of the visited elements.
Definition: ConnectivityStructured.h:78
CellShapeTag GetCellShape(vtkm::Id) const
Returns a tag for the cell shape associated with the element at the given index.
Definition: ConnectivityStructured.h:86
vtkm::IdComponent VisitIndex
Definition: ThreadIndicesTopologyMap.h:305
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:308
vtkm::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:227
vtkm::Int64 Id
Base type to use to index arrays.
Definition: Types.h:227
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:151
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:592
ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent, vtkm::Id, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:334
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:1041
vtkm::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:543
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:101
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:291
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:168
ThreadIndicesTopologyMap(vtkm::Id threadIndex, vtkm::Id inputIndex, vtkm::IdComponent visitIndex, vtkm::Id outputIndex, const PermutedConnectivityType &permutation)
Definition: ThreadIndicesTopologyMap.h:494
A class holding information about topology connections.
Definition: ConnectivityStructured.h:30
vtkm::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:304
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:307
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:599
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:582
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
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:447
vtkm::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:269
vtkm::Id OutputIndex
Definition: ThreadIndicesBasic.h:99
typename Helper::IndicesType IndicesType
Type of variable that lists of incident indices will be put into.
Definition: ConnectivityStructured.h:97
vtkm::Id OutputIndex
Definition: ThreadIndicesTopologyMap.h:310
vtkm::Id InputIndex
Definition: ThreadIndicesBasic.h:98
PermutationPortal Portal
Definition: ConnectivityPermuted.h:74
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:463
vtkm::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:383
vtkm::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:552
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:24
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:279
SchedulingRangeType FlatToLogicalVisitIndex(vtkm::Id flatVisitIndex) const
Convenience method that converts a flat, 1D index to the visited elements to a vtkm::Vec containing t...
Definition: ConnectivityStructured.h:109
vtkm::Id OutputIndex
Definition: ThreadIndicesTopologyMap.h:598
LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:391
ThreadIndicesTopologyMap(const vtkm::Id3 &threadIndex3D, vtkm::Id threadIndex1D, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:349
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:46
vtkm::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:460
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:600
#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::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:408
IndicesType GetIndices(const IndexType &index) const
Provides the indices of all elements incident to the visit element of the provided index.
Definition: ConnectivityStructured.h:102
vtkm::Vec< vtkm::Id, 2 > Id2
Id2 corresponds to a 2-dimensional index.
Definition: Types.h:923
vtkm::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:244
LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:235