Topological Data Structures for Surfaces