Go to the documentation of this file.
18 #ifndef viskores_exec_arg_ThreadIndicesTopologyMap_h
19 #define viskores_exec_arg_ThreadIndicesTopologyMap_h
102 template <
typename ConnectivityType,
typename ScatterAndMaskMode>
117 const ConnectivityType& connectivity)
118 :
Superclass(threadIndex, inputIndex, visitIndex, outputIndex)
167 template <
typename VisitTopology,
typename Inc
identTopology, viskores::IdComponent Dimension>
204 this->LogicalIndex = logicalIndex;
222 this->LogicalIndex = logicalIndex;
328 template <
typename VisitTopology,
typename Inc
identTopology, viskores::IdComponent Dimension>
364 this->LogicalIndex = logicalIndex;
379 this->LogicalIndex = logicalIndex;
476 template <
typename PermutationPortal, viskores::IdComponent Dimension>
480 viskores::exec::ConnectivityStructured<viskores::TopologyElementTagCell,
481 viskores::TopologyElementTagPoint,
516 this->LogicalIndex = permutation.
Connectivity.FlatToLogicalVisitIndex(permutedIndex);
617 #endif //viskores_exec_arg_ThreadIndicesTopologyMap_h
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:108
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:109
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:316
viskores::Vec< viskores::Id, 2 > Id2
Id2 corresponds to a 2-dimensional index.
Definition: Types.h:935
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:176
CellShapeTag GetCellShape(viskores::Id) const
Returns a tag for the cell shape associated with the element at the given index.
Definition: ConnectivityStructured.h:94
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:602
viskores::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:433
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:32
viskores::IdComponent VisitIndex
Definition: ThreadIndicesTopologyMap.h:313
Uses spaces optimizations when using MaskNone and ScatterIdentity.
Definition: ThreadIndicesTopologyMap.h:82
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:455
viskores::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:408
viskores::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:416
ThreadIndicesTopologyMap(const viskores::Id3 &threadIndex3D, viskores::Id threadIndex1D, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:357
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:470
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:443
viskores::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:235
#define viskoresNotUsed(parameter_name)
Simple macro to identify a parameter as unused.
Definition: ExportMacros.h:136
viskores::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:312
viskores::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:545
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:469
LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:399
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:338
The ExecutionSignature tag to use to get the cell shape.
Definition: exec/arg/CellShape.h:42
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:177
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:339
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:162
viskores::Id InputIndex
Definition: ThreadIndicesBasic.h:106
viskores::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:425
typename Helper::IndicesType IndicesType
Type of variable that lists of incident indices will be put into.
Definition: ConnectivityStructured.h:105
Container for thread indices in a topology map.
Definition: ThreadIndicesTopologyMap.h:103
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:497
Basic container for thread indices in a worklet invocation.
Definition: ThreadIndicesBasic.h:43
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:609
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:42
viskores::Id InputIndex
Definition: ThreadIndicesTopologyMap.h:317
Definition: ConnectivityPermuted.h:33
viskores::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:269
LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:536
ThreadIndicesTopologyMap(viskores::Id threadIndex, viskores::Id inputIndex, viskores::IdComponent, viskores::Id, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:342
viskores::Id ThreadIndex
Definition: ThreadIndicesBasic.h:105
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:54
typename Helper::CellShapeTag CellShapeTag
The tag representing the cell shape of the visited elements.
Definition: ConnectivityStructured.h:86
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
viskores::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:528
Groups connected points that have the same field value.
Definition: Atomic.h:27
viskores::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:468
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:52
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:580
IndicesType GetIndices(const IndexType &index) const
Provides the indices of all elements incident to the visit element of the provided index.
Definition: ConnectivityStructured.h:110
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:287
viskores::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:570
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:337
viskores::Id OutputIndex
Definition: ThreadIndicesTopologyMap.h:608
ThreadIndicesTopologyMap(viskores::Id threadIndex, viskores::Id inputIndex, viskores::IdComponent visitIndex, viskores::Id outputIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:182
typename InternalsType::SchedulingRangeType SchedulingRangeType
Definition: ConnectivityStructured.h:49
LogicalIndexType GetIndexLogical() const
The logical index into the input domain.
Definition: ThreadIndicesTopologyMap.h:243
typename ConnectivityType::IndicesType IndicesIncidentType
Definition: ThreadIndicesTopologyMap.h:495
ThreadIndicesTopologyMap(const viskores::Id3 &threadIndex3D, viskores::Id threadIndex1D, viskores::Id, viskores::IdComponent, viskores::Id, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:369
PermutationPortal Portal
Definition: ConnectivityPermuted.h:82
viskores::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:553
ThreadIndicesTopologyMap(viskores::Id threadIndex, viskores::Id inputIndex, viskores::IdComponent visitIndex, viskores::Id outputIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:113
LogicalIndexType LogicalIndex
Definition: ThreadIndicesTopologyMap.h:314
viskores::Vec< viskores::Id, 3 > Id3
Id3 corresponds to a 3-dimensional index for 3d arrays.
Definition: Types.h:1053
viskores::IdComponent VisitIndex
Definition: ThreadIndicesBasic.h:108
typename ConnectivityType::CellShapeTag CellShapeTag
Definition: ThreadIndicesTopologyMap.h:496
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:610
viskores::Id OutputIndex
Definition: ThreadIndicesBasic.h:107
ConnectivityType Connectivity
Definition: ThreadIndicesTopologyMap.h:110
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:163
viskores::Id3 GetInputIndex3D() const
The 3D index into the input domain.
Definition: ThreadIndicesTopologyMap.h:260
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:299
typename ConnectivityType::SchedulingRangeType LogicalIndexType
Definition: ThreadIndicesTopologyMap.h:178
viskores::Id OutputIndex
Definition: ThreadIndicesTopologyMap.h:318
ThreadIndicesTopologyMap(viskores::Id threadIndex, viskores::Id inputIndex, viskores::IdComponent visitIndex, viskores::Id outputIndex, const PermutedConnectivityType &permutation)
Definition: ThreadIndicesTopologyMap.h:504
ThreadIndicesTopologyMap(const viskores::Id3 &threadIndex3D, viskores::Id threadIndex1D, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:197
viskores::Id InputIndex
Definition: ThreadIndicesTopologyMap.h:606
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:149
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:159
viskores::Id GetInputIndex() const
The index into the input domain.
Definition: ThreadIndicesTopologyMap.h:252
IndicesIncidentType IndicesIncident
Definition: ThreadIndicesTopologyMap.h:315
viskores::Id GetOutputIndex() const
The index into the output domain.
Definition: ThreadIndicesTopologyMap.h:562
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:309
CellShapeTag GetCellShape() const
The shape of the input cell.
Definition: ThreadIndicesTopologyMap.h:465
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:471
viskores::IdComponent VisitIndex
Definition: ThreadIndicesTopologyMap.h:607
Used for when not using MaskNone and ScatterIdentity.
Definition: ThreadIndicesTopologyMap.h:88
viskores::IdComponent GetVisitIndex() const
The visit index.
Definition: ThreadIndicesTopologyMap.h:277
const IndicesIncidentType * GetIndicesIncidentPointer() const
The input indices of the incident elements in pointer form.
Definition: ThreadIndicesTopologyMap.h:592
CellShapeTag CellShape
Definition: ThreadIndicesTopologyMap.h:611
SchedulingRangeType FlatToLogicalVisitIndex(viskores::Id flatVisitIndex) const
Convenience method that converts a flat, 1D index to the visited elements to a viskores::Vec containi...
Definition: ConnectivityStructured.h:117
viskores::Id GetThreadIndex() const
The index of the thread or work invocation.
Definition: ThreadIndicesTopologyMap.h:391
A class holding information about topology connections.
Definition: ConnectivityStructured.h:38
#define VISKORES_EXEC
Definition: ExportMacros.h:59
OriginalConnectivity Connectivity
Definition: ConnectivityPermuted.h:83
const IndicesIncidentType & GetIndicesIncident() const
The indices of the incident elements.
Definition: ThreadIndicesTopologyMap.h:137
ThreadIndicesTopologyMap(const viskores::Id3 &threadIndex3D, viskores::Id threadIndex1D, viskores::Id inIndex, viskores::IdComponent visitIndex, viskores::Id outIndex, const ConnectivityType &connectivity)
Definition: ThreadIndicesTopologyMap.h:209
viskores::Id ThreadIndex
Definition: ThreadIndicesTopologyMap.h:605