Geometry and Topology for Mesh Generation