Mesh Generation

For the sake of simplicity, we restrict ourselves here to the two-dimensional case and we only consider triangulations. Not surprisingly, the central building block to describe such meshes is the triangle, together with a couple of data structures encoding the adjacency relationships. For surface meshes, a more general structure is necessary as a triangle could share an edge with more than one other triangle.
Triangulations (meshes) can be represented in many different ways. First, we present a representation based essentially on the triangles themselves. Then, we briefly discuss another representation based upon the triangle edges.
The triangles are indexed from 1 on. A triangle is an (oriented) triple of vertices (cf. Chapter 1). With each triangle are associated its (at most) three edge neighbors (two dimensional case). The neighborhood relationships are encoded such that
which means that the triangle of index k is adjacent to the triangle of index i and that the edge j of triangle i is the common edge ( k = 0 means that the edge j of triangle i is a boundary edge). Suppose also that vertex j of triangle i is opposite to edge j of this triangle (see also Chapter 1).
The pair of triples vertices-neighbors is one possible way of representing a triangulation (and probably the most concise one) also called the adjacency graph of the triangulation.
A richer representation is based upon...