VTK-m  2.2
Public Types | Public Member Functions | Private Attributes | List of all members
vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType > Class Template Reference

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

#include <ConnectivityExplicit.h>

Public Types

using SchedulingRangeType = vtkm::Id
 
using CellShapeTag = vtkm::CellShapeTagGeneric
 The tag representing the cell shape of the visited elements. More...
 
using IndicesType = vtkm::VecFromPortal< ConnectivityPortalType >
 Type of variable that lists of incident indices will be put into. More...
 

Public Member Functions

 ConnectivityExplicit ()
 
 ConnectivityExplicit (const ShapesPortalType &shapesPortal, const ConnectivityPortalType &connPortal, const OffsetsPortalType &offsetsPortal)
 
SchedulingRangeType GetNumberOfElements () const
 Provides the number of elements in the topology. More...
 
CellShapeTag GetCellShape (vtkm::Id index) const
 Returns a tagfor the cell shape associated with the element at the given index. More...
 
vtkm::IdComponent GetNumberOfIndices (vtkm::Id index) const
 Given the index of a visited element, returns the number of incident elements touching it. More...
 
IndicesType GetIndices (vtkm::Id index) const
 Provides the indices of all elements incident to the visit element of the provided index. More...
 

Private Attributes

ShapesPortalType Shapes
 
ConnectivityPortalType Connectivity
 
OffsetsPortalType Offsets
 

Detailed Description

template<typename ShapesPortalType, typename ConnectivityPortalType, typename OffsetsPortalType>
class vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >

A class holding information about topology connections.

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

Member Typedef Documentation

◆ CellShapeTag

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
using vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::CellShapeTag = vtkm::CellShapeTagGeneric

The tag representing the cell shape of the visited elements.

The tag type is allways vtkm::CellShapeTagGeneric and its id is filled with the identifier for the appropriate shape.

◆ IndicesType

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
using vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::IndicesType = vtkm::VecFromPortal<ConnectivityPortalType>

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

◆ SchedulingRangeType

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
using vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::SchedulingRangeType = vtkm::Id

Constructor & Destructor Documentation

◆ ConnectivityExplicit() [1/2]

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::ConnectivityExplicit ( )
inline

◆ ConnectivityExplicit() [2/2]

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::ConnectivityExplicit ( const ShapesPortalType &  shapesPortal,
const ConnectivityPortalType &  connPortal,
const OffsetsPortalType &  offsetsPortal 
)
inline

Member Function Documentation

◆ GetCellShape()

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
CellShapeTag vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::GetCellShape ( vtkm::Id  index) const
inline

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

The tag type is allways vtkm::CellShapeTagGeneric and its id is filled with the identifier for the appropriate shape.

◆ GetIndices()

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
IndicesType vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::GetIndices ( vtkm::Id  index) const
inline

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

Returns a Vec-like object containing the indices for the given index. The object returned is not an actual array, but rather an object that loads the indices lazily out of the connectivity array. This prevents us from having to know the number of indices at compile time.

◆ GetNumberOfElements()

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
SchedulingRangeType vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::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 ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
vtkm::IdComponent vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::GetNumberOfIndices ( vtkm::Id  index) const
inline

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

Member Data Documentation

◆ Connectivity

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
ConnectivityPortalType vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::Connectivity
private

◆ Offsets

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
OffsetsPortalType vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::Offsets
private

◆ Shapes

template<typename ShapesPortalType , typename ConnectivityPortalType , typename OffsetsPortalType >
ShapesPortalType vtkm::exec::ConnectivityExplicit< ShapesPortalType, ConnectivityPortalType, OffsetsPortalType >::Shapes
private

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