-
- Downloads
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.
Showing
- Common/DataModel/CMakeLists.txt 13 additions, 1 deletionCommon/DataModel/CMakeLists.txt
- Common/DataModel/Testing/Cxx/CMakeLists.txt 11 additions, 0 deletionsCommon/DataModel/Testing/Cxx/CMakeLists.txt
- Common/DataModel/Testing/Cxx/LagrangeHexahedron.cxx 492 additions, 0 deletionsCommon/DataModel/Testing/Cxx/LagrangeHexahedron.cxx
- Common/DataModel/Testing/Cxx/LagrangeInterpolation.cxx 578 additions, 0 deletionsCommon/DataModel/Testing/Cxx/LagrangeInterpolation.cxx
- Common/DataModel/Testing/Cxx/TestLagrangeTetra.cxx 592 additions, 0 deletionsCommon/DataModel/Testing/Cxx/TestLagrangeTetra.cxx
- Common/DataModel/Testing/Cxx/TestLagrangeTriangle.cxx 541 additions, 0 deletionsCommon/DataModel/Testing/Cxx/TestLagrangeTriangle.cxx
- Common/DataModel/Testing/Data/Baseline/LagrangeInterpolation.png.md5 1 addition, 0 deletions...Model/Testing/Data/Baseline/LagrangeInterpolation.png.md5
- Common/DataModel/Testing/Data/Baseline/LagrangeInterpolation_333hex.png.md5 1 addition, 0 deletions...esting/Data/Baseline/LagrangeInterpolation_333hex.png.md5
- Common/DataModel/Testing/Data/Baseline/LagrangeInterpolation_333wedge.png.md5 1 addition, 0 deletions...ting/Data/Baseline/LagrangeInterpolation_333wedge.png.md5
- Common/DataModel/Testing/Data/Baseline/LagrangeInterpolation_531hex.png.md5 1 addition, 0 deletions...esting/Data/Baseline/LagrangeInterpolation_531hex.png.md5
- Common/DataModel/Testing/Data/Baseline/TestLagrangeTetra.png.md5 1 addition, 0 deletions...DataModel/Testing/Data/Baseline/TestLagrangeTetra.png.md5
- Common/DataModel/Testing/Data/Baseline/TestLagrangeTriangle.png.md5 1 addition, 0 deletions...aModel/Testing/Data/Baseline/TestLagrangeTriangle.png.md5
- Common/DataModel/module.cmake 6 additions, 1 deletionCommon/DataModel/module.cmake
- Common/DataModel/vtkCellType.h 9 additions, 0 deletionsCommon/DataModel/vtkCellType.h
- Common/DataModel/vtkGenericCell.cxx 24 additions, 1 deletionCommon/DataModel/vtkGenericCell.cxx
- Common/DataModel/vtkGenericCell.h 12 additions, 0 deletionsCommon/DataModel/vtkGenericCell.h
- Common/DataModel/vtkLagrangeCurve.cxx 506 additions, 0 deletionsCommon/DataModel/vtkLagrangeCurve.cxx
- Common/DataModel/vtkLagrangeCurve.h 129 additions, 0 deletionsCommon/DataModel/vtkLagrangeCurve.h
- Common/DataModel/vtkLagrangeHexahedron.cxx 828 additions, 0 deletionsCommon/DataModel/vtkLagrangeHexahedron.cxx
- Common/DataModel/vtkLagrangeHexahedron.h 133 additions, 0 deletionsCommon/DataModel/vtkLagrangeHexahedron.h
Loading
Please register or sign in to comment