# Data structures for general (non-tetrahedral) cell complexes

For 2D polygonal meshes, the QuadEdge and HalfEdge data structure representations are sufficient to store and enable efficient query of all topological and incidence information. Are there compact and efficient data structures for 3D polyhedral meshes? I know there has been some recent work on compact representations for tetrahedral meshes, like, for example SOT. I don't know enough about these to know if they generalize to unstructured non-tetrahedral meshes.

I can imagine that half-edges might generalize to half-faces with associated half-edges, but it seems like that is a lot of data to store, and there might be more compact representations. I should add that I really only care about retrieving facet information (like which facets are on the boundary, which facets belong to a certain cell); the edge incidence information is not as useful.

-

There is an extension of half-edge in any dimension, called combinatorial maps. There are two packages in CGAL allowing to use these combinatorial maps in any dimension (see here for combinatorialMaps and here for LinearCellComplex).

Thus you can use this data structure do describe any non regular 3D subdivided object.

-
 How does this compare with Dobkin & Laszlo's FacetEdge representation? That seems to be the only other thing I can find. – Victor Liu Dec 20 '12 at 21:37 They are equivalent. In FacetEdge representation, there are mainly 3 functions: clock, Enext and Fnext; and in a 3D combinatorial map, there are 3 functions $\beta_1$, $\beta_2$ and $\beta_3$. – gdamiand Dec 21 '12 at 8:36