VTK
9.1.0
|
Store mapping from vtkPolyData cell ids to internal cell array ids. More...
#include <vtkPolyDataInternals.h>
Store mapping from vtkPolyData cell ids to internal cell array ids.
Optimized data structure for storing internal cell ids and type information for vtkPolyData datasets.
Since vtkPolyData only supports a handful of types, the type information is compressed to four bits – the first two indicate which internal vtkCellArray object a cell is stored in (verts, lines, polys, strips), and the second two bits indicate which type of cell (e.g. lines vs polylines, triangles vs quads vs polygons, etc), as well as whether or not the cell has been deleted from the vtkPolyData.
These four bits are stored at the top of a 64 bit index, and the remaining 60 bits store the cell id. This implies that the internal cell arrays cannot store more than 2^60 cells each, a reasonable limit for modern hardware.
TaggedCellId structure: 66 66 555555555544444444443333333333222222222211111111110000000000 32 10 987654321098765432109876543210987654321098765432109876543210 +–+–+---------------------------------------------------------—+ |00|00|000000000000000000000000000000000000000000000000000000000000| +^-+^-+^--------------------------------------------------------—+ | | | | | |> Bottom 60 bits of cellId | |> Type variant / deleted |> Target cell array
The supported cell types are: