VTK-m  2.2
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | List of all members
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag > Class Template Reference

Defines an irregular collection of cells. More...

#include <CastAndCall.h>

Classes

struct  ConnectivityChooser
 
struct  Internals
 

Public Types

using SchedulingRangeType = vtkm::Id
 
using ShapesArrayType = typename CellPointIdsType::ShapesArrayType
 
using ConnectivityArrayType = typename CellPointIdsType::ConnectivityArrayType
 
using OffsetsArrayType = typename CellPointIdsType::OffsetsArrayType
 
using NumIndicesArrayType = typename ConnTypes::NumIndicesArrayType
 
template<typename VisitTopology , typename IncidentTopology >
using ExecConnectivityType = typename ConnectivityChooser< VisitTopology, IncidentTopology >::ExecConnectivityType
 

Public Member Functions

 CellSetExplicit ()
 
 CellSetExplicit (const Thisclass &src)
 
 CellSetExplicit (Thisclass &&src) noexcept
 
Thisclassoperator= (const Thisclass &src)
 
Thisclassoperator= (Thisclass &&src) noexcept
 
 ~CellSetExplicit () override
 
vtkm::Id GetNumberOfCells () const override
 
vtkm::Id GetNumberOfPoints () const override
 
vtkm::Id GetNumberOfFaces () const override
 
vtkm::Id GetNumberOfEdges () const override
 
void PrintSummary (std::ostream &out) const override
 
void ReleaseResourcesExecution () override
 
std::shared_ptr< CellSetNewInstance () const override
 
void DeepCopy (const CellSet *src) override
 
vtkm::Id GetSchedulingRange (vtkm::TopologyElementTagCell) const
 
vtkm::Id GetSchedulingRange (vtkm::TopologyElementTagPoint) const
 
vtkm::IdComponent GetNumberOfPointsInCell (vtkm::Id cellid) const override
 
void GetCellPointIds (vtkm::Id id, vtkm::Id *ptids) const override
 
vtkm::cont::ArrayHandle< vtkm::UInt8, ShapesStorageTag >::ReadPortalType ShapesReadPortal () const
 Returns an array portal that can be used to get the shape id of each cell. More...
 
vtkm::UInt8 GetCellShape (vtkm::Id cellid) const override
 
template<vtkm::IdComponent NumIndices>
void GetIndices (vtkm::Id index, vtkm::Vec< vtkm::Id, NumIndices > &ids) const
 Retrieves the indices of the points incident to the given cell. More...
 
void GetIndices (vtkm::Id index, vtkm::cont::ArrayHandle< vtkm::Id > &ids) const
 Retrieves the indices of the points incident to the given cell. More...
 
void PrepareToAddCells (vtkm::Id numCells, vtkm::Id connectivityMaxLen)
 Start adding cells one at a time. More...
 
template<typename IdVecType >
void AddCell (vtkm::UInt8 cellType, vtkm::IdComponent numVertices, const IdVecType &ids)
 Add a cell. More...
 
void CompleteAddingCells (vtkm::Id numPoints)
 Finish adding cells one at a time. More...
 
void Fill (vtkm::Id numPoints, const vtkm::cont::ArrayHandle< vtkm::UInt8, ShapesStorageTag > &cellTypes, const vtkm::cont::ArrayHandle< vtkm::Id, ConnectivityStorageTag > &connectivity, const vtkm::cont::ArrayHandle< vtkm::Id, OffsetsStorageTag > &offsets)
 Set all the cells of the mesh. More...
 
template<typename VisitTopology , typename IncidentTopology >
ExecConnectivityType< VisitTopology, IncidentTopology > PrepareForInput (vtkm::cont::DeviceAdapterId device, VisitTopology visitTopology, IncidentTopology incidentTopology, vtkm::cont::Token &token) const
 Prepares the data for a particular device and returns the execution object for it. More...
 
template<typename VisitTopology , typename IncidentTopology >
const ConnectivityChooser< VisitTopology, IncidentTopology >::ShapesArrayTypeGetShapesArray (VisitTopology, IncidentTopology) const
 Returns the vtkm::cont::ArrayHandle holding the shape information. More...
 
template<typename VisitTopology , typename IncidentTopology >
const ConnectivityChooser< VisitTopology, IncidentTopology >::ConnectivityArrayTypeGetConnectivityArray (VisitTopology, IncidentTopology) const
 Returns the vtkm::cont::ArrayHandle containing the connectivity information. More...
 
template<typename VisitTopology , typename IncidentTopology >
const ConnectivityChooser< VisitTopology, IncidentTopology >::OffsetsArrayTypeGetOffsetsArray (VisitTopology, IncidentTopology) const
 Returns the vtkm::cont::ArrayHandle containing the offsets into theconnectivity information. More...
 
template<typename VisitTopology , typename IncidentTopology >
ConnectivityChooser< VisitTopology, IncidentTopology >::NumIndicesArrayType GetNumIndicesArray (VisitTopology, IncidentTopology) const
 
template<typename VisitTopology , typename IncidentTopology >
bool HasConnectivity (VisitTopology visit, IncidentTopology incident) const
 Returns whether the CellSetExplicit has information for the given visit and incident topology elements. More...
 
template<typename VisitTopology , typename IncidentTopology >
void ResetConnectivity (VisitTopology visit, IncidentTopology incident)
 

Protected Member Functions

void BuildConnectivity (vtkm::cont::DeviceAdapterId, vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint) const
 
void BuildConnectivity (vtkm::cont::DeviceAdapterId device, vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell) const
 
bool HasConnectivityImpl (vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint) const
 
bool HasConnectivityImpl (vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell) const
 
void ResetConnectivityImpl (vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint)
 
void ResetConnectivityImpl (vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell)
 

Protected Attributes

std::shared_ptr< InternalsData
 

Private Types

using Thisclass = CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >
 
using ConnTypes = ConnectivityChooser< vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint >
 
using RConnTypes = ConnectivityChooser< vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell >
 
using CellPointIdsType = typename ConnTypes::ConnectivityType
 
using PointCellIdsType = typename RConnTypes::ConnectivityType
 

Private Member Functions

const CellPointIdsTypeGetConnectivity (vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint) const
 
const CellPointIdsTypeGetConnectivity (vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint)
 
const PointCellIdsTypeGetConnectivity (vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell) const
 
const PointCellIdsTypeGetConnectivity (vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell)
 

Detailed Description

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
class vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >

Defines an irregular collection of cells.

The cells can be of different types and connected in arbitrary ways. This is done by explicitly providing for each cell a sequence of points that defines the cell.

Member Typedef Documentation

◆ CellPointIdsType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CellPointIdsType = typename ConnTypes::ConnectivityType
private

◆ ConnectivityArrayType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ConnectivityArrayType = typename CellPointIdsType::ConnectivityArrayType

◆ ConnTypes

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ConnTypes = ConnectivityChooser<vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint>
private

◆ ExecConnectivityType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ExecConnectivityType = typename ConnectivityChooser<VisitTopology, IncidentTopology>::ExecConnectivityType

◆ NumIndicesArrayType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::NumIndicesArrayType = typename ConnTypes::NumIndicesArrayType

◆ OffsetsArrayType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::OffsetsArrayType = typename CellPointIdsType::OffsetsArrayType

◆ PointCellIdsType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::PointCellIdsType = typename RConnTypes::ConnectivityType
private

◆ RConnTypes

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::RConnTypes = ConnectivityChooser<vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell>
private

◆ SchedulingRangeType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::SchedulingRangeType = vtkm::Id

◆ ShapesArrayType

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ShapesArrayType = typename CellPointIdsType::ShapesArrayType

◆ Thisclass

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::Thisclass = CellSetExplicit<ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag>
private

Constructor & Destructor Documentation

◆ CellSetExplicit() [1/3]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CellSetExplicit ( )

◆ CellSetExplicit() [2/3]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CellSetExplicit ( const Thisclass src)

◆ CellSetExplicit() [3/3]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CellSetExplicit ( Thisclass &&  src)
noexcept

◆ ~CellSetExplicit()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::~CellSetExplicit ( )
override

Member Function Documentation

◆ AddCell()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename IdVecType >
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::AddCell ( vtkm::UInt8  cellType,
vtkm::IdComponent  numVertices,
const IdVecType &  ids 
)

Add a cell.

This can only be called after AddCell.

