VTK  9.2.20220926
Public Member Functions | Protected Attributes | List of all members
vtkStaticCellLinksTemplate< TIds > Class Template Reference

object represents upward pointers from points to list of cells using each point (template implementation) More...

#include <vtkStaticCellLinksTemplate.h>

Inheritance diagram for vtkStaticCellLinksTemplate< TIds >:
[legend]

Public Member Functions

void Initialize ()
 Make sure any previously created links are cleaned up. More...
 
void BuildLinks (vtkDataSet *ds)
 Build the link list array for a general dataset. More...
 
void BuildLinks (vtkPolyData *pd)
 Build the link list array for vtkPolyData. More...
 
void BuildLinks (vtkUnstructuredGrid *ugrid)
 Build the link list array for vtkUnstructuredGrid. More...
 
void BuildLinks (vtkExplicitStructuredGrid *esgrid)
 Build the link list array for vtkExplicitStructuredGrid. More...
 
void SerialBuildLinks (const vtkIdType numPts, const vtkIdType numCells, vtkCellArray *cellArray)
 Specialized methods for building links from cell array. More...
 
void ThreadedBuildLinks (const vtkIdType numPts, const vtkIdType numCells, vtkCellArray *cellArray)
 
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. More...
 
TIds * GetCells (vtkIdType ptId)
 Return a list of cell ids using the point specified by ptId. More...
 
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. More...
 
TIds GetLinksSize ()
 Return the total number of links represented after the links have been built. More...
 
TIds GetOffset (vtkIdType ptId)
 Obtain the offsets into the internal links array. More...
 
 vtkStaticCellLinksTemplate ()
 Instantiate and destructor methods. More...
 
 ~vtkStaticCellLinksTemplate ()
 Instantiate and destructor methods. More...
 
TIds GetNumberOfCells (vtkIdType ptId)
 Get the number of cells using the point specified by ptId. More...
 
vtkIdType GetNcells (vtkIdType ptId)
 Get the number of cells using the point specified by ptId. More...
 
unsigned long GetActualMemorySize ()
 Support vtkAbstractCellLinks API. More...
 
void DeepCopy (vtkAbstractCellLinks *src)
 Support vtkAbstractCellLinks API. More...
 
void SelectCells (vtkIdType minMaxDegree[2], unsigned char *cellSelection)
 Support vtkAbstractCellLinks API. More...
 
void SetSequentialProcessing (vtkTypeBool seq)
 Control whether to thread or serial process. More...
 
vtkTypeBool GetSequentialProcessing ()
 Control whether to thread or serial process. More...
 

Protected Attributes

TIds LinksSize
 
TIds NumPts
 
TIds NumCells
 
TIds * Links
 
TIds * Offsets
 
int Type
 
vtkTypeBool SequentialProcessing
 

Detailed Description

template<typename TIds>
class vtkStaticCellLinksTemplate< TIds >

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.

See also
vtkAbstractCellLinks vtkCellLinks vtkStaticCellLinks
Tests:
vtkStaticCellLinksTemplate (Tests)

Definition at line 65 of file vtkStaticCellLinksTemplate.h.

Constructor & Destructor Documentation

◆ vtkStaticCellLinksTemplate()

template<typename TIds >
vtkStaticCellLinksTemplate< TIds >::vtkStaticCellLinksTemplate ( )

Instantiate and destructor methods.

◆ ~vtkStaticCellLinksTemplate()

template<typename TIds >
vtkStaticCellLinksTemplate< TIds >::~vtkStaticCellLinksTemplate ( )

Instantiate and destructor methods.

Member Function Documentation

◆ Initialize()

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::Initialize ( )

Make sure any previously created links are cleaned up.

◆ BuildLinks() [1/4]

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::BuildLinks ( vtkDataSet ds)

Build the link list array for a general dataset.

Slower than the specialized methods that follow.

◆ BuildLinks() [2/4]

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::BuildLinks ( vtkPolyData pd)

Build the link list array for vtkPolyData.

◆ BuildLinks() [3/4]

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::BuildLinks ( vtkUnstructuredGrid ugrid)

Build the link list array for vtkUnstructuredGrid.

◆ BuildLinks() [4/4]

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::BuildLinks ( vtkExplicitStructuredGrid esgrid)

Build the link list array for vtkExplicitStructuredGrid.

◆ SerialBuildLinks()

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::SerialBuildLinks ( const vtkIdType  numPts,
const vtkIdType  numCells,
vtkCellArray cellArray 
)

