VTK  9.1.0
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)
 
bool MatchesCell (vtkIdType npts, const vtkIdType *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...
 
 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

Definition at line 57 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 105 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 106 of file vtkStaticCellLinksTemplate.h.

◆ MatchesCell()

template<typename TIds >
bool vtkStaticCellLinksTemplate< TIds >::MatchesCell ( vtkIdType  npts,
const vtkIdType 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 118 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.

◆ 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 139 of file vtkStaticCellLinksTemplate.h.

◆ GetSequentialProcessing()

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

Control whether to thread or serial process.

Definition at line 140 of file vtkStaticCellLinksTemplate.h.

Member Data Documentation

◆ LinksSize

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

Definition at line 145 of file vtkStaticCellLinksTemplate.h.

◆ NumPts

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

Definition at line 146 of file vtkStaticCellLinksTemplate.h.

◆ NumCells

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

Definition at line 147 of file vtkStaticCellLinksTemplate.h.

◆ Links

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

Definition at line 150 of file vtkStaticCellLinksTemplate.h.

◆ Offsets

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

Definition at line 151 of file vtkStaticCellLinksTemplate.h.

◆ Type

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

Definition at line 154 of file vtkStaticCellLinksTemplate.h.

◆ SequentialProcessing

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

Definition at line 155 of file vtkStaticCellLinksTemplate.h.


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