◆ BuildConnectivity() [1/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::BuildConnectivity ( vtkm::cont::DeviceAdapterId  device,
vtkm::TopologyElementTagPoint  ,
vtkm::TopologyElementTagCell   
) const
inlineprotected

◆ BuildConnectivity() [2/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::BuildConnectivity ( vtkm::cont::DeviceAdapterId  ,
vtkm::TopologyElementTagCell  ,
vtkm::TopologyElementTagPoint   
) const
inlineprotected

◆ CompleteAddingCells()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CompleteAddingCells ( vtkm::Id  numPoints)

Finish adding cells one at a time.

◆ DeepCopy()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::DeepCopy ( const CellSet src)
override

◆ Fill()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::Fill ( vtkm::Id  numPoints,
const vtkm::cont::ArrayHandle< vtkm::UInt8, ShapesStorageTag > &  cellTypes,
const vtkm::cont::ArrayHandle< vtkm::Id, ConnectivityStorageTag > &  connectivity,
const vtkm::cont::ArrayHandle< vtkm::Id, OffsetsStorageTag > &  offsets 
)

Set all the cells of the mesh.

This method can be used to fill the memory from another system without copying data.

◆ GetCellPointIds()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetCellPointIds ( vtkm::Id  id,
vtkm::Id ptids 
) const
override

◆ GetCellShape()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::UInt8 vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetCellShape ( vtkm::Id  cellid) const
override

◆ GetConnectivity() [1/4]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
const CellPointIdsType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetConnectivity ( vtkm::TopologyElementTagCell  ,
vtkm::TopologyElementTagPoint   
)
inlineprivate

◆ GetConnectivity() [2/4]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
const CellPointIdsType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetConnectivity ( vtkm::TopologyElementTagCell  ,
vtkm::TopologyElementTagPoint   
) const
inlineprivate

◆ GetConnectivity() [3/4]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
const PointCellIdsType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetConnectivity ( vtkm::TopologyElementTagPoint  ,
vtkm::TopologyElementTagCell   
)
inlineprivate

◆ GetConnectivity() [4/4]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
const PointCellIdsType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetConnectivity ( vtkm::TopologyElementTagPoint  ,
vtkm::TopologyElementTagCell   
) const
inlineprivate

◆ GetConnectivityArray()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
const ConnectivityChooser<VisitTopology, IncidentTopology>::ConnectivityArrayType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetConnectivityArray ( VisitTopology  ,
IncidentTopology   
) const

Returns the vtkm::cont::ArrayHandle containing the connectivity information.

Returns the vtkm::cont::ArrayHandle holding the shape information. The incident array corresponding to vtkm::TopologyElementTagCell for the VisitTopology and vtkm::TopologyElementTagPoint for the IncidentTopology is the same as that provided when filling the explicit cell set. ExplicitCellSet is capable of providing the inverse connections (cells incident on each point) on request.

◆ GetIndices() [1/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetIndices ( vtkm::Id  index,
vtkm::cont::ArrayHandle< vtkm::Id > &  ids 
) const

Retrieves the indices of the points incident to the given cell.

◆ GetIndices() [2/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<vtkm::IdComponent NumIndices>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetIndices ( vtkm::Id  index,
vtkm::Vec< vtkm::Id, NumIndices > &  ids 
) const

Retrieves the indices of the points incident to the given cell.

If the provided vtkm::Vec does not have enough components, the result will be truncated.

◆ GetNumberOfCells()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumberOfCells ( ) const
override

◆ GetNumberOfEdges()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumberOfEdges ( ) const
override

◆ GetNumberOfFaces()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumberOfFaces ( ) const
override

◆ GetNumberOfPoints()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumberOfPoints ( ) const
override

◆ GetNumberOfPointsInCell()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::IdComponent vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumberOfPointsInCell ( vtkm::Id  cellid) const
override

◆ GetNumIndicesArray()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
ConnectivityChooser<VisitTopology, IncidentTopology>::NumIndicesArrayType vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumIndicesArray ( VisitTopology  ,
IncidentTopology   
) const

◆ GetOffsetsArray()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
const ConnectivityChooser<VisitTopology, IncidentTopology>::OffsetsArrayType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetOffsetsArray ( VisitTopology  ,
IncidentTopology   
) const

Returns the vtkm::cont::ArrayHandle containing the offsets into theconnectivity information.

Returns the vtkm::cont::ArrayHandle holding the offset information. The offset array corresponding to vtkm::TopologyElementTagCell for the VisitTopology and vtkm::TopologyElementTagPoint for the IncidentTopology is the same as that provided when filling the explicit cell set. ExplicitCellSet is capable of providing the inverse connections (cells incident on each point) on request.

◆ GetSchedulingRange() [1/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetSchedulingRange ( vtkm::TopologyElementTagCell  ) const

◆ GetSchedulingRange() [2/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetSchedulingRange ( vtkm::TopologyElementTagPoint  ) const

◆ GetShapesArray()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
const ConnectivityChooser<VisitTopology, IncidentTopology>::ShapesArrayType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetShapesArray ( VisitTopology  ,
IncidentTopology   
) const

Returns the vtkm::cont::ArrayHandle holding the shape information.

The shapes array corresponding to vtkm::TopologyElementTagCell for the VisitTopology and vtkm::TopologyElementTagPoint for the IncidentTopology is the same as that provided when filling the explicit cell set. ExplicitCellSet is capable of providing the inverse connections (cells incident on each point) on request.

◆ HasConnectivity()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
bool vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::HasConnectivity ( VisitTopology  visit,
IncidentTopology  incident 
) const
inline

Returns whether the CellSetExplicit has information for the given visit and incident topology elements.

If the connectivity is not available, it will be automatically created if requested, but that will take time.

◆ HasConnectivityImpl() [1/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
bool vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::HasConnectivityImpl ( vtkm::TopologyElementTagCell  ,
vtkm::TopologyElementTagPoint   
) const
inlineprotected

◆ HasConnectivityImpl() [2/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
bool vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::HasConnectivityImpl ( vtkm::TopologyElementTagPoint  ,
vtkm::TopologyElementTagCell   
) const
inlineprotected

◆ NewInstance()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
std::shared_ptr<CellSet> vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::NewInstance ( ) const
override

◆ operator=() [1/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
Thisclass& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::operator= ( const Thisclass src)

◆ operator=() [2/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
Thisclass& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::operator= ( Thisclass &&  src)
noexcept

◆ PrepareForInput()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
ExecConnectivityType<VisitTopology, IncidentTopology> vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::PrepareForInput ( vtkm::cont::DeviceAdapterId  device,
VisitTopology  visitTopology,
IncidentTopology  incidentTopology,
vtkm::cont::Token token 
) const

Prepares the data for a particular device and returns the execution object for it.

Parameters
deviceSpecifies the device on which the cell set will ve available.
visitTopologySpecifies the "visit" topology element. This is the element that will be indexed in the resulting connectivity object. This is typically vtkm::TopologyElementTagPoint or vtkm::TopologyElementTagCell.
incidentTopologySpecifies the "incident" topology element. This is the element that will incident to the elements that are visited. This is typically vtkm::TopologyElementTagPoint or vtkm::TopologyElementTagCell.
tokenProvides a vtkm::cont::Token object that will define the span which the return execution object must be valid.
Returns
A connectivity object that can be used in the execution environment on the specified device.

◆ PrepareToAddCells()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::PrepareToAddCells ( vtkm::Id  numCells,
vtkm::Id  connectivityMaxLen 
)

Start adding cells one at a time.

After this method is called, AddCell is called repeatedly to add each cell. Once all cells are added, call CompleteAddingCells.

◆ PrintSummary()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::PrintSummary ( std::ostream &  out) const
override

◆ ReleaseResourcesExecution()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ReleaseResourcesExecution ( )
override

◆ ResetConnectivity()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
template<typename VisitTopology , typename IncidentTopology >
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ResetConnectivity ( VisitTopology  visit,
IncidentTopology  incident 
)
inline

◆ ResetConnectivityImpl() [1/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ResetConnectivityImpl ( vtkm::TopologyElementTagCell  ,
vtkm::TopologyElementTagPoint   
)
inlineprotected

◆ ResetConnectivityImpl() [2/2]

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ResetConnectivityImpl ( vtkm::TopologyElementTagPoint  ,
vtkm::TopologyElementTagCell   
)
inlineprotected

◆ ShapesReadPortal()

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
vtkm::cont::ArrayHandle<vtkm::UInt8, ShapesStorageTag>::ReadPortalType vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ShapesReadPortal ( ) const

Returns an array portal that can be used to get the shape id of each cell.

Using the array portal returned from this method to get many shape ids is likely significantly faster than calling GetCellShape() for each cell.

Member Data Documentation

◆ Data

template<typename ShapesStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename ConnectivityStorageTag = VTKM_DEFAULT_STORAGE_TAG, typename OffsetsStorageTag = VTKM_DEFAULT_STORAGE_TAG>
std::shared_ptr<Internals> vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::Data
protected

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