Meshes

The two-dimensional embedded delta sets (EmbeddedDeltaSet2D) in CombinatorialSpaces can be converted to and from mesh objects (Mesh) in Meshes.jl. This is useful for interoperation with packages in the JuliaGeometry ecosystem.

Visualizing embedded delta sets

The following example shows how to import a mesh from an OBJ file, convert it into an embedded delta set, and render it as a 3D mesh using WGLMakie.

using FileIO, WGLMakie, CombinatorialSpaces
set_theme!(resolution=(800, 400))
catmesh = FileIO.load(File{format"OBJ"}(download(
  "https://github.com/JuliaPlots/Makie.jl/raw/master/assets/cat.obj")))

catmesh_dset = EmbeddedDeltaSet2D(catmesh)
mesh(catmesh_dset, shading=false)

Alterntively, the embedded delta set can be visualized as a wireframe:

wireframe(catmesh_dset)

We can also construct and plot the dual complex for this mesh:

dual = EmbeddedDeltaDualComplex2D{Bool, Float32, Point{3,Float32}}(catmesh_dset)
subdivide_duals!(dual, Barycenter())
wireframe(dual)

API docs

CombinatorialSpaces.MeshInteropModule

Interoperation with mesh files.

This module enables delta sets to be imported from mesh files supported by MeshIO.jl and for delta sets to be converted to meshes, mainly for the purposes of plotting. Meshes are represented by the GeometryBasics.Mesh type.

source