It is provided as an illustration of the simplicity of the Edgebreaker approach and has not been optimized. The authors, the Georgia Institute of Technology, and the National Science Foundation decline all responsibility regarding the correctness, reliability, and support of this software.
The implementation of the compression and decompression provided here is based on the Corner Table data structure, and has been extended to support meshes with an arbitrary number of handles and with zero or one bounding loop (or hole).The detailed pseudo-code for Edgebreaker's compression and decompression take one page each. The pseudo-code for a context-based parallelogram prediction takes half a page. All three are provided here (PDF). We also include the figures and explanations for the various contexts of the geometric prediction.
Triangle meshes with several holes should be preprocessed, so that all holes except the largest are plugged with triangle fans. Transmitting the IDs of the dummy central vertices of these fans allows the client to identify all the incident triangles and delete them to restore the holes.
To produce your own version of Edgebreaker:
Download and compile these source files to create an executable version of EdgebreakerCheck the specifications and examples for our input and output file format