FreeMat

- Main Page
- Related Pages

vtkTriQuadraticHexahedron

Section: Visualization Toolkit Filtering Classes

# Usage

vtkTriQuadraticHexahedron is a concrete implementation of vtkNonLinearCell to represent a three-dimensional, 27-node isoparametric triquadratic hexahedron. The interpolation is the standard finite element, triquadratic isoparametric shape function. The cell includes 8 edge nodes, 12 mid-edge nodes, 6 mid-face nodes and one mid-volume node. The ordering of the 27 points defining the cell is point ids (0-7,8-19, 20-25, 26) where point ids 0-7 are the eight corner vertices of the cube; followed by twelve midedge nodes (8-19); followed by 6 mid-face nodes (20-25) and the last node (26) is the mid-volume node. Note that these midedge nodes correspond lie on the edges defined by (0,1), (1,2), (2,3), (3,0), (4,5), (5,6), (6,7), (7,4), (0,4), (1,5), (2,6), (3,7). The mid-surface nodes lies on the faces defined by (first edge nodes id's, than mid-edge nodes id's): (0,1,5,4;8,17,12,16), (1,2,6,5;9,18,13,17), (2,3,7,6,10,19,14,18), (3,0,4,7;11,16,15,19), (0,1,2,3;8,9,10,11), (4,5,6,7;12,13,14,15). The last point lies in the center of the cell (0,1,2,3,4,5,6,7).

     top
      7--14--6
      |      |
     15  25  13
      |      |
      4--12--5

      middle
     19--23--18
      |      |
     20  26  21
      |      |
     16--22--17

     bottom
      3--10--2
      |      |
     11  24  9
      |      |
      0-- 8--1

To create an instance of class vtkTriQuadraticHexahedron, simply invoke its constructor as follows

      obj = vtkTriQuadraticHexahedron

# Methods

The class vtkTriQuadraticHexahedron has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, `obj` is an instance of the vtkTriQuadraticHexahedron class.

- `string = obj.GetClassName ()`
- `int = obj.IsA (string name)`
- `vtkTriQuadraticHexahedron = obj.NewInstance ()`
- `vtkTriQuadraticHexahedron = obj.SafeDownCast (vtkObject o)`
- `int = obj.GetCellType ()` - Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
- `int = obj.GetCellDimension ()` - Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
- `int = obj.GetNumberOfEdges ()` - Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
- `int = obj.GetNumberOfFaces ()` - Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
- `vtkCell = obj.GetEdge (int )` - Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
- `vtkCell = obj.GetFace (int )` - Implement the vtkCell API. See the vtkCell API for descriptions of these methods.
- `int = obj.CellBoundary (int subId, double pcoords[3], vtkIdList pts)`
- `obj.Contour (double value, vtkDataArray cellScalars, vtkIncrementalPointLocator locator, vtkCellArray verts, vtkCellArray lines, vtkCellArray polys, vtkPointData inPd, vtkPointData outPd, vtkCellData inCd, vtkIdType cellId, vtkCellData outCd)`
- `int = obj.Triangulate (int index, vtkIdList ptIds, vtkPoints pts)`
- `obj.Derivatives (int subId, double pcoords[3], double values, int dim, double derivs)`
- `obj.Clip (double value, vtkDataArray cellScalars, vtkIncrementalPointLocator locator, vtkCellArray tetras, vtkPointData inPd, vtkPointData outPd, vtkCellData inCd, vtkIdType cellId, vtkCellData outCd, int insideOut)` - Clip this triquadratic hexahedron using scalar value provided. Like contouring, except that it cuts the hex to produce linear tetrahedron.
- `obj.InterpolateFunctions (double pcoords[3], double weights[27])` - Compute the interpolation functions/derivatives (aka shape functions/derivatives)
- `obj.InterpolateDerivs (double pcoords[3], double derivs[81])` - Return the ids of the vertices defining edge/face (`edgeId`/`faceId'). Ids are related to the cell, not to the dataset.