VTK  9.5.2
vtkHexahedron.h File Reference
#include "vtkCell3D.h"
#include "vtkCommonDataModelModule.h"
Include dependency graph for vtkHexahedron.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vtkHexahedron
 a cell that represents a linear 3D hexahedron More...

Functions

vtkHexahedron vtkCell3D GetEdgeToAdjacentFacesArray (vtkIdType edgeId)
 Static method version of GetEdgeToAdjacentFaces.
static vtkHexahedronNew ()
static vtkTypeBool IsTypeOf (const char *type)
virtual vtkTypeBool IsA (const char *type)
static vtkHexahedronSafeDownCast (vtkObjectBase *o)
virtual vtkObjectBaseNewInstanceInternal () const
vtkHexahedronNewInstance () const
void PrintSelf (ostream &os, vtkIndent indent) override
int EvaluatePosition (const double x[3], double closestPoint[3], int &subId, double pcoords[3], double &dist2, double weights[]) override
void EvaluateLocation (int &subId, const double pcoords[3], double x[3], double *weights) override
int IntersectWithLine (const double p1[3], const double p2[3], double tol, double &t, double x[3], double pcoords[3], int &subId) override
 Return intersection point (if any) of finite line with cells contained in cell locator.
int TriangulateLocalIds (int index, vtkIdList *ptIds) override
void Derivatives (int subId, const double pcoords[3], const double *values, int dim, double *derivs) override
double * GetParametricCoords () override
static int * GetTriangleCases (int caseId)
 Return the case table for table-based isocontouring (aka marching cubes style implementations).
static void InterpolationFunctions (const double pcoords[3], double weights[8])
static void InterpolationDerivs (const double pcoords[3], double derivs[24])
static const vtkIdTypeGetFaceToAdjacentFacesArray (vtkIdType faceId)
 Static method version of GetFaceToAdjacentFaces.
static const vtkIdTypeGetPointToIncidentEdgesArray (vtkIdType pointId)
 Static method version of GetPointToIncidentEdgesArray.
static const vtkIdTypeGetPointToIncidentFacesArray (vtkIdType pointId)
 Static method version of GetPointToIncidentFacesArray.
static const vtkIdTypeGetPointToOneRingPointsArray (vtkIdType pointId)
 Static method version of GetPointToOneRingPoints.
static bool ComputeCentroid (vtkPoints *points, const vtkIdType *pointIds, double centroid[3])
 Static method version of GetCentroid.
void JacobianInverse (const double pcoords[3], double **inverse, double derivs[24])
 Given parametric coordinates compute inverse Jacobian transformation matrix.
 vtkHexahedron ()
 ~vtkHexahedron () override
void GetEdgePoints (vtkIdType edgeId, const vtkIdType *&pts) override
 See vtkCell3D API for description of these methods.
vtkIdType GetFacePoints (vtkIdType faceId, const vtkIdType *&pts) override
 See vtkCell3D API for description of these methods.
void GetEdgeToAdjacentFaces (vtkIdType edgeId, const vtkIdType *&pts) override
 See vtkCell3D API for description of these methods.
vtkIdType GetFaceToAdjacentFaces (vtkIdType faceId, const vtkIdType *&faceIds) override
 See vtkCell3D API for description of these methods.
vtkIdType GetPointToIncidentEdges (vtkIdType pointId, const vtkIdType *&edgeIds) override
 See vtkCell3D API for description of these methods.
vtkIdType GetPointToIncidentFaces (vtkIdType pointId, const vtkIdType *&faceIds) override
 See vtkCell3D API for description of these methods.
vtkIdType GetPointToOneRingPoints (vtkIdType pointId, const vtkIdType *&pts) override
 See vtkCell3D API for description of these methods.
bool GetCentroid (double centroid[3]) const override
 See vtkCell3D API for description of these methods.
int GetCellType () override
 See the vtkCell API for descriptions of these methods.
int GetNumberOfEdges () override
 See the vtkCell API for descriptions of these methods.
int GetNumberOfFaces () override
 See the vtkCell API for descriptions of these methods.
vtkCellGetEdge (int edgeId) override
 See the vtkCell API for descriptions of these methods.
vtkCellGetFace (int faceId) override
 See the vtkCell API for descriptions of these methods.
int CellBoundary (int subId, const double pcoords[3], vtkIdList *pts) override
 See the vtkCell API for descriptions of these methods.
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
 See the vtkCell API for descriptions of these methods.
void InterpolateFunctions (const double pcoords[3], double weights[8]) override
 Compute the interpolation functions/derivatives (aka shape functions/derivatives).
void InterpolateDerivs (const double pcoords[3], double derivs[24]) override
 Compute the interpolation functions/derivatives (aka shape functions/derivatives).

Variables

static constexpr vtkIdType NumberOfPoints = 8
 static constexpr handle on the number of points.
static constexpr vtkIdType NumberOfEdges = 12
 static contexpr handle on the number of faces.
static constexpr vtkIdType NumberOfFaces = 6
 static contexpr handle on the number of edges.
static constexpr vtkIdType MaximumFaceSize = 4
 static contexpr handle on the maximum face size.
