VTK
9.4.20250420
|
Templated on types of ids defining an edge. More...
#include <vtkStaticFaceHashLinksTemplate.h>
Public Member Functions | |
vtkStaticFaceHashLinksTemplate ()=default | |
void | BuildHashLinks (vtkUnstructuredGrid *input) |
Build the hash links. | |
void | Reset () |
Reset the hash links and free the memory. | |
vtkIdType | GetNumberOfFaces () const |
Get number of faces. | |
vtkIdType | GetNumberOfHashes () const |
Get the number of hashes. | |
vtkIdType | GetNumberOfFacesInHash (vtkIdType hash) const |
Get the number of faces in a particular hash. | |
TInputIdType * | GetCellIdOfFacesInHash (vtkIdType hash) const |
Get cell id of faces in a particular hash. | |
TFaceIdType * | GetFaceIdOfFacesInHash (vtkIdType hash) const |
Get face id of faces in a particular hash. | |
Protected Attributes | |
vtkIdType | NumberOfFaces = 0 |
vtkIdType | NumberOfHashes = 0 |
std::shared_ptr< TInputIdType > | CellIdOfFaceLinks |
std::shared_ptr< TFaceIdType > | FaceIdOfFaceLinks |
std::shared_ptr< vtkIdType > | FaceOffsets |
Templated on types of ids defining an edge.
templated hashLinks for extracting faces from a vtkUnstructuredGrid
vtkStaticFaceHashLinksTemplate is a templated class for grouping faces of an unstructured grid. The faces are grouped by their hash value. Their hash value is the minimum of the ids of the points defining the face of a 3D cells, or the the number of points of the unstructured grid if the cell is a 1D-2D.
To use this class first you need to call BuildHashLinks() with the vtkUnstructuredGrid as argument. Then you can use the methods 1) GetNumberOfFaces() to get the number of faces in the grid 2) GetNumberOfHashes() to get the number of hashes 4) GetNumberOfFacesInHash() to get the number of faces in a particular hash 5) GetCellIdOfFacesInHash() to get the cell id of the faces in a particular hash 6) GetFaceIdOfFacesInHash() to get the face id of the faces in a particular hash
In general, this class tries to minimize the memory usage as much as possible. For that reason while to get a face you need to cell id and the face id, so they could be a struct, it's more efficient to store them in two different arrays to minimize the memory usage.
Template parameters: 1) TInputIdType: the type of the id of the cells and points of the input grid. If Number of points and number of cells Cells < 2^31 then use vtkTypeInt32. Otherwise, use vtkTypeInt64. 2) TFaceIdType: the type of the id of the faces of the input grid. Most of the times a cell can have less than 2^7 faces, so use vtkTypeInt8. Otherwise, use vtkTypeInt32 when the input grid has polyhedron cells.
Definition at line 63 of file vtkStaticFaceHashLinksTemplate.h.
|
default |
void vtkStaticFaceHashLinksTemplate< TInputIdType, TFaceIdType >::BuildHashLinks | ( | vtkUnstructuredGrid * | input | ) |
Build the hash links.
void vtkStaticFaceHashLinksTemplate< TInputIdType, TFaceIdType >::Reset | ( | ) |
Reset the hash links and free the memory.
|
inline |
Get number of faces.
Definition at line 81 of file vtkStaticFaceHashLinksTemplate.h.
|
inline |
Get the number of hashes.
Definition at line 86 of file vtkStaticFaceHashLinksTemplate.h.
|
inline |
Get the number of faces in a particular hash.
Definition at line 91 of file vtkStaticFaceHashLinksTemplate.h.
|
inline |
Get cell id of faces in a particular hash.
Definition at line 99 of file vtkStaticFaceHashLinksTemplate.h.
|
inline |
Get face id of faces in a particular hash.
Definition at line 107 of file vtkStaticFaceHashLinksTemplate.h.
|
protected |
Definition at line 113 of file vtkStaticFaceHashLinksTemplate.h.
|
protected |
Definition at line 114 of file vtkStaticFaceHashLinksTemplate.h.
|
protected |
Definition at line 115 of file vtkStaticFaceHashLinksTemplate.h.
|
protected |
Definition at line 116 of file vtkStaticFaceHashLinksTemplate.h.
|
protected |
Definition at line 117 of file vtkStaticFaceHashLinksTemplate.h.