VTK
9.4.20241222
|
object represents upward pointers from points to list of cells using each point (template implementation) More...
#include <vtkStaticCellLinksTemplate.h>
Public Member Functions | |
void | Initialize () |
Make sure any previously created links are cleaned up. | |
void | BuildLinks (vtkDataSet *ds) |
Build the link list array for a general dataset. | |
void | BuildLinks (vtkPolyData *pd) |
Build the link list array for vtkPolyData. | |
void | BuildLinks (vtkUnstructuredGrid *ugrid) |
Build the link list array for vtkUnstructuredGrid. | |
void | BuildLinks (vtkExplicitStructuredGrid *esgrid) |
Build the link list array for vtkExplicitStructuredGrid. | |
template<typename TGivenIds > | |
bool | MatchesCell (TGivenIds npts, const TGivenIds *pts) |
Indicate whether the point ids provided defines at least one cell, or a portion of a cell. | |
TIds * | GetCells (vtkIdType ptId) |
Return a list of cell ids using the point specified by ptId. | |
void | GetCells (vtkIdType npts, const vtkIdType *pts, vtkIdList *cells) |
Given point ids that define a cell, find the cells that contains all of these point ids. | |
TIds | GetLinksSize () |
Return the total number of links represented after the links have been built. | |
TIds | GetOffset (vtkIdType ptId) |
Obtain the offsets into the internal links array. | |
void | SerialBuildLinksFromMultipleArrays (vtkIdType numPts, vtkIdType numCells, std::vector< vtkCellArray * > cellArrays) |
Specialized methods for building links from cell array(S). | |
void | SerialBuildLinks (vtkIdType numPts, vtkIdType numCells, vtkCellArray *cellArray) |
Specialized methods for building links from cell array(S). | |
void | ThreadedBuildLinksFromMultipleArrays (vtkIdType numPts, vtkIdType numCells, std::vector< vtkCellArray * > cellArrays) |
Specialized methods for building links from cell array(S). | |
void | ThreadedBuildLinks (vtkIdType numPts, vtkIdType numCells, vtkCellArray *cellArray) |
Specialized methods for building links from cell array(S). | |
TIds | GetNumberOfCells (vtkIdType ptId) |
Get the number of cells using the point specified by ptId. | |
vtkIdType | GetNcells (vtkIdType ptId) |
Get the number of cells using the point specified by ptId. | |
unsigned long | GetActualMemorySize () |
Support vtkAbstractCellLinks API. | |
void | DeepCopy (vtkAbstractCellLinks *) |
Support vtkAbstractCellLinks API. | |
void | DeepCopy (vtkStaticCellLinksTemplate *src) |
Support vtkAbstractCellLinks API. | |
void | ShallowCopy (vtkStaticCellLinksTemplate *src) |
Support vtkAbstractCellLinks API. | |
void | SelectCells (vtkIdType minMaxDegree[2], unsigned char *cellSelection) |
Support vtkAbstractCellLinks API. | |
void | SetSequentialProcessing (vtkTypeBool seq) |
Control whether to thread or serial process. | |
vtkTypeBool | GetSequentialProcessing () |
Control whether to thread or serial process. | |
Protected Attributes | |
TIds | LinksSize |
TIds | NumPts |
TIds | NumCells |
std::shared_ptr< TIds > | LinkSharedPtr |
TIds * | Links |
std::shared_ptr< TIds > | OffsetsSharedPtr |
TIds * | Offsets |
int | Type |
vtkTypeBool | SequentialProcessing |
object represents upward pointers from points to list of cells using each point (template implementation)
vtkStaticCellLinksTemplate is a supplemental object to vtkCellArray and vtkCellTypes, enabling access to the list of cells using each point. vtkStaticCellLinksTemplate is an array of links, each link represents a list of cell ids using a particular point. The information provided by this object can be used to determine neighbors (e.g., face neighbors, edge neighbors)and construct other local topological information. This class is a faster implementation of vtkCellLinks. However, it cannot be incrementally constructed; it is meant to be constructed once (statically) and must be rebuilt if the cells change.
This is a templated implementation for vtkStaticCellLinks. The reason for the templating is to gain performance and reduce memory by using smaller integral types to represent ids. For example, if the maximum id can be represented by an int (as compared to a vtkIdType), it is possible to reduce memory requirements by half and increase performance. This templated class can be used directly; alternatively the non-templated class vtkStaticCellLinks can be used for convenience; although it uses vtkIdType and so will lose some speed and memory advantages.
Definition at line 57 of file vtkStaticCellLinksTemplate.h.
vtkStaticCellLinksTemplate< TIds >::vtkStaticCellLinksTemplate | ( | ) |
Instantiate and destructor methods.
vtkStaticCellLinksTemplate< TIds >::~vtkStaticCellLinksTemplate | ( | ) |
Instantiate and destructor methods.
void vtkStaticCellLinksTemplate< TIds >::Initialize | ( | ) |
Make sure any previously created links are cleaned up.
void vtkStaticCellLinksTemplate< TIds >::BuildLinks | ( | vtkDataSet * | ds | ) |
Build the link list array for a general dataset.
Slower than the specialized methods that follow.
void vtkStaticCellLinksTemplate< TIds >::BuildLinks | ( | vtkPolyData * | pd | ) |
Build the link list array for vtkPolyData.
void vtkStaticCellLinksTemplate< TIds >::BuildLinks | ( | vtkUnstructuredGrid * | ugrid | ) |
Build the link list array for vtkUnstructuredGrid.
void vtkStaticCellLinksTemplate< TIds >::BuildLinks | ( | vtkExplicitStructuredGrid * | esgrid | ) |
Build the link list array for vtkExplicitStructuredGrid.
void vtkStaticCellLinksTemplate< TIds >::SerialBuildLinksFromMultipleArrays | ( | vtkIdType | numPts, |
vtkIdType | numCells, | ||
std::vector< vtkCellArray * > | cellArrays | ||
) |
Specialized methods for building links from cell array(S).
|
inline |
Specialized methods for building links from cell array(S).
Definition at line 100 of file vtkStaticCellLinksTemplate.h.
void vtkStaticCellLinksTemplate< TIds >::ThreadedBuildLinksFromMultipleArrays | ( | vtkIdType | numPts, |
vtkIdType | numCells, | ||
std::vector< vtkCellArray * > | cellArrays | ||
) |
Specialized methods for building links from cell array(S).
|
inline |
Specialized methods for building links from cell array(S).
Definition at line 106 of file vtkStaticCellLinksTemplate.h.
|
inline |
Get the number of cells using the point specified by ptId.
Definition at line 116 of file vtkStaticCellLinksTemplate.h.
|
inline |
Get the number of cells using the point specified by ptId.
Definition at line 117 of file vtkStaticCellLinksTemplate.h.
bool vtkStaticCellLinksTemplate< TIds >::MatchesCell | ( | TGivenIds | npts, |
const TGivenIds * | pts | ||
) |
Indicate whether the point ids provided defines at least one cell, or a portion of a cell.
|
inline |
Return a list of cell ids using the point specified by ptId.
Definition at line 130 of file vtkStaticCellLinksTemplate.h.
void vtkStaticCellLinksTemplate< TIds >::GetCells | ( | vtkIdType | npts, |
const vtkIdType * | pts, | ||
vtkIdList * | cells | ||
) |
Given point ids that define a cell, find the cells that contains all of these point ids.
The set of linked cells is returned in cells.
|
inline |
Return the total number of links represented after the links have been built.
Definition at line 142 of file vtkStaticCellLinksTemplate.h.
|
inline |
Obtain the offsets into the internal links array.
This is useful for parallel computing.
Definition at line 148 of file vtkStaticCellLinksTemplate.h.
unsigned long vtkStaticCellLinksTemplate< TIds >::GetActualMemorySize | ( | ) |
Support vtkAbstractCellLinks API.
|
inline |
Support vtkAbstractCellLinks API.
Definition at line 156 of file vtkStaticCellLinksTemplate.h.
void vtkStaticCellLinksTemplate< TIds >::DeepCopy | ( | vtkStaticCellLinksTemplate< TIds > * | src | ) |
Support vtkAbstractCellLinks API.
void vtkStaticCellLinksTemplate< TIds >::ShallowCopy | ( | vtkStaticCellLinksTemplate< TIds > * | src | ) |
Support vtkAbstractCellLinks API.
void vtkStaticCellLinksTemplate< TIds >::SelectCells | ( | vtkIdType | minMaxDegree[2], |
unsigned char * | cellSelection | ||
) |
Support vtkAbstractCellLinks API.
|
inline |
Control whether to thread or serial process.
Definition at line 166 of file vtkStaticCellLinksTemplate.h.
|
inline |
Control whether to thread or serial process.
Definition at line 167 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 172 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 173 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 174 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 178 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 179 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 180 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 181 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 184 of file vtkStaticCellLinksTemplate.h.
|
protected |
Definition at line 185 of file vtkStaticCellLinksTemplate.h.