MAINTAINING WINGED-EDGE MODELS

Publisher Summary This chapter analyzes winged-edge models. The winged-edge data structure is a powerful mechanism for manipulating polyhedral models. The basic idea rests on the idea of an edge and its adjacent polygons. The name is derived by imagining the two polygons as a butterfly's wings, and the edge as the butterfly's body separating them. This simple concept provides a basis for implementing a variety of powerful tools for performing high-level operations on models. There are several fundamental operations that a winged-edge library must support. Each operation requires carefully moving and adjusting a variety of pointers. This chapter describes solution of some tricky pointer-stitching problems in implementing a winged-edge library. It suggests a general architecture and data structures, and gives recipes for performing those basic mechanisms that require some care to implement correctly. The architecture suggested by Pat Hanrahan is discussed. The general structure in this architecture is that faces, edges, and vertices each are stored in a ring.