MFEM  v4.5.2
Finite element discretization library
Static Public Member Functions | Static Public Attributes | List of all members
mfem::VTKGeometry Struct Reference

Helper class for converting between MFEM and VTK geometry types. More...

#include <vtk.hpp>

Static Public Member Functions

static Geometry::Type GetMFEMGeometry (int vtk_geom)
 Given a VTK geometry type, return the corresponding MFEM Geometry::Type. More...
 
static bool IsLagrange (int vtk_geom)
 Does the given VTK geometry type describe an arbitrary-order Lagrange element? More...
 
static bool IsQuadratic (int vtk_geom)
 Does the given VTK geometry type describe a legacy quadratic element? More...
 
static int GetOrder (int vtk_geom, int npoints)
 For the given VTK geometry type and number of points, return the order of the element. More...
 

Static Public Attributes

static const int PrismMap [6] = {0, 2, 1, 3, 5, 4}
 Permutation from MFEM's prism ordering to VTK's prism ordering. More...
 
static const int * VertexPermutation [Geometry::NUM_GEOMETRIES]
 Permutation from MFEM's vertex ordering to VTK's vertex ordering. More...
 
static const int Map [Geometry::NUM_GEOMETRIES]
 Map from MFEM's Geometry::Type to linear VTK geometries. More...
 
static const int QuadraticMap [Geometry::NUM_GEOMETRIES]
 Map from MFEM's Geometry::Type to legacy quadratic VTK geometries/. More...
 
static const int HighOrderMap [Geometry::NUM_GEOMETRIES]
 Map from MFEM's Geometry::Type to arbitrary-order Lagrange VTK geometries. More...
 
VTK geometry types
static const int POINT = 1
 
Low-order (linear, straight-sided) VTK geometric types
static const int SEGMENT = 3
 
static const int TRIANGLE = 5
 
static const int SQUARE = 9
 
static const int TETRAHEDRON = 10
 
static const int CUBE = 12
 
static const int PRISM = 13
 
static const int PYRAMID = 14
 
Legacy quadratic VTK geometric types
static const int QUADRATIC_SEGMENT = 21
 
static const int QUADRATIC_TRIANGLE = 22
 
static const int BIQUADRATIC_SQUARE = 28
 
static const int QUADRATIC_TETRAHEDRON = 24
 
static const int TRIQUADRATIC_CUBE = 29
 
static const int QUADRATIC_PRISM = 26
 
static const int BIQUADRATIC_QUADRATIC_PRISM = 32
 
static const int QUADRATIC_PYRAMID = 27
 
Arbitrary-order VTK geometric types
static const int LAGRANGE_SEGMENT = 68
 
static const int LAGRANGE_TRIANGLE = 69
 
static const int LAGRANGE_SQUARE = 70
 
static const int LAGRANGE_TETRAHEDRON = 71
 
static const int LAGRANGE_CUBE = 72
 
static const int LAGRANGE_PRISM = 73
 
static const int LAGRANGE_PYRAMID = 74
 

Detailed Description

Helper class for converting between MFEM and VTK geometry types.

Note: The VTK element types defined are at: https://git.io/JvZLm

Definition at line 26 of file vtk.hpp.

Member Function Documentation

◆ GetMFEMGeometry()

Geometry::Type mfem::VTKGeometry::GetMFEMGeometry ( int  vtk_geom)
static

Given a VTK geometry type, return the corresponding MFEM Geometry::Type.

Definition at line 46 of file vtk.cpp.

◆ GetOrder()

int mfem::VTKGeometry::GetOrder ( int  vtk_geom,
int  npoints 
)
static

For the given VTK geometry type and number of points, return the order of the element.

Definition at line 96 of file vtk.cpp.

◆ IsLagrange()

bool mfem::VTKGeometry::IsLagrange ( int  vtk_geom)
static

Does the given VTK geometry type describe an arbitrary-order Lagrange element?

Definition at line 85 of file vtk.cpp.

◆ IsQuadratic()

bool mfem::VTKGeometry::IsQuadratic ( int  vtk_geom)
static

Does the given VTK geometry type describe a legacy quadratic element?

Definition at line 90 of file vtk.cpp.

Member Data Documentation

◆ BIQUADRATIC_QUADRATIC_PRISM

const int mfem::VTKGeometry::BIQUADRATIC_QUADRATIC_PRISM = 32
static

Definition at line 51 of file vtk.hpp.

◆ BIQUADRATIC_SQUARE

const int mfem::VTKGeometry::BIQUADRATIC_SQUARE = 28
static

Definition at line 47 of file vtk.hpp.

◆ CUBE

const int mfem::VTKGeometry::CUBE = 12
static

Definition at line 38 of file vtk.hpp.

◆ HighOrderMap

const int mfem::VTKGeometry::HighOrderMap
static
Initial value:

Map from MFEM's Geometry::Type to arbitrary-order Lagrange VTK geometries.

Definition at line 80 of file vtk.hpp.

◆ LAGRANGE_CUBE

const int mfem::VTKGeometry::LAGRANGE_CUBE = 72
static

Definition at line 61 of file vtk.hpp.

◆ LAGRANGE_PRISM

const int mfem::VTKGeometry::LAGRANGE_PRISM = 73
static

Definition at line 62 of file vtk.hpp.

◆ LAGRANGE_PYRAMID

const int mfem::VTKGeometry::LAGRANGE_PYRAMID = 74
static

Definition at line 63 of file vtk.hpp.

◆ LAGRANGE_SEGMENT

const int mfem::VTKGeometry::LAGRANGE_SEGMENT = 68
static

Definition at line 57 of file vtk.hpp.

◆ LAGRANGE_SQUARE

const int mfem::VTKGeometry::LAGRANGE_SQUARE = 70
static

Definition at line 59 of file vtk.hpp.

◆ LAGRANGE_TETRAHEDRON

const int mfem::VTKGeometry::LAGRANGE_TETRAHEDRON = 71
static

Definition at line 60 of file vtk.hpp.

◆ LAGRANGE_TRIANGLE

const int mfem::VTKGeometry::LAGRANGE_TRIANGLE = 69
static

Definition at line 58 of file vtk.hpp.

◆ Map

const int mfem::VTKGeometry::Map
static
Initial value:

Map from MFEM's Geometry::Type to linear VTK geometries.

Definition at line 76 of file vtk.hpp.

◆ POINT

const int mfem::VTKGeometry::POINT = 1
static

Definition at line 30 of file vtk.hpp.

◆ PRISM

const int mfem::VTKGeometry::PRISM = 13
static

Definition at line 39 of file vtk.hpp.

◆ PrismMap

const int mfem::VTKGeometry::PrismMap = {0, 2, 1, 3, 5, 4}
static

Permutation from MFEM's prism ordering to VTK's prism ordering.

Definition at line 68 of file vtk.hpp.

◆ PYRAMID

const int mfem::VTKGeometry::PYRAMID = 14
static

Definition at line 40 of file vtk.hpp.

◆ QUADRATIC_PRISM

const int mfem::VTKGeometry::QUADRATIC_PRISM = 26
static

Definition at line 50 of file vtk.hpp.

◆ QUADRATIC_PYRAMID

const int mfem::VTKGeometry::QUADRATIC_PYRAMID = 27
static

Definition at line 52 of file vtk.hpp.

◆ QUADRATIC_SEGMENT

const int mfem::VTKGeometry::QUADRATIC_SEGMENT = 21
static

Definition at line 45 of file vtk.hpp.

◆ QUADRATIC_TETRAHEDRON

const int mfem::VTKGeometry::QUADRATIC_TETRAHEDRON = 24
static

Definition at line 48 of file vtk.hpp.

◆ QUADRATIC_TRIANGLE

const int mfem::VTKGeometry::QUADRATIC_TRIANGLE = 22
static

Definition at line 46 of file vtk.hpp.

◆ QuadraticMap

const int mfem::VTKGeometry::QuadraticMap
static
Initial value:

Map from MFEM's Geometry::Type to legacy quadratic VTK geometries/.

Definition at line 78 of file vtk.hpp.

◆ SEGMENT

const int mfem::VTKGeometry::SEGMENT = 3
static

Definition at line 34 of file vtk.hpp.

◆ SQUARE

const int mfem::VTKGeometry::SQUARE = 9
static

Definition at line 36 of file vtk.hpp.

◆ TETRAHEDRON

const int mfem::VTKGeometry::TETRAHEDRON = 10
static

Definition at line 37 of file vtk.hpp.

◆ TRIANGLE

const int mfem::VTKGeometry::TRIANGLE = 5
static

Definition at line 35 of file vtk.hpp.

◆ TRIQUADRATIC_CUBE

const int mfem::VTKGeometry::TRIQUADRATIC_CUBE = 29
static

Definition at line 49 of file vtk.hpp.

◆ VertexPermutation

const int * mfem::VTKGeometry::VertexPermutation
static
Initial value:
=
{
NULL, NULL, NULL, NULL, NULL, NULL, VTKGeometry::PrismMap, NULL
}

Permutation from MFEM's vertex ordering to VTK's vertex ordering.

Note
If the MFEM and VTK orderings are the same, the vertex permutation will be NULL.

Definition at line 73 of file vtk.hpp.


The documentation for this struct was generated from the following files: