Go to the documentation of this file.
33 #ifndef vtkGenericCell_h
34 #define vtkGenericCell_h
36 #include "vtkCommonDataModelModule.h"
82 int& subId,
double pcoords[3],
83 double& dist2,
double weights[])
override;
85 double x[3],
double *weights)
override;
96 int insideOut)
override;
98 double x[3],
double pcoords[3],
101 void Derivatives(
int subId,
const double pcoords[3],
const double *values,
102 int dim,
double *derivs)
override;
represent and manipulate 3D points
void EvaluateLocation(int &subId, const double pcoords[3], double x[3], double *weights) override
Determine global coordinate (x[3]) from subId and parametric coordinates.
void SetCellTypeToPolyLine()
void SetCellTypeToQuadraticEdge()
void SetCellTypeToQuadraticTetra()
void SetCellTypeToLagrangeCurve()
void SetCellTypeToQuadraticPyramid()
void SetCellTypeToPolyVertex()
void SetCellTypeToLagrangeHexahedron()
void SetCellTypeToQuadraticPolygon()
void SetCellTypeToQuadraticLinearQuad()
@ VTK_QUADRATIC_LINEAR_WEDGE
vtkCell * GetRepresentativeCell()
represent and manipulate point attribute data
void SetCellTypeToQuadraticQuad()
void SetCellTypeToVoxel()
void SetCellTypeToPolygon()
int IntersectWithLine(const double p1[3], const double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) override
Intersect with a ray.
int GetCellDimension() override
Return the topological dimensional of the cell (0,1,2, or 3).
void SetCellTypeToTriangleStrip()
int RequiresInitialization() override
Some cells require initialization prior to access.
void DeepCopy(vtkCell *c) override
Copy this cell by completely copying internal data structures.
vtkIdType * GetFaces() override
@ VTK_LAGRANGE_HEXAHEDRON
void SetCellTypeToHexagonalPrism()
double * GetParametricCoords() override
Return a contiguous array of parametric coordinates of the points defining this cell.
abstract superclass for arrays of numeric data
void SetCellTypeToLagrangeQuadrilateral()
void SetCellTypeToPolyhedron()
void Contour(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *verts, vtkCellArray *lines, vtkCellArray *polys, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd) override
Generate contouring primitives.
void SetCellTypeToCubicLine()
int IsPrimaryCell() override
Return whether this cell type has a fixed topology or whether the topology varies depending on the da...
void SetCellTypeToTriQuadraticHexahedron()
void SetCellTypeToConvexPointSet()
static vtkCell * InstantiateCell(int cellType)
Instantiate a new vtkCell based on it's cell type value.
int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts) override
Generate simplices of proper dimension.
void Initialize() override
void SetCellTypeToLagrangeTetra()
void SetCellTypeToPixel()
void SetCellTypeToQuadraticWedge()
@ VTK_NUMBER_OF_CELL_TYPES
void SetCellTypeToLagrangeTriangle()
void SetCellTypeToWedge()
void SetCellTypeToPentagonalPrism()
int RequiresExplicitFaceRepresentation() override
Determine whether the cell requires explicit face representation, and methods for setting and getting...
void SetCellTypeToTetra()
void SetCellTypeToTriangle()
@ VTK_QUADRATIC_LINEAR_QUAD
void SetCellTypeToHexahedron()
@ VTK_TRIQUADRATIC_HEXAHEDRON
abstract class to specify cell behavior
void SetCellTypeToBiQuadraticQuad()
int CellBoundary(int subId, const double pcoords[3], vtkIdList *pts) override
Given parametric coordinates of a point, return the closest cell boundary, and whether the point is i...
represent and manipulate cell attribute data
void SetPoints(vtkPoints *points)
Set the points object to use for this cell.
void Clip(double value, vtkDataArray *cellScalars, vtkIncrementalPointLocator *locator, vtkCellArray *connectivity, vtkPointData *inPd, vtkPointData *outPd, vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, int insideOut) override
Cut (or clip) the cell based on the input cellScalars and the specified value.
a simple class to control print indentation
void ShallowCopy(vtkCell *c) override
See the vtkCell API for descriptions of these methods.
object to represent cell connectivity
void SetCellTypeToBiQuadraticTriangle()
void SetCellTypeToLagrangeWedge()
Abstract class in support of both point location and point insertion.
list of point or cell ids
void SetCellType(int cellType)
This method is used to support the vtkDataSet::GetCell(vtkGenericCell *) method.
@ VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON
vtkCell * GetFace(int faceId) override
Return the face cell from the faceId of the cell.
void SetCellTypeToQuadraticLinearWedge()
void SetFaces(vtkIdType *faces) override
static vtkGenericCell * New()
Create handle to any type of cell; by default a vtkEmptyCell.
void SetPointIds(vtkIdList *pointIds)
Set the point ids to use for this cell.
int GetParametricCenter(double pcoords[3]) override
Return center of the cell in parametric coordinates.
@ VTK_LAGRANGE_TETRAHEDRON
void InterpolateDerivs(const double pcoords[3], double *derivs) override
int GetNumberOfFaces() override
Return the number of faces in the cell.
void SetCellTypeToEmptyCell()
int GetNumberOfEdges() override
Return the number of edges in the cell.
void SetCellTypeToVertex()
provides thread-safe access to cells
void SetCellTypeToBiQuadraticQuadraticWedge()
void SetCellTypeToQuadraticTriangle()
int GetCellType() override
Return the type of cell.
int IsLinear() override
Non-linear cells require special treatment beyond the usual cell type and connectivity list informati...
@ VTK_QUADRATIC_HEXAHEDRON
vtkCell * GetEdge(int edgeId) override
Return the edge cell from the edgeId of the cell.
@ VTK_BIQUADRATIC_QUADRATIC_WEDGE
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkGenericCell() override
void InterpolateFunctions(const double pcoords[3], double *weights) override
Compute the interpolation functions/derivatives (aka shape functions/derivatives)
void SetCellTypeToBiQuadraticQuadraticHexahedron()
void SetCellTypeToQuadraticHexahedron()
int EvaluatePosition(const double x[3], double closestPoint[3], int &subId, double pcoords[3], double &dist2, double weights[]) override
Given a point x[3] return inside(=1), outside(=0) cell, or (-1) computational problem encountered; ev...
@ VTK_LAGRANGE_QUADRILATERAL
void SetCellTypeToPyramid()
void Derivatives(int subId, const double pcoords[3], const double *values, int dim, double *derivs) override
Compute derivatives given cell subId and parametric coordinates.
@ VTK_BIQUADRATIC_TRIANGLE