I developed a mesh simplification program using quadratic error scheme for COMP 557 Fundamentals of Computer Graphics course. I used OpenGL (JOGL) to display the results.
I used half edge data structure. Since mesh simplification requires collapsing an edge into a single vertex, half edge data structure makes it easy to discover adjacency relationships between components of the mesh.
For simplification process, I referenced Surface Simplification Using Quadric Error Metrics [Garland et. al]. For the details, the article can be referred.
My code currently breaks some meshes during the simplification. I will investigate and solve the problem in near future.