VTK-m  2.2
Public Types | Public Member Functions | Private Types | Private Attributes | Friends | List of all members
vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension > Class Template Reference

A class holding information about topology connections. More...

#include <ConnectivityStructured.h>

Public Types

using SchedulingRangeType = typename InternalsType::SchedulingRangeType
 
using CellShapeTag = typename Helper::CellShapeTag
 The tag representing the cell shape of the visited elements. More...
 
using IndicesType = typename Helper::IndicesType
 Type of variable that lists of incident indices will be put into. More...
 

Public Member Functions

 ConnectivityStructured ()=default
 
 ConnectivityStructured (const InternalsType &src)
 
 ConnectivityStructured (const ConnectivityStructured &src)=default
 
 ConnectivityStructured (const ConnectivityStructured< IncidentTopology, VisitTopology, Dimension > &src)
 
ConnectivityStructuredoperator= (const ConnectivityStructured &src)=default
 
ConnectivityStructuredoperator= (ConnectivityStructured &&src)=default
 
vtkm::Id GetNumberOfElements () const
 Provides the number of elements in the topology. More...
 
CellShapeTag GetCellShape (vtkm::Id) const
 Returns a tag for the cell shape associated with the element at the given index. More...
 
template<typename IndexType >
vtkm::IdComponent GetNumberOfIndices (const IndexType &index) const
 Given the index of a visited element, returns the number of incident elements touching it. More...
 
template<typename IndexType >
IndicesType GetIndices (const IndexType &index) const
 Provides the indices of all elements incident to the visit element of the provided index. More...
 
SchedulingRangeType FlatToLogicalVisitIndex (vtkm::Id flatVisitIndex) const
 Convenience method that converts a flat, 1D index to the visited elements to a vtkm::Vec containing the logical indices in the grid. More...
 
SchedulingRangeType FlatToLogicalIncidentIndex (vtkm::Id flatIncidentIndex) const
 Convenience method that converts a flat, 1D index to the incident elements to a vtkm::Vec containing the logical indices in the grid. More...
 
vtkm::Id LogicalToFlatVisitIndex (const SchedulingRangeType &logicalVisitIndex) const
 Convenience method that converts logical indices in a vtkm::Vec of a visited element to a flat, 1D index. More...
 
vtkm::Id LogicalToFlatIncidentIndex (const SchedulingRangeType &logicalIncidentIndex) const
 Convenience method that converts logical indices in a vtkm::Vec of an incident element to a flat, 1D index. More...
 
SchedulingRangeType FlatToLogicalFromIndex (vtkm::Id flatFromIndex) const
 
vtkm::Id LogicalToFlatFromIndex (const SchedulingRangeType &logicalFromIndex) const
 
SchedulingRangeType FlatToLogicalToIndex (vtkm::Id flatToIndex) const
 
vtkm::Id LogicalToFlatToIndex (const SchedulingRangeType &logicalToIndex) const
 
vtkm::Vec< vtkm::Id, Dimension > GetPointDimensions () const
 Return the dimensions of the points in the cell set. More...
 
vtkm::Vec< vtkm::Id, Dimension > GetCellDimensions () const
 Return the dimensions of the points in the cell set. More...
 
SchedulingRangeType GetGlobalPointIndexStart () const
 

Private Types

using InternalsType = vtkm::internal::ConnectivityStructuredInternals< Dimension >
 
using Helper = vtkm::internal::ConnectivityStructuredIndexHelper< VisitTopology, IncidentTopology, Dimension >
 

Private Attributes

InternalsType Internals
 

Friends

class ConnectivityStructured< IncidentTopology, VisitTopology, Dimension >
 

Detailed Description

template<typename VisitTopology, typename IncidentTopology, vtkm::IdComponent Dimension>
class vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >

A class holding information about topology connections.

An object of ConnectivityStructured is provided to a worklet when the ControlSignature argument is WholeCellSetIn and the vtkm::cont::CellSet provided is a vtkm::cont::CellSetStructured.

Member Typedef Documentation

◆ CellShapeTag

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
using vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::CellShapeTag = typename Helper::CellShapeTag

The tag representing the cell shape of the visited elements.

If the "visit" element is cells, then the returned tag is vtkm::CellShapeTagHexahedron for a 3D structured grid, vtkm::CellShapeTagQuad for a 2D structured grid, or vtkm::CellShapeLine for a 1D structured grid.

◆ Helper

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
using vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::Helper = vtkm::internal::ConnectivityStructuredIndexHelper<VisitTopology, IncidentTopology, Dimension>
private

◆ IndicesType

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
using vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::IndicesType = typename Helper::IndicesType

Type of variable that lists of incident indices will be put into.

◆ InternalsType

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
using vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::InternalsType = vtkm::internal::ConnectivityStructuredInternals<Dimension>
private

◆ SchedulingRangeType

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
using vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::SchedulingRangeType = typename InternalsType::SchedulingRangeType

Constructor & Destructor Documentation

◆ ConnectivityStructured() [1/4]

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::ConnectivityStructured ( )
default

◆ ConnectivityStructured() [2/4]

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::ConnectivityStructured ( const InternalsType src)
inline

◆ ConnectivityStructured() [3/4]

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::ConnectivityStructured ( const ConnectivityStructured< VisitTopology, IncidentTopology, Dimension > &  src)
default

◆ ConnectivityStructured() [4/4]

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::ConnectivityStructured ( const ConnectivityStructured< IncidentTopology, VisitTopology, Dimension > &  src)
inline

Member Function Documentation

◆ FlatToLogicalFromIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
SchedulingRangeType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::FlatToLogicalFromIndex ( vtkm::Id  flatFromIndex) const
inline

◆ FlatToLogicalIncidentIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
SchedulingRangeType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::FlatToLogicalIncidentIndex ( vtkm::Id  flatIncidentIndex) const
inline

Convenience method that converts a flat, 1D index to the incident elements to a vtkm::Vec containing the logical indices in the grid.

◆ FlatToLogicalToIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
SchedulingRangeType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::FlatToLogicalToIndex ( vtkm::Id  flatToIndex) const
inline

◆ FlatToLogicalVisitIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
SchedulingRangeType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::FlatToLogicalVisitIndex ( vtkm::Id  flatVisitIndex) const
inline

Convenience method that converts a flat, 1D index to the visited elements to a vtkm::Vec containing the logical indices in the grid.

◆ GetCellDimensions()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Vec<vtkm::Id, Dimension> vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetCellDimensions ( ) const
inline

Return the dimensions of the points in the cell set.

◆ GetCellShape()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
CellShapeTag vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetCellShape ( vtkm::Id  ) const
inline

Returns a tag for the cell shape associated with the element at the given index.

If the "visit" element is cells, then the returned tag is vtkm::CellShapeTagHexahedron for a 3D structured grid, vtkm::CellShapeTagQuad for a 2D structured grid, or vtkm::CellShapeLine for a 1D structured grid.

◆ GetGlobalPointIndexStart()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
SchedulingRangeType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetGlobalPointIndexStart ( ) const
inline

◆ GetIndices()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
template<typename IndexType >
IndicesType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetIndices ( const IndexType &  index) const
inline

Provides the indices of all elements incident to the visit element of the provided index.

◆ GetNumberOfElements()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Id vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetNumberOfElements ( ) const
inline

Provides the number of elements in the topology.

This number of elements is associated with the "visit" type of topology element, which is the first template argument to WholeCellSetIn. The number of elements defines the valid indices for the other methods of this class.

◆ GetNumberOfIndices()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
template<typename IndexType >
vtkm::IdComponent vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetNumberOfIndices ( const IndexType &  index) const
inline

Given the index of a visited element, returns the number of incident elements touching it.

◆ GetPointDimensions()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Vec<vtkm::Id, Dimension> vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::GetPointDimensions ( ) const
inline

Return the dimensions of the points in the cell set.

◆ LogicalToFlatFromIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Id vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::LogicalToFlatFromIndex ( const SchedulingRangeType logicalFromIndex) const
inline

◆ LogicalToFlatIncidentIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Id vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::LogicalToFlatIncidentIndex ( const SchedulingRangeType logicalIncidentIndex) const
inline

Convenience method that converts logical indices in a vtkm::Vec of an incident element to a flat, 1D index.

◆ LogicalToFlatToIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Id vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::LogicalToFlatToIndex ( const SchedulingRangeType logicalToIndex) const
inline

◆ LogicalToFlatVisitIndex()

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
vtkm::Id vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::LogicalToFlatVisitIndex ( const SchedulingRangeType logicalVisitIndex) const
inline

Convenience method that converts logical indices in a vtkm::Vec of a visited element to a flat, 1D index.

◆ operator=() [1/2]

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
ConnectivityStructured& vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::operator= ( ConnectivityStructured< VisitTopology, IncidentTopology, Dimension > &&  src)
default

◆ operator=() [2/2]

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
ConnectivityStructured& vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::operator= ( const ConnectivityStructured< VisitTopology, IncidentTopology, Dimension > &  src)
default

Friends And Related Function Documentation

◆ ConnectivityStructured< IncidentTopology, VisitTopology, Dimension >

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
friend class ConnectivityStructured< IncidentTopology, VisitTopology, Dimension >
friend

Member Data Documentation

◆ Internals

template<typename VisitTopology , typename IncidentTopology , vtkm::IdComponent Dimension>
InternalsType vtkm::exec::ConnectivityStructured< VisitTopology, IncidentTopology, Dimension >::Internals
private

The documentation for this class was generated from the following file: