is an option and annotation for MeshRegion, BoundaryMeshRegion, and related functions that specifies functions to use to generate primitives for rendering mesh cells.


  • The following settings can be used:
  • Automaticthe default shape function
    Nonedo not render mesh cells
    funca general shape function
    {cellspec1->func1,}use funci for mesh cell cellspeci
  • Mesh cells with no explicit mesh cell shape function are taken to use the automatic shape.
  • The wrapper Annotation[cellspec,MeshCellShapeFunctionfunc] can be used when creating mesh regions in functions such as MeshRegion, BoundaryMeshRegion, etc.
  • The cell specification cellspec follows the standard form described for MeshRegion and BoundaryMeshRegion.
  • A general shape function func specifies that the cell of the form h[{i1,,in}] should be rendered with the primitive provided by func[coords,index,cell], where coords are coordinates of points with index i1,,in, and index is the mesh cell index.


open allclose all

Basic Examples  (2)

Specify a mesh cell function for all zero-dimensional cells:

Specify a mesh cell function for all 1D cells:

Scope  (9)

MeshCellShapeFunction works with regions in 0D:

Regions in 1D:

Regions in 2D:

Regions in 3D:

Specify mesh cell functions for all 1D cells and all 0D cells:

Individual cells can be drawn using their cell index:

Or by the cell itself:

Draw all cells of a given dimension:

Specify a list of cell indices to style:

Style cells whose indices match a pattern:

Introduced in 2015