datastructures
Mesh
The mesh is implemented as a halfedge datastructure. It is meant for the representation of polygonal “surface” meshes. A mesh can be connected or disconnected. A mesh can be closed or open. A mesh can be comprised of only vertices.
Definition of a mesh. 
Mesh matrices
Creates a vertex adjacency matrix from a Mesh datastructure. 

Creates a connectivity matrix from a Mesh datastructure. 

Creates a vertex degree matrix from a Mesh datastructure. 

Construct the face matrix from a Mesh datastructure. 

Construct a Laplacian matrix with uniform weights from a mesh data structure. 
Construct the Laplacian of a triangular mesh with cotangent weights. 

Compute the n x n diagonal matrix of pervertex voronoi areas. 
Mesh algorithms
Compute the (axis aligned) bounding box of a mesh. 

Compute the (axis aligned) bounding box of a projection of the mesh in the XY plane. 

Compute the (axis aligned) bounding box of a mesh. 

Compute the (axis aligned) bounding box of a projection of the mesh in the XY plane. 

Compute the contours of the mesh. 

Construct the dual of a mesh. 

Compute geodesic from the vertices of a mesh to given source vertices. 

Compute the isolines of a specified attribute of the vertices of a mesh. 

Planarise a set of connected faces. 

Smooth a mesh by moving every free vertex to the centroid of its neighbors. 

Smooth a mesh by moving each vertex to the barycenter of the centroids of the surrounding faces, weighted by area. 

Subdivide the input mesh. 

Subdivide a mesh using simple insertion of vertices. 

Subdivide a mesh by cutting croners. 

Subdivide a mesh such that all faces are quads. 

Subdivide a mesh using the CatmullClark algorithm. 

Subdivide a mesh following the doosabin scheme. 

Transform a mesh. 

Transform a copy of 
Compute the gaussian curvature at the vertices of a triangle mesh using the angular deficit. 

Remesh until all edges have a specified target length. 

Subdivide a triangle mesh using the Loop algorithm. 
Mesh helpers
Cull all duplicate vertices of a mesh and sanitize affected faces. 

Build a face adjacency dict. 

Flip the cycle directions of all faces. 

Verify that the mesh is connected. 

Unify the cycle directions of all faces. 
Network
The network is a connectivity graph. It is meant for the representation of networks of vertices connected by edges. The edges are directed. A network does not have faces. A network can be connected or disconnected. A network with vertices only is also a valid network.
Definition of a network. 
Network algorithms
Generate the complement network of a network. 

Count the number of crossings (pairs of crossing edges) in the network. 

Construct the dual of a network. 

Embed the network in the plane. 

Identify all pairs of crossing edges in a network. 

Find the faces of a network. 

Verify that the network is connected. 

Verify if a network has crossing edges. 

Check if the network is planar. 

Verify that a network is embedded in the plane without crossing edges. 

Verify that a network lies in the XY plane. 

Smooth a network by moving each vertex to the centroid of its neighbors. 
VolMesh
The volmesh is a cellular mesh. It is implemented as a halfplane, the threedimensional equivalent of a halfedge. It can, for example, be used for the representation of subdivided/partitioned polyhedra.
Class for working with volumetric meshes. 