Go to the documentation of this file.
19 #ifndef viskores_exec_ConnectivityStructured_h
20 #define viskores_exec_ConnectivityStructured_h
37 template <
typename VisitTopology,
typename Inc
identTopology, viskores::IdComponent Dimension>
43 using InternalsType = viskores::internal::ConnectivityStructuredInternals<Dimension>;
45 using Helper = viskores::internal::
46 ConnectivityStructuredIndexHelper<VisitTopology, IncidentTopology, Dimension>;
98 template <
typename IndexType>
101 return Helper::GetNumberOfIndices(this->
Internals, index);
109 template <
typename IndexType>
112 return Helper::GetIndices(this->
Internals, index);
119 return Helper::FlatToLogicalVisitIndex(this->
Internals, flatVisitIndex);
127 return Helper::FlatToLogicalIncidentIndex(this->
Internals, flatIncidentIndex);
135 return Helper::LogicalToFlatVisitIndex(this->
Internals, logicalVisitIndex);
143 return Helper::LogicalToFlatIncidentIndex(this->
Internals, logicalIncidentIndex);
178 return this->
Internals.GetPointDimensions();
185 return this->
Internals.GetCellDimensions();
191 return this->
Internals.GetGlobalPointIndexStart();
202 #endif //viskores_exec_ConnectivityStructured_h
InternalsType Internals
Definition: ConnectivityStructured.h:197
CellShapeTag GetCellShape(viskores::Id) const
Returns a tag for the cell shape associated with the element at the given index.
Definition: ConnectivityStructured.h:94
SchedulingRangeType GetGlobalPointIndexStart() const
Definition: ConnectivityStructured.h:189
viskores::Vec< viskores::Id, Dimension > GetCellDimensions() const
Return the dimensions of the points in the cell set.
Definition: ConnectivityStructured.h:183
viskores::internal::ConnectivityStructuredIndexHelper< VisitTopology, IncidentTopology, Dimension > Helper
Definition: ConnectivityStructured.h:46
viskores::Vec< viskores::Id, Dimension > GetPointDimensions() const
Return the dimensions of the points in the cell set.
Definition: ConnectivityStructured.h:176
ConnectivityStructured(const InternalsType &src)
Definition: ConnectivityStructured.h:54
ConnectivityStructured & operator=(const ConnectivityStructured &src)=default
viskores::Id LogicalToFlatToIndex(const SchedulingRangeType &logicalToIndex) const
Definition: ConnectivityStructured.h:169
#define VISKORES_IS_TOPOLOGY_ELEMENT_TAG(type)
Definition: TopologyElementTag.h:100
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
ConnectivityStructured(const ConnectivityStructured< IncidentTopology, VisitTopology, Dimension > &src)
Definition: ConnectivityStructured.h:62
#define VISKORES_EXEC_CONT
Definition: ExportMacros.h:60
typename Helper::IndicesType IndicesType
Type of variable that lists of incident indices will be put into.
Definition: ConnectivityStructured.h:105
typename Helper::CellShapeTag CellShapeTag
The tag representing the cell shape of the visited elements.
Definition: ConnectivityStructured.h:86
viskores::Id LogicalToFlatIncidentIndex(const SchedulingRangeType &logicalIncidentIndex) const
Convenience method that converts logical indices in a viskores::Vec of an incident element to a flat,...
Definition: ConnectivityStructured.h:140
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
viskores::Id LogicalToFlatVisitIndex(const SchedulingRangeType &logicalVisitIndex) const
Convenience method that converts logical indices in a viskores::Vec of a visited element to a flat,...
Definition: ConnectivityStructured.h:132
Groups connected points that have the same field value.
Definition: Atomic.h:27
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
SchedulingRangeType FlatToLogicalFromIndex(viskores::Id flatFromIndex) const
Definition: ConnectivityStructured.h:148
#define VISKORES_DEPRECATED(...)
Definition: Deprecated.h:156
typename InternalsType::SchedulingRangeType SchedulingRangeType
Definition: ConnectivityStructured.h:49
viskores::Id GetNumberOfElements() const
Provides the number of elements in the topology.
Definition: ConnectivityStructured.h:79
viskores::IdComponent GetNumberOfIndices(const IndexType &index) const
Given the index of a visited element, returns the number of incident elements touching it.
Definition: ConnectivityStructured.h:99
viskores::Id LogicalToFlatFromIndex(const SchedulingRangeType &logicalFromIndex) const
Definition: ConnectivityStructured.h:155
viskores::internal::ConnectivityStructuredInternals< Dimension > InternalsType
Definition: ConnectivityStructured.h:43
ConnectivityStructured()=default
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
A short fixed-length array.
Definition: Types.h:365
SchedulingRangeType FlatToLogicalToIndex(viskores::Id flatToIndex) const
Definition: ConnectivityStructured.h:162
A class holding information about topology connections.
Definition: ConnectivityStructured.h:38
#define VISKORES_EXEC
Definition: ExportMacros.h:59
SchedulingRangeType FlatToLogicalIncidentIndex(viskores::Id flatIncidentIndex) const
Convenience method that converts a flat, 1D index to the incident elements to a viskores::Vec contain...
Definition: ConnectivityStructured.h:125