CREATE - create model, boundary edge triangles, edge face, edge vertex, add a vertex makeModel Make and return a pointer to a new model makeBoundaryEdgeTri Create a boundary edge and triangle makeEdgeFace Create an edge by connecting two vertices makeEdgeVertex Create an edge connecting an existing vertex (v1) to a new vertex addVertexToModel Add a vertex to model, and return pointer to new vertex insideTriInModel return pointer to triangle in model containing specified (x,y) coordinates Function Prototypes: Model *makeModel (float xmin, float ymin, float xmax, float ymax); void makeBoundaryEdgeTri (Vertex *v, Edge **enew, Tri **tnew); void makeEdgeFace (Vertex *v1, Vertex *v2, Edge **enew, Face **fnew); Vertex* addVertexToModel (Model *m, float x, float y); Tri* insideTriInModel (Model *m, Tri *start, float x, float y); makeModel: Input: xmin minimum x-coordinate ymin minimum y-coordinate xmax maximum x-coordinate ymax maximum y-coordinate Returns: pointer to a new Model makeBoundaryEdgeTri: Input: v specified boundary Vertex Output: enew new boundary Edge tnew new boundary triangle Notes: The specified vertex and the adjacent vertices on the boundary are assumed to be colinear. Therefore, the resulting boundary triangle has zero area, and is intended to enable deletion of the specified vertex from the boundary. makeEdgeFace: Input: v1 First Vertex v2 second Vertex Output: enew new Edge fnew new Face Notes: The vertices must be adjacent to a single common face. This face is closed off by the new edge, and a new edge and a new face are made and returned. addVertexToModel: Input: m model x x-coordinate of new vertex y y-coordinate of new vertex Notes: If the new vertex is close to an existing vertex, this function returns NULL. insideTriInModel: Input: m Model start triangle to look at first (NULL to begin looking anywhere) x x-coordinate y y-coordinate Notes: Points on an edge of a triangle are assumed to be inside that triangle. An edge may be used by two triangles, so two triangles may "contain" a point that lies on an edge. The first triangle found to contain the specified point is returned. Author: Dave Hale, Colorado School of Mines, Fall 1990.