Mesh Generation

For the sake of simplicity, in this section we consider triangular meshes only, although most of the constructions described can be extended (more or less easily) to other kinds of meshes. The following examples are given to emphasize how to benefit from algorithms and data structures described in the previous sections when dealing with applications related to mesh generation.
Therefore, numerous examples are linked to frequently encountered operations in various tasks in mesh generation or mesh modification algorithms. The order in which examples are given is not strictly significant. Some of these examples are purely academic, others deal with more real-world applications.
The following examples can be seen as a set of exercises. Starting from data assumed to be known beforehand and depending on the goal envisaged, the reader is welcomed, on the one hand, to examine the proposed solution and, on the other hand, to look for alternate solutions to the same problem.
Given a mesh and a vertex of this mesh, the ball of this vertex is the set of elements sharing the vertex. Here, we propose a method which, for any vertex of a mesh, provides the list of the elements in its ball. Our interest is motivated by the fact that vertex balls are commonly used in numerous parts of mesh generation or mesh optimization algorithms (see Chapter 18, for example). The proposed method works without the knowledge of the adjacency...