static constexpr vtkIdType MaximumValence = 3
 static constexpr handle on the maximum valence of this cell.
vtkLineLine
vtkQuadQuad

Function Documentation

◆ GetEdgeToAdjacentFacesArray()

vtkHexahedron vtkCell3D GetEdgeToAdjacentFacesArray ( vtkIdType edgeId)

Static method version of GetEdgeToAdjacentFaces.

◆ New()

vtkHexahedron * GetEdgeToAdjacentFacesArray::New ( )
static

◆ IsTypeOf()

vtkTypeBool GetEdgeToAdjacentFacesArray::IsTypeOf ( const char * type)
static

◆ IsA()

virtual vtkTypeBool GetEdgeToAdjacentFacesArray::IsA ( const char * type)
virtual

◆ SafeDownCast()

vtkHexahedron * GetEdgeToAdjacentFacesArray::SafeDownCast ( vtkObjectBase * o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase * GetEdgeToAdjacentFacesArray::NewInstanceInternal ( ) const
protectedvirtual

◆ NewInstance()

vtkHexahedron * GetEdgeToAdjacentFacesArray::NewInstance ( ) const

◆ PrintSelf()

void GetEdgeToAdjacentFacesArray::PrintSelf ( ostream & os,
vtkIndent indent )
override

◆ GetEdgePoints()

void GetEdgeToAdjacentFacesArray::GetEdgePoints ( vtkIdType edgeId,
const vtkIdType *& pts )
override

See vtkCell3D API for description of these methods.

◆ GetFacePoints()

vtkIdType GetEdgeToAdjacentFacesArray::GetFacePoints ( vtkIdType faceId,
const vtkIdType *& pts )
override

See vtkCell3D API for description of these methods.

◆ GetEdgeToAdjacentFaces()

void GetEdgeToAdjacentFacesArray::GetEdgeToAdjacentFaces ( vtkIdType edgeId,
const vtkIdType *& pts )
override

See vtkCell3D API for description of these methods.

◆ GetFaceToAdjacentFaces()

vtkIdType GetEdgeToAdjacentFacesArray::GetFaceToAdjacentFaces ( vtkIdType faceId,
const vtkIdType *& faceIds )
override

See vtkCell3D API for description of these methods.

◆ GetPointToIncidentEdges()

vtkIdType GetEdgeToAdjacentFacesArray::GetPointToIncidentEdges ( vtkIdType pointId,
const vtkIdType *& edgeIds )
override

See vtkCell3D API for description of these methods.

◆ GetPointToIncidentFaces()

vtkIdType GetEdgeToAdjacentFacesArray::GetPointToIncidentFaces ( vtkIdType pointId,
const vtkIdType *& faceIds )
override

See vtkCell3D API for description of these methods.

◆ GetPointToOneRingPoints()

vtkIdType GetEdgeToAdjacentFacesArray::GetPointToOneRingPoints ( vtkIdType pointId,
const vtkIdType *& pts )
override

See vtkCell3D API for description of these methods.

◆ GetCentroid()

bool GetEdgeToAdjacentFacesArray::GetCentroid ( double centroid[3]) const
override

See vtkCell3D API for description of these methods.

◆ GetCellType()

int GetEdgeToAdjacentFacesArray::GetCellType ( )
override

See the vtkCell API for descriptions of these methods.

Definition at line 51 of file vtkHexahedron.h.

◆ GetNumberOfEdges()

int GetEdgeToAdjacentFacesArray::GetNumberOfEdges ( )
override

See the vtkCell API for descriptions of these methods.

Definition at line 52 of file vtkHexahedron.h.

◆ GetNumberOfFaces()

int GetEdgeToAdjacentFacesArray::GetNumberOfFaces ( )
override

See the vtkCell API for descriptions of these methods.

Definition at line 53 of file vtkHexahedron.h.

◆ GetEdge()

vtkCell * GetEdgeToAdjacentFacesArray::GetEdge ( int edgeId)
override

See the vtkCell API for descriptions of these methods.

◆ GetFace()

vtkCell * GetEdgeToAdjacentFacesArray::GetFace ( int faceId)
override

See the vtkCell API for descriptions of these methods.

◆ CellBoundary()

int GetEdgeToAdjacentFacesArray::CellBoundary ( int subId,
const double pcoords[3],
vtkIdList * pts )
override

See the vtkCell API for descriptions of these methods.

◆ Contour()

void GetEdgeToAdjacentFacesArray::Contour ( double value,
vtkDataArray * cellScalars,
vtkIncrementalPointLocator * locator,
vtkCellArray * verts,
vtkCellArray * lines,
vtkCellArray * polys,
vtkPointData * inPd,
vtkPointData * outPd,
vtkCellData * inCd,
vtkIdType cellId,
vtkCellData * outCd )
override

See the vtkCell API for descriptions of these methods.

◆ EvaluatePosition()

int GetEdgeToAdjacentFacesArray::EvaluatePosition ( const double x[3],
double closestPoint[3],
int & subId,
double pcoords[3],
double & dist2,
double weights[] )
override

◆ EvaluateLocation()

void GetEdgeToAdjacentFacesArray::EvaluateLocation ( int & subId,
const double pcoords[3],
double x[3],
double * weights )
override

◆ IntersectWithLine()

int GetEdgeToAdjacentFacesArray::IntersectWithLine ( const double p1[3],
const double p2[3],
double tol,
double & t,
double x[3],
double pcoords[3],
int & subId )
override

Return intersection point (if any) of finite line with cells contained in cell locator.

Line-edge intersection.

See vtkCell.h parameters documentation.

THIS FUNCTION IS NOT THREAD SAFE.

◆ TriangulateLocalIds()

int GetEdgeToAdjacentFacesArray::TriangulateLocalIds ( int index,
vtkIdList * ptIds )
override

◆ Derivatives()

void GetEdgeToAdjacentFacesArray::Derivatives ( int subId,
const double pcoords[3],
const double * values,
int dim,
double * derivs )
override

◆ GetParametricCoords()

double * GetEdgeToAdjacentFacesArray::GetParametricCoords ( )
override

◆ GetTriangleCases()

int * GetEdgeToAdjacentFacesArray::GetTriangleCases ( int caseId)
static

Return the case table for table-based isocontouring (aka marching cubes style implementations).

A linear 3D cell with N vertices will have 2**N cases. The returned case array lists three edges in order to produce one output triangle which may be repeated to generate multiple triangles. The list of cases terminates with a -1 entry.

◆ InterpolationFunctions()

void GetEdgeToAdjacentFacesArray::InterpolationFunctions ( const double pcoords[3],
double weights[8] )
static

◆ InterpolationDerivs()

void GetEdgeToAdjacentFacesArray::InterpolationDerivs ( const double pcoords[3],
double derivs[24] )
static

◆ InterpolateFunctions()

void GetEdgeToAdjacentFacesArray::InterpolateFunctions ( const double pcoords[3],
double weights[8] )
override

Compute the interpolation functions/derivatives (aka shape functions/derivatives).

Definition at line 88 of file vtkHexahedron.h.

◆ InterpolateDerivs()

void GetEdgeToAdjacentFacesArray::InterpolateDerivs ( const double pcoords[3],
double derivs[24] )
override

Compute the interpolation functions/derivatives (aka shape functions/derivatives).

Definition at line 92 of file vtkHexahedron.h.

◆ GetFaceToAdjacentFacesArray()

const vtkIdType * GetFaceToAdjacentFacesArray ( vtkIdType faceId)
static

Static method version of GetFaceToAdjacentFaces.

◆ GetPointToIncidentEdgesArray()

const vtkIdType * GetPointToIncidentEdgesArray ( vtkIdType pointId)
static

Static method version of GetPointToIncidentEdgesArray.

◆ GetPointToIncidentFacesArray()

const vtkIdType * GetPointToIncidentFacesArray ( vtkIdType pointId)
static

Static method version of GetPointToIncidentFacesArray.

◆ GetPointToOneRingPointsArray()

const vtkIdType * GetPointToOneRingPointsArray ( vtkIdType pointId)
static

Static method version of GetPointToOneRingPoints.

◆ ComputeCentroid()

bool ComputeCentroid ( vtkPoints * points,
const vtkIdType * pointIds,
double centroid[3] )
static

Static method version of GetCentroid.

◆ JacobianInverse()

void JacobianInverse ( const double pcoords[3],
double ** inverse,
double derivs[24] )

Given parametric coordinates compute inverse Jacobian transformation matrix.

Returns 9 elements of 3x3 inverse Jacobian plus interpolation function derivatives.

◆ vtkHexahedron()

vtkHexahedron ( )
protected

◆ ~vtkHexahedron()

~vtkHexahedron ( )
overrideprotected

Variable Documentation

◆ NumberOfPoints

vtkIdType NumberOfPoints = 8
staticconstexpr

static constexpr handle on the number of points.

Definition at line 22 of file vtkHexahedron.h.

◆ NumberOfEdges

vtkIdType NumberOfEdges = 12
staticconstexpr

static contexpr handle on the number of faces.

Definition at line 27 of file vtkHexahedron.h.

◆ NumberOfFaces

vtkIdType NumberOfFaces = 6
staticconstexpr

static contexpr handle on the number of edges.

Definition at line 32 of file vtkHexahedron.h.

◆ MaximumFaceSize

vtkIdType MaximumFaceSize = 4
staticconstexpr

static contexpr handle on the maximum face size.

It can also be used to know the number of faces adjacent to one face.

Definition at line 38 of file vtkHexahedron.h.

◆ MaximumValence

vtkIdType MaximumValence = 3
staticconstexpr

static constexpr handle on the maximum valence of this cell.

The valence of a vertex is the number of incident edges (or equivalently faces) to this vertex. It is also equal to the size of a one ring neighborhood of a vertex.

Definition at line 45 of file vtkHexahedron.h.

◆ Line

vtkLine* Line
protected

Definition at line 187 of file vtkHexahedron.h.

◆ Quad

vtkQuad* Quad
protected

Definition at line 188 of file vtkHexahedron.h.