VTK-m
2.1
|
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 | |
Thisclass & | operator= (const Thisclass &src) |
Thisclass & | operator= (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< CellSet > | NewInstance () 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 |
vtkm::UInt8 | GetCellShape (vtkm::Id cellid) const override |
template<vtkm::IdComponent NumIndices> | |
void | GetIndices (vtkm::Id index, vtkm::Vec< vtkm::Id, NumIndices > &ids) const |
void | GetIndices (vtkm::Id index, vtkm::cont::ArrayHandle< vtkm::Id > &ids) const |
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, VisitTopology, IncidentTopology, vtkm::cont::Token &) const |
template<typename VisitTopology , typename IncidentTopology > | |
const ConnectivityChooser< VisitTopology, IncidentTopology >::ShapesArrayType & | GetShapesArray (VisitTopology, IncidentTopology) const |
template<typename VisitTopology , typename IncidentTopology > | |
const ConnectivityChooser< VisitTopology, IncidentTopology >::ConnectivityArrayType & | GetConnectivityArray (VisitTopology, IncidentTopology) const |
template<typename VisitTopology , typename IncidentTopology > | |
const ConnectivityChooser< VisitTopology, IncidentTopology >::OffsetsArrayType & | GetOffsetsArray (VisitTopology, IncidentTopology) const |
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 |
template<typename VisitTopology , typename IncidentTopology > | |
void | ResetConnectivity (VisitTopology visit, IncidentTopology incident) |
Protected Attributes | |
std::shared_ptr< Internals > | Data |
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 CellPointIdsType & | GetConnectivity (vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint) const |
const CellPointIdsType & | GetConnectivity (vtkm::TopologyElementTagCell, vtkm::TopologyElementTagPoint) |
const PointCellIdsType & | GetConnectivity (vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell) const |
const PointCellIdsType & | GetConnectivity (vtkm::TopologyElementTagPoint, vtkm::TopologyElementTagCell) |
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.
|
private |
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ConnectivityArrayType = typename CellPointIdsType::ConnectivityArrayType |
|
private |
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ExecConnectivityType = typename ConnectivityChooser<VisitTopology, IncidentTopology>::ExecConnectivityType |
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::NumIndicesArrayType = typename ConnTypes::NumIndicesArrayType |
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::OffsetsArrayType = typename CellPointIdsType::OffsetsArrayType |
|
private |
|
private |
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::SchedulingRangeType = vtkm::Id |
using vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ShapesArrayType = typename CellPointIdsType::ShapesArrayType |
|
private |
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CellSetExplicit | ( | ) |
vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CellSetExplicit | ( | const Thisclass & | src | ) |
|
noexcept |
|
override |
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
.
|
inlineprotected |
|
inlineprotected |
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::CompleteAddingCells | ( | vtkm::Id | numPoints | ) |
Finish adding cells one at a time.
|
override |
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.
|
override |
|
override |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
const ConnectivityChooser<VisitTopology, IncidentTopology>::ConnectivityArrayType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetConnectivityArray | ( | VisitTopology | , |
IncidentTopology | |||
) | const |
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetIndices | ( | vtkm::Id | index, |
vtkm::cont::ArrayHandle< vtkm::Id > & | ids | ||
) | const |
void vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetIndices | ( | vtkm::Id | index, |
vtkm::Vec< vtkm::Id, NumIndices > & | ids | ||
) | const |
|
override |
|
override |
|
override |
|
override |
|
override |
ConnectivityChooser<VisitTopology, IncidentTopology>::NumIndicesArrayType vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetNumIndicesArray | ( | VisitTopology | , |
IncidentTopology | |||
) | const |
const ConnectivityChooser<VisitTopology, IncidentTopology>::OffsetsArrayType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetOffsetsArray | ( | VisitTopology | , |
IncidentTopology | |||
) | const |
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetSchedulingRange | ( | vtkm::TopologyElementTagCell | ) | const |
vtkm::Id vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetSchedulingRange | ( | vtkm::TopologyElementTagPoint | ) | const |
const ConnectivityChooser<VisitTopology, IncidentTopology>::ShapesArrayType& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::GetShapesArray | ( | VisitTopology | , |
IncidentTopology | |||
) | const |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
override |
Thisclass& vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::operator= | ( | const Thisclass & | src | ) |
|
noexcept |
ExecConnectivityType<VisitTopology, IncidentTopology> vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::PrepareForInput | ( | vtkm::cont::DeviceAdapterId | , |
VisitTopology | , | ||
IncidentTopology | , | ||
vtkm::cont::Token & | |||
) | const |
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
.
|
override |
|
override |
|
inline |
|
inlineprotected |
|
inlineprotected |
vtkm::cont::ArrayHandle<vtkm::UInt8, ShapesStorageTag>::ReadPortalType vtkm::cont::CellSetExplicit< ShapesStorageTag, ConnectivityStorageTag, OffsetsStorageTag >::ShapesReadPortal | ( | ) | const |
|
protected |