triangulation_corner_test, a C++ code which calls triangulation_corner(), which tries to correct situations in which a triangulation includes corner triangles, that is, triangles which have two sides on boundary.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
triangulation_corner, a C++ code which patches triangulations so that no triangle has two sides on the boundary.
P03 is the square with a hole. The initial mesh has 1 corner triangle.
P05 is the horn. The initial mesh has 4 corner triangles.
P08 is the holey pie slice. The initial mesh has 2 corner triangles.
P09 is Jeff Borggaard's square with two hexagonal holes. The initial mesh has 3 corner triangles.
P10 is the unit square. The initial mesh has 4 corner triangles.
P11 is the L-shaped region. The initial mesh has 4 corner triangles.
Q11 is the L-shaped region, but with quadratric (6 node) triangles. The initial mesh has 4 corner triangles. Because we are using quadratic triangles, when we merge two triangles and swap the diagonal, the midside node on the common diagonal will no longer lie on a line, midway between the two vertices. TRIANGULATION_CORNER assumes this is undesirable, and recomputes the coordinates of such midside nodes, and outputs a modified node coordinate file as well as the new triangle file.
P12 is the John Shadid's H-shaped region. The initial mesh has 7 corner triangles.
P13 is the Sandia fork. The initial mesh has 6 corner triangles.
P14 is Marcus Garvie's Lake Alpha, with Beta Island. The initial mesh has 5 corner triangles. (Must be small!)
P15 is Sangbum Kim's forward step region. The initial mesh has 6 corner triangles.
P16 is Kevin Pond's elbow, a quarter of a circular annulus. The initial mesh has 1 corner triangle.
P17 is the rectangular channel with a Reuleaux triangle obstacle. The initial mesh has 4 corner triangles.