Skip to content
Snippets Groups Projects
Commit cc5101a8 authored by T.J. Corona's avatar T.J. Corona Committed by David Thompson
Browse files

Add Lagrange polynomial higher-order cells to VTK.

This commit adds support for Lagrange cells of the following shape:
curve, triangle, quadrilateral, tetrahedron, hexahedron, and wedge.
The new cell types may have arbitrary order, up to a compile-time maximum of 10.
The maximum may be changed easily.
The order is inferred from the number of points defining the cell
and is assumed to be the same along each coordinate axis.

Visualization operations that cells must provide (contouring, clipping, cutting)
are implemented by approximating each higher-order cell as a collection of
multi-linear "primitive" cells of the same shape.

Note that the wedge element, when asked for boundary faces, returns faces
with outward-pointing normals. This is not the same convention as vtkWedge
but is the same as other VTK cell shapes.

See the vtkCellTypeSource class in vtkFiltersSources for an example of how
cell connectivity is specified. In general, the shape corner points are
specified first, matching the linear cell counterparts. Then points on
edges and faces bounding the shape are listed. Finally, interior points
are listed. This will allow simpler connectivity entries in the future
where points on edges and faces may only require 2 numbers each instead
of a number proportional to the order raised to the parametric dimension
of the boundary.

T. J. Corona provided the triangle and tetrahedron implementations.
parent b3f62a2d
No related branches found
No related tags found
No related merge requests found
Showing
with 3880 additions and 3 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment