restrict to convex faces
We so support non-convex polyhedra, as they may occur in physical applications. However, there is no need for us to support non-convex faces because users may emulate them as a union of convex faces. Restricting acceptable input to convex faces allows for a number of simplifications in our algorithms.
To do:
- In the Face constructor, test for convexity.
- Review all face related code whether there are opportunities for simplification.