A Tutorial on CGAL Polyhedron for Subdivision Algorithms
Le-Jeng Shiue, Pierre Alliez, Radu Ursu and Lutz Kettner

 

Abstract: This document is a tutorial on how to get started with the polyhedron structure provided by CGAL, the Computational Geometry Algorithm Library. Assuming the reader to be familiar with the C++ template mechanisms and the key concepts of the STL (Standard Template Library), we first demonstrate two different approaches for implementing mesh subdivision schemes. Euler operators is applied for p3 subdivision and the modifier callback mechanism is applied for the Quad-Triangle subdivision. Both approaches are based on the build-in functionalities of the CGAL polyhedron. We then introduce a combinatory subdivision library (CSL) with increasing level of sophistication and abstraction. CSL offers a convenient way to design user-customized subdivision schemes through the definition of rule templates. Catmull-Clark and Doo-Sabin schemes are used to demonstrate the design and implementation of CSL. Two companion applications based on OpenGL, one developed with Windows MFC, and the other developed with Qt, showcase the subdivision schemes listed above, as well as several functionalities for interaction and visualization.

Download
- document (PDF 4.4 MB)
- slides of the tutorial given at SGP'04, Nice, France (PDF 18.8 MB)
- executable for windows (zipped, 457 kB)
- sample models (zip-archive 26 kB)
- source code for viewer and subdivision algorithms (zip-archive 2 MB)
- source code for geometric algorithms (zip-archive 14 kB)