Hexahedral meshing has been proven to be significantly more efficient than tetrahedral meshing in the solving of most PDEs for physical simulations, they require only 10-25% the number of elements required buy tet meshes. But hex-meshing is a hard problem and is often done by parameterizing tetrahedral meshes and extracting hexahedral meshes using certain heuristic rules. Numerical inconsistencies and extraction of non-hexahedral polytopes can be avoided at the extraction stage. The algorithm to be implemented is delineated in the paper by Lyon et al: HexEx: Robust Hexahedral Mesh Extraction. My work is to incorporate the algorithm to create hexahedral meshes using combinatorial maps package in CGAL.
CGAL has a generalized maps package, which generalizes representation of any oriented object of n-dimensions with n-dimensional subdivisions, each of which is stored as a set of darts and pointers that point to other darts, which could be thought of as an oriented edge or 1-cell. We use this data structure to hold the hexahedral subdivisions of the 3D object. The package has classes to define implementations of darts, cells, generalized maps, which will be used for the implementation.