Specialized methods for building links from cell array.

◆ ThreadedBuildLinks()

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::ThreadedBuildLinks ( const vtkIdType  numPts,
const vtkIdType  numCells,
vtkCellArray cellArray 
)

◆ GetNumberOfCells()

template<typename TIds >
TIds vtkStaticCellLinksTemplate< TIds >::GetNumberOfCells ( vtkIdType  ptId)
inline

Get the number of cells using the point specified by ptId.

Definition at line 113 of file vtkStaticCellLinksTemplate.h.

◆ GetNcells()

template<typename TIds >
vtkIdType vtkStaticCellLinksTemplate< TIds >::GetNcells ( vtkIdType  ptId)
inline

Get the number of cells using the point specified by ptId.

Definition at line 114 of file vtkStaticCellLinksTemplate.h.

◆ MatchesCell()

template<typename TIds >
template<typename TGivenIds >
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.

◆ GetCells() [1/2]

template<typename TIds >
TIds* vtkStaticCellLinksTemplate< TIds >::GetCells ( vtkIdType  ptId)
inline

Return a list of cell ids using the point specified by ptId.

Definition at line 127 of file vtkStaticCellLinksTemplate.h.

◆ GetCells() [2/2]

template<typename TIds >
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.

◆ GetLinksSize()

template<typename TIds >
TIds vtkStaticCellLinksTemplate< TIds >::GetLinksSize ( )
inline

Return the total number of links represented after the links have been built.

Definition at line 139 of file vtkStaticCellLinksTemplate.h.

◆ GetOffset()

template<typename TIds >
TIds vtkStaticCellLinksTemplate< TIds >::GetOffset ( vtkIdType  ptId)
inline

Obtain the offsets into the internal links array.

This is useful for parallel computing.

Definition at line 145 of file vtkStaticCellLinksTemplate.h.

◆ GetActualMemorySize()

template<typename TIds >
unsigned long vtkStaticCellLinksTemplate< TIds >::GetActualMemorySize ( )

Support vtkAbstractCellLinks API.

◆ DeepCopy()

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::DeepCopy ( vtkAbstractCellLinks src)

Support vtkAbstractCellLinks API.

◆ SelectCells()

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::SelectCells ( vtkIdType  minMaxDegree[2],
unsigned char *  cellSelection 
)

Support vtkAbstractCellLinks API.

◆ SetSequentialProcessing()

template<typename TIds >
void vtkStaticCellLinksTemplate< TIds >::SetSequentialProcessing ( vtkTypeBool  seq)
inline

Control whether to thread or serial process.

Definition at line 160 of file vtkStaticCellLinksTemplate.h.

◆ GetSequentialProcessing()

template<typename TIds >
vtkTypeBool vtkStaticCellLinksTemplate< TIds >::GetSequentialProcessing ( )
inline

Control whether to thread or serial process.

Definition at line 161 of file vtkStaticCellLinksTemplate.h.

Member Data Documentation

◆ LinksSize

template<typename TIds >
TIds vtkStaticCellLinksTemplate< TIds >::LinksSize
protected

Definition at line 166 of file vtkStaticCellLinksTemplate.h.

◆ NumPts

template<typename TIds >
TIds vtkStaticCellLinksTemplate< TIds >::NumPts
protected

Definition at line 167 of file vtkStaticCellLinksTemplate.h.

◆ NumCells

template<typename TIds >
TIds vtkStaticCellLinksTemplate< TIds >::NumCells
protected

Definition at line 168 of file vtkStaticCellLinksTemplate.h.

◆ Links

template<typename TIds >
TIds* vtkStaticCellLinksTemplate< TIds >::Links
protected

Definition at line 171 of file vtkStaticCellLinksTemplate.h.

◆ Offsets

template<typename TIds >
TIds* vtkStaticCellLinksTemplate< TIds >::Offsets
protected

Definition at line 172 of file vtkStaticCellLinksTemplate.h.

◆ Type

template<typename TIds >
int vtkStaticCellLinksTemplate< TIds >::Type
protected

Definition at line 175 of file vtkStaticCellLinksTemplate.h.

◆ SequentialProcessing

template<typename TIds >
vtkTypeBool vtkStaticCellLinksTemplate< TIds >::SequentialProcessing
protected

Definition at line 176 of file vtkStaticCellLinksTemplate.h.


The documentation for this class was generated from the following file: