Mesh Edit in Scotty3D
MeshEdit is the first major component of Scotty3D, which performs 3D modeling, subdivision, and mesh processing, enabling the user to transform a simple cube model into beautiful, organic 3D surfaces described by high-quality polygon meshes.
The Halfedge data structure

A halfedge structure is like a glue that bonds different elements together. Basically, the standard mesh elements (vertices, edges, and faces) know only about one of their halfedges. In particular:
-
a vertex knows about one of its “outgoing” halfedges,
-
an edge knows about one of its two halfedges, and
-
a face knows about one of the many halfedges circulating its interior, and
-
each halfedge knows about the opposite halfedge(aka twin halfedge). It also knows about the next halfedge around its face, as well as its associated edge, face, and root vertex.
Local operations
Local mesh operations are operations that edit a mesh in a small local part each time (like edge collapse, face bevel, etc.).
With discretion, most of these operations are achieved by algorithms that create, reassign, reposition, and delete half edges, vertices, edges, and faces.
Edge flip

Edge collapse

Edge split

Face bevel

Global operations
According to some rules, global mesh operations refer to operating every mesh element (edges, vertices, faces) uniformly. Some common global operations include linear subdivision, loop subdivision, simplification, etc.
Triangulation

Catmull-Clark subdivision

Linear subdivision

Loop subdivision
