VTK-m
2.2
|
An explicit cell set with all cells of the same shape. More...
#include <CastAndCall.h>
Public Member Functions | |
CellSetSingleType () | |
CellSetSingleType (const Thisclass &src) | |
CellSetSingleType (Thisclass &&src) noexcept | |
Thisclass & | operator= (const Thisclass &src) |
Thisclass & | operator= (Thisclass &&src) noexcept |
~CellSetSingleType () override | |
void | PrepareToAddCells (vtkm::Id numCells, vtkm::Id connectivityMaxLen) |
Start adding cells one at a time. More... | |
template<typename IdVecType > | |
void | AddCell (vtkm::UInt8 shapeId, 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, vtkm::UInt8 shapeId, vtkm::IdComponent numberOfPointsPerCell, const vtkm::cont::ArrayHandle< vtkm::Id, ConnectivityStorageTag > &connectivity) |
Set all the cells of the mesh. More... | |
vtkm::Id | GetCellShapeAsId () const |
vtkm::UInt8 | GetCellShape (vtkm::Id) const override |
std::shared_ptr< CellSet > | NewInstance () const override |
void | DeepCopy (const CellSet *src) override |
void | PrintSummary (std::ostream &out) const override |
Private Types | |
using | Thisclass = vtkm::cont::CellSetSingleType< ConnectivityStorageTag > |
using | Superclass = vtkm::cont::CellSetExplicit< typename vtkm::cont::ArrayHandleConstant< vtkm::UInt8 >::StorageTag, ConnectivityStorageTag, typename vtkm::cont::ArrayHandleCounting< vtkm::Id >::StorageTag > |
Private Member Functions | |
template<typename CellShapeTag > | |
void | CheckNumberOfPointsPerCell (CellShapeTag, vtkm::CellTraitsTagSizeFixed, vtkm::IdComponent numVertices) const |
template<typename CellShapeTag > | |
void | CheckNumberOfPointsPerCell (CellShapeTag, vtkm::CellTraitsTagSizeVariable, vtkm::IdComponent) const |
void | CheckNumberOfPointsPerCell (vtkm::IdComponent numVertices) const |
Private Attributes | |
vtkm::Id | ExpectedNumberOfCellsAdded |
vtkm::Id | CellShapeAsId |
vtkm::IdComponent | NumberOfPointsPerCell |
An explicit cell set with all cells of the same shape.
CellSetSingleType
is an explicit cell set constrained to contain cells that all have the same shape and all have the same number of points. So, for example if you are creating a surface that you know will contain only triangles, CellSetSingleType
is a good representation for these data.
Using CellSetSingleType
saves memory because the array of cell shapes and the array of point counts no longer need to be stored. CellSetSingleType
also allows VTK-m to skip some processing and other storage required for general explicit cell sets.
|
private |
|
private |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlineoverride |
|
inline |
Add a cell.
This can only be called after AddCell
.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inline |
Finish adding cells one at a time.
|
inlineoverride |
|
inline |
Set all the cells of the mesh.
This method can be used to fill the memory from another system without copying data.
|
inlineoverride |
|
inline |
|
inlineoverride |
|
inline |
|
inlinenoexcept |
|
inline |
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
.
|
inlineoverride |
|
private |
|
private |
|
private |