Take the case of a 2 dimensional convex polygon. To get things rolling, we first define what it means for a vertex to be a **2-seam vertex**. A vertex v is a seam edge if the region defined by the two edges on the inside part of the polygon is completely on one side of the the vertical line going through v, and the highest edge (i.e. the connecting edge where the other vertex has the higher y coordinate) connected to v is completely within one side of the vertical line going through v. The only case where this will not be true is when the upper most edge is in fact vertical.

Obviously not all verticies are 2-seam vertices, the following is an example of verticies which are not 2-seam vertices:

For a polygon, the set of 2-seam verticies is the *2-seam*.

An interesting result of this is that a locally convex polygon is globally convex if and only if it has two vertices which are 2-seam vertices (i.e. it's 2-seam has size two). We can see why a convex polygon will only have two 2-seam vertices, the only possible 2-seam vertices are those which are at the extremes (xmin and xmax so to speak), so that the vertical line through them will have both adjacent edges in the same half plane. Any vertices which are not the ymax for the xmin or xmax will have a vertex directly above them if they are locally convex, so only the highest verticies with xmin and xmax will be 2-seam vertices, and so there will be only two of them.

If we now move onward to 3D, we can extend the idea of seam edges in reasonable manner. The edge e, is a seam edge, if it is not vertical, if the intersection of regions defined by the inside of the two faces incident on e is completely on one side of the plane defined by the vertical plane through e. And lastly if the face with greater positive z direction incident on e is completely on one side of the vertical plane through e, then we have a seam edge. Let's try to have a look at what this means:

*Devillers et al*. A seam is degenerate if it has a vertex with more than two seam edges incident on it.

This leads us to a property of a globally convex polygon, if the seam S(G) is degenerate, then the graph G is not globally convex. (make picture?) Another reasonable followup of this is that if the seam is not degenerate, the seam must be a collection of disjoint cycles. This follows from basic graph theory, if every vertex has degree two, obviously every vertex is going to be part of a cycle.

Now that we've cleared up the confusion (or more likely, have created slightly more confusion) about seam edges, you may be asking yourself why we care, after all, that seems like a pretty silly thing to define. There's one more lemma to drag you through with respect to the seam edges, say the seam of G is non-degenerate, and q is a point on the interior of G. We'll let r be a non-vertical ray starting from q (i.e. a line starting at q, and going to infinity, but not going straight up).

An interesting result is that if the intersection of r with G is at k facets, then when we project the ray r parallel to the z-axis (we'll call this z-projection r') the intersection of r' with the z-projection of the seam of G, S(G) is at k edges and/or vertices. So essentially for every facet the ray intersects normally in the original space, the z-projection of the ray will intersect the z-projection of the seam of G in an equivalent number of vertices or edges.

We've been talking about global convexity, but another thing we need to define is *local convexity*. We say a polyhedron is locally convex if for every edge, (b,c) of the polyhedron, the two facets which the edge supports (in the algorithm our input polyhedron has to be triangulated, so there's only one vertex needed to define a facet incident on the edge) the volume made by 'abcd' is inside the region enclosed by the polyhedron: