MESH EDITOR · C++ / OPENGL / QT

miniMAYA

A polygon modeling tool centered on a half-edge mesh: inspect topology, select components in the viewport, edit faces and subdivide while preserving sharp features.

C++ · OpenGL · QtHalf Edge · Ray Cast · Catmull–Clark
miniMAYA modeling interface
01 · DATA STRUCTURE

Topology is
the interface.

Vertices, half-edges and faces form an explicitly linked graph. Symmetric half-edges connect adjacent faces, so editing operations can walk neighborhoods and rebuild connectivity without relying on implicit triangle order.

Half-edge connectivityvertex · half-edge · face · symmetric pairSYM
02 · MODELING

Pick, inspect,
extrude.

Viewport clicks are converted to object-space rays for vertex, edge and face selection. Extrusion duplicates the selected face along its normal, inserts the surrounding quad ring and reconnects every new symmetric edge.

Ray selectionscreen point → view ray → mesh componentFace extrusionduplicate face + bridge perimeter + relink twins
03 · SUBDIVISION

Smooth form,
keep intent.

Catmull–Clark subdivision creates a denser surface while marked edges and vertices use sharp rules. Corners can remain fixed, crease chains keep their profile and new sub-edges inherit sharpness.

Sharp-aware Catmull–Clarksmooth interiors while preserving marked edges and cornerssubdivided topology
01

Import

Builds connected half-edge topology from polygon mesh data.

02

Select

Maps viewport input to vertices, half-edges and faces.

03

Edit

Updates geometry and connectivity through local mesh operations.

04

Subdivide

Generates a smoother mesh while carrying intentional sharpness forward.

MINIMAYA

C++ · OPENGL · QT · HALF-EDGE MESHES

An interactive polygon-modeling tool built around a half-edge data structure. It supports component selection with ray casting, face extrusion, Catmull–Clark subdivision, sharp-feature preservation and safeguards for non-manifold geometry.