  This paper tackles the challenging problem of constrained hexahedral meshing.
An algorithm is introduced to build combinatorial hexahedral meshes whose
boundary facets exactly match a given quadrangulation of the topological
sphere. This algorithm is the first practical solution to the problem. It is
able to compute small hexahedral meshes of quadrangulations for which the
previously known best solutions could only be built by hand or contained
thousands of hexahedra. These challenging quadrangulations include the
boundaries of transition templates that are critical for the success of general
hexahedral meshing algorithms.
  The algorithm proposed in this paper is dedicated to building combinatorial
hexahedral meshes of small quadrangulations and ignores the geometrical
problem. The key idea of the method is to exploit the equivalence between quad
flips in the boundary and the insertion of hexahedra glued to this boundary.
The tree of all sequences of flipping operations is explored, searching for a
path that transforms the input quadrangulation Q into a new quadrangulation for
which a hexahedral mesh is known. When a small hexahedral mesh exists, a
sequence transforming Q into the boundary of a cube is found; otherwise, a set
of pre-computed hexahedral meshes is used.
  A novel approach to deal with the large number of problem symmetries is
proposed. Combined with an efficient backtracking search, it allows small
shellable hexahedral meshes to be found for all even quadrangulations with up
to 20 quadrangles. All 54,943 such quadrangulations were meshed using no more
than 72 hexahedra. This algorithm is also used to find a construction to fill
arbitrary domains, thereby proving that any ball-shaped domain bounded by n
quadrangles can be meshed with no more than 78 n hexahedra. This very
significantly lowers the previous upper bound of 5396 n.
