In this section we present a method thought to build 3D quadrilateral instances from triangulated meshes suitable for data-based models with geometric parameters. This method allows us to identify the main shape variations. Quadrilateral mesh topology needs to be the same among all snapshots. We also strive to place vertices in a geometry-aware manner, i.e., all isotopological meshes have analogous points in the whole mesh. These constraints can be satisfied using our framework based on topology and geometry aspects.

### Topology and parameterization prerequisites

Following prerequisites introduce briefly basic notions of geometry and topology that are needed to present our work. The interested reader unfamiliar with those concepts can find relevant detailed information in the cited references and in the corresponding literature.

*Topology context and related work* Topology is the study of properties like continuity, connectedness and boundaries of a space that are preserved under continuous deformations, such as bending and stretching, but not tearing and gluing. A *homeomorphism* is an *isomorphism* that admits a continuous function between two topological equivalent spaces that has a continuous inverse function. We are interested on transformations that preserve all the topological properties of a given space. *Homeomorphic* spaces admit a *homeomorphism* between them, thus topological spaces are equivalent. See Hatcher [22] for more details.

A surface *M* is a **2-manifold**, i.e., a topological space in which each point has a neighborhood *homeomorphic* to either the plane \(\mathbb {R}^2\) or the closed half plane \(\mathbb {R}^2_+\). Points with closed half-plane neighborhood are defined as the boundary \(\partial M\) of the surface *M*. In the following we investigate only connected, orientable, compact surfaces with boundaries. **Genus** of a connected and orientable surface *M* (i.e., a *2-manifold* embedded in \(\mathbb {R}^3\)) is the maximum number of non-intersecting closed curves which can be drawn on it without disconnecting the surface. With these definitions, taking into account a genus-*g* surface *M* possibly with *b* boundary components, we can now define the topological invariant. This invariant used to classify surfaces is called **Euler characteristic**: \(\chi (M)=2-2g-b\). If *M* is a triangulated surface with vertices *V*, edges *E* and faces *F*, we can define the characteristic as \(\chi (M)= \dim (V)-\dim (E)+\dim (F)\). An example of *Euler characteristic* is provided in Fig. 3a. We note that surfaces with different *Euler characteristic* cannot be *homeomorphic*.

We define a **homology basis** for *M* to be any set of 2*g* *cycles* whose *homology classes* generate the first *homology group* \(H_1\) [17]. Cutting along these cycles yields a genus-0 surface. The set of all *handle* and *tunnel* loops form a *homology basis*. Suppose a closed surface \(M \subset \mathbb {R}^3\) separates \(\mathbb {R}^3\) into a bounded space \(\mathbb {I}\) and an unbounded space \(\mathbb {O}\). *Handle* and *tunnel* loops on *M* can be defined as follows. A loop \(a_i\) is a *tunnel* if it spans a disk in the unbounded space \(\mathbb {O}\). A loop \(b_i\) is a *handle* if it spans a disk in the bounded space \(\mathbb {I}\).

**Pants decomposition** was studied in Hatcher et al.[23], subsequent work has been done to find the optimal segmentation of a given surface into relevant *pants* patches [12] using the shortest homology basis [26]. Geometry-aware *pants decomposition* has been also investigated by Zhang and Li [53]. Li et al. [34] developed a *pants decomposition* framework for computing maps between surfaces with arbitrary topologies. An example of pants decomposition using a homology basis can be seen in Fig. 3b. More recently, Hajij et al. [21] tried to segment surfaces into *pants* using a *morse* function.

Let \(M_{g,b}\) be a surface of genus *g* with *b* boundary components. A *pants decomposition* of \(M_{g,b}\) is a collection of pairwise disjoint simple cycles that splits the surface into *pants* patches. Each *pants* patch is a genus-0 surface (topological sphere) with 3 boundaries. We assume that *M* is a surface with negative *Euler characteristic*, i.e., *M* is none of the surfaces \(M_{0,0}\) (topological sphere), \(M_{0,1}\) (topological disk), \(M_{0,2}\) (topological cylinder) and \(M_{1,0}\) (topological torus). In this case *pants decompositions* of *M* do exist, and each *pants decomposition* consists of \(3g + b - 3\) curves and divides *M* into \(2g + b - 2\) *pants* patches.

A **direction field** defined on a surface *M* is a tangent unit vector field: at each point of the surface, there exists a direction *u* such that \(\Vert {\mathbf {u}} \Vert = 1\) and \({\mathbf {u}} . {\mathbf {n}} = 0\), where \({\mathbf {n}}\) is the normal of *M*. A *N-symmetry direction field* \({\mathcal {U}}\) is a multivalued *direction field*: at each point of the surface *M*, there exists a *N-symmetry direction* \({\mathbf {u}}\) which is a set of *N* directions \(\lbrace {\mathbf {u}}_1, {\mathbf {u}}_2, . . . ,{\mathbf {u}}_{N-1}, {\mathbf {u}}_N \rbrace \) preserved by rotations of \(2 \pi /N\) around the normal \({\mathbf {n}}\) of *M*. These fields are subject to the well known **Poincaré-Hopf theorem** for a *2-dimensional manifold* *M*. If *M* has boundaries, the vector field must be pointing in the outward normal direction along them (for higher symmetries, see the **boundary number theorem** [49]).

### Used mapping techniques

Different approaches of mapping exist. In our case, we are interested in mappings or **parameterizations** which map a surface *M* embedded in \(\mathbb {R}^3\) to a canonical domain *D* in \(\mathbb {R}^2\). Throughout the paper, triangulated disk-like surfaces *M* with vertices *V*, edges *E* and faces *F* are considered for parameterization. For instance, techniques to map a multiply connected surface already exist [52]. We use discrete *harmonic* mapping to solve parameterizations on disks. *Harmonic* mappings have attributes derived from conformal parameterization, but there is no guarantee on angles. To proceed we construct a *harmonic* function \(f: M \longrightarrow \mathbb {R}\) such that \( \Delta f=0\). Harmonic maps minimize *Dirichlet* energy:

$$\begin{aligned} E_D(f)=\frac{1}{2} \int _M \Vert \nabla f \Vert ^2 dM. \end{aligned}$$

(1)

The surface boundary \(\partial M\) is first mapped to the boundary of the parametric domain and then the parameterization for the interior vertices is obtained by solving the linear system:

$$\begin{aligned} \Delta _{w}f(v_i)=\sum _{j\in N_i} w_{ij} (f(v_j)-f(v_i)) . \end{aligned}$$

(2)

where \(v_i\), \(v_j\) \(\in V\), \(N_i\) is the neighborhood of \(v_i\), and \(w_{ij}\) is the scalar weight assigned to the oriented edge \(e_{ij}(v_i,v_j)\). Different parameterization methods assign different weights \(w_{ij}\). The first definition of weight was introduced by Tutte [51]. In the parameter space, each vertex is placed at the barycenter of its neighbors. Recently, Saboret et al. [50] have implemented a CGAL package handling some of the state-of-the-art surface parameterization methods such as least squares conformal maps, discrete conformal map, discrete authalic parameterization, Floater mean value coordinates or Tutte barycentric mapping. In this context, we use mean value coordinates introduced by Floater [18]. According to the **Rado-Kneser-Choquet theorem**, if weights are positive and the boundary \(\partial M\) is mapped homeomorphically in a convex square parametric space, the mapping driven by the harmonic function *f* has to be bijective. This allows us to determine bijective mappings in order to avoid fold-overs in the smart model decomposition part, see e.g. “Smart model decomposition” section.

### Smart model decomposition

In order to build valid quadrilateral layout to determine the surface parameterization, we proceed in two steps: geometry-aware pants decomposition (“Geometry-aware pants decomposition” section) and feature-aware cuboid decomposition (“Feature-aware cuboid decomposition” section). Pants decomposition and cuboid decomposition are constructed to respect the topology of the input triangulated surface and consider features. Cuboid decomposition approximates very roughly the geometry while faithfully replicating its topology taking into account sharp edges and vertices. Due to its patch regular structure, it can serve as parametric domain needed for pure 3D quadrilateral mesh computation.

#### Geometry-aware pants decomposition

*Closely related literature approaches and algorithmic prerequisites* We focus on the decomposition of a triangulated surface into a set of pants patches \(\lbrace T_i \rbrace \). Pants decomposition provides a canonical decomposition scheme for common surfaces. \(\chi =-1\) for a pants patch, therefore a pant is the simplest topology after the sphere, disk, cylinder and torus. Many algorithms take as input handle or tunnel loops for genus-*g* surfaces to segment into pants patches [34]. The handle loops required for automatic pants decomposition are computed using the technique presented by K. Dey et al. [25]. An improvement was also developed by the same group [16]. In the following, we reuse the pants decomposition algorithm of Al-Akhras et al. [4] in order to integrate a most recent method.

*New extensions* According to previous work presented by Al-Akhras [3], we introduce an extension to enumerate the entire space of topological pants decomposition possibilities at each step. In other words, instead of picking 2 boundaries in an arbitrary manner, we suggest to take all couples of 2 boundaries among all non-repeating and commutative combinations when determining a pants patch relative to the considered step. Besides, giving some feature points, our new algorithm is able to determine a pant by slicing the mesh along a cycle passing across these locations.

*User inputs* User manual inputs are reduced to feature points selection in order to guide the decomposition passing through these points of interest. For other used geometric criteria, they are suggested to the user.

*Feature-aware cuboid decomposition algorithm* Given the homology basis formed by handle and tunnel loops, we can take a subset *H* composed of *g* simple pairwise disjoint handle loops \(\lbrace h_1,h_2,...,h_{g-1},h_g \rbrace \). Slicing surface *M* with *b* boundary components along its *g* handle loops will lead to a genus-0 surface with \(2g+b\) boundary components denoted as \(W=\lbrace w_1,w_2,...,w_{2g+b-1},w_{2g+b}\rbrace \). We iteratively pick two boundaries \(w_i\) and \(w_j\) from *W* (see algorithm 1) taking into account combinations and compute a new simple cycle \(w_{ij}\) to bound them, i.e., \(w_{ij}\) is homotopic to \(w_i \circ w_j\). The three cycles \(w_i\), \(w_j\) and \(w_{ij}\) bound a pants patch \(T_k\). We remove this pants patch \(T_k\) from *M*. The remaining patch is still genus-0 but its boundary number reduces by 1: the two cycles \(w_i\) and \(w_j\) are removed, and one new cycle \(w_{ij}\) is inserted. This is iteratively performed until \(\vert W \vert = 3\). This idea is formulated in Algorithm 1, and the operation that traces a cycle \(w_{ij}\) homotopic to cycle \(w_i \circ w_j\) is formulated in Algorithms 2 and 3.

*Choice of the geometric criterion* Shortest length of cycles on weighted triangulated meshes are computed using a Dijkstra’s algorithm based on weighted tree graphs. A CGAL package exists to compute these paths [29]. Different geometric criteria can be used to guide the pants decomposition. Geometric criterion can be adapted to the mesh *M*. In algorithm 2 and also in Algorithm 1 to sort loops in *L*, this can be changed for areas of minimum curvature [31], minimum length or symmetry. For instance in Fig. 4c pants decomposition is performed using loops with minimum length, whereas in Fig. 4d decomposition is made by symmetry. In Fig. 5, user selected feature points are given to guide the pants decomposition. All of these guidings yield a geometry-aware decomposition.

*Discussion on robustness* A common surface admits infinitely many pants decompositions. In general, not all pants decomposition results are suitable for the next step of our algorithm. By correctly defining feature points (in general a very small set of points) to lead the segmentation, the algorithm succeeds. If the pants decomposition is guided by the different geometric criteria presented above, we obtain satisfying results for all our test cases.

#### Feature-aware cuboid decomposition

*Closely related literature approaches* Pants patches provide a very simple topology and hence each pants patch can be treated separately. Li et al. [32] presented a method that generates cuboids per pants patch with a given user data input. Al-Akhras [3] improved it in order to perform the decomposition in a way that it does not require any input from the user. Nevertheless, developed techniques do not consider sharp features and deal with a simple cuboid decomposition scheme. They both try to generate corners and polyedges on each pants patch \(T_i\) and decompose it into a set of cuboids, each having 8 corners and 12 polyedges in order to construct a volumetric parameterization. In addition, these two previous approaches do not handle complicated cuboid configurations and generated arcs and nodes are not necessarily positioned onto features of the input surface mesh. Finally, prior automatic processes restrict the placement of the quadrilateral layout nodes in specific areas, e.g. using harmonic functions.

*New extensions* Our work presents an extension to handle more complicated geometry especially with sharp features. First, on each pants patch the number of quadrilateral patches \(n_{\mathbb {Q}}\) is set to respect sharp vertices and edges: we aim to perform a feature-aware cuboid decomposition. Indeed, optimal number of quadrilateral patches depends on the features embedded into the considered pants patch. Secondly, irregular vertices of the layout with a valence \(v \ne 4\) are placed onto relevant areas with high concentrated Gaussian curvature and/or with significant features.

*Algorithmic prerequisites* The space of valid quadrilateral layouts \(\mathbb {Q}\) is defined in equation (3). A quadrilateral layout is composed by arcs and \(n_n\) nodes of valence \(v_i\). Cuboid configurations \(\mathbb {C}\) decompose a surface into a set of quadrilateral patches which are ready for hexahedral meshing due their cubic structure. In this paper, the cuboid decomposition is dedicated only to surface decomposition. Indeed, this work only focuses on structured quadrilateral meshes.

$$\begin{aligned} \forall v_i \in \mathbb {Q}, \sum _{i=1}^{n_n} \left( 1-\frac{v_i}{4}\right) =\chi (M)_{Closed}=2-2g. \end{aligned}$$

(3)

*User inputs* To reach the feature-aware cuboid decomposition goal, manual user inputs are necessary. Depending on the pant geometry and features to replicate in the cuboid decomposition, 2 inputs are mandatory. Using a cuboid configuration templates library, a segmentation layout is choosen by the user; thus involving the wish to suit the desired features of the pant into the decomposition. Then, the structure of the requested template requires the manual selection of its asscociated feature points. Nature of these features is automatically suggested and the user has just to specify their location.

*Feature-aware cuboid decomposition algorithm* The 3 boundaries of a given pants patch will be arbitrarily denoted by \(B_1\), \(B_2\) and \(B_3\). We process these pants patches one by one in an arbitrary order. To guarantee cuboid corner alignment, when we determine one pants patch’s result, we transfer its corners on the boundaries of the adjacent pants patches if they are not processed yet. Notice that just a general algorithm with the most relevant specifications is provided using a simple decomposition scheme of 4 cuboids per pant patch.

**Step 1**. We generate 3 feature cutting curves \(W_{S1}\), \(W_{S2}\) and \(W_{S3}\):

- [
**A**]: -
We compute 3 discrete harmonic functions: \(f_1\), \(f_2\) and \(f_3\). To compute \(f_i\) , we set \(f_i = 0\) for vertices on the boundary \(B_i\) and \(f_i = 1\) for vertices on the remaining two boundaries \(B_j\) and \(B_k\) . Then we solve \(\Delta f_i = 0\) using mean value coordinates. Figure 6a.

- [
**B**]: -
Each harmonic function \(f_i\) has one minimum component and two maximum components. Among a set *C* of \(n_c\) feature cutting points \(C=\lbrace c_0,c_1,...,c_{n_c -1},c_{n_c } \rbrace \), let \(\overline{f_i}=min [f_i(c_i)] \,\,, \forall c_i \in C\). Then a temporary non-feature cutting curve \(W_{Ti}\) is defined as the isoparametric curve of the function \(f_i\) for the value \(\overline{f_i}\). Figure 6b.

- [
**C**]: -
We remove a long branch, i.e., by cutting along its temporary cutting curve \(W_{Tk}\). After filling the cutting hole, the resulting patch is a topological cylinder with 2 boundaries \(B_i\) and \(B_j\). We denote this temporary patch by \(P_{Tk}\). Figure 7a–c.

- [
**D**]: -
Using previously computed temporary patches \(P_{Tk}\), we first set \(u = 0\) for vertices on \(B_i\) and \(u = 1\) for vertices on \(B_j\) , then solve \(\Delta u = 0\). Using an approach close to Zeng et al. [52], among all iso-*v* curves along \(\nabla u\) starting from \(B_i\) and \(B_j\), we automatically select two relevant curves who are intersecting the filled boundary \(B_k\), one starting from temporary seed point \(s_{Tik}\) on \(B_i\) and one starting from temporary seed point \(s_{Tjk}\) on \(B_j\). Figure 7d–f.

- [
**E**]: -
By performing this previous task on each temporary patch \(P_{Tk}\), we obtain 6 temporary seed points \(s_{Tij}\), \(s_{Tik}\), \(s_{Tji}\), \(s_{Tjk}\), \(s_{Tki}\) and \(s_{Tkj}\). Working on all patches \(P_{Tk}\) we plot an iso-*v* curve along \(\nabla u\) from the seed vertex \(s_{Tik}\) on the boundary \(B_i\) to the seed vertex \(s_{Tjk}\) on boundary \(B_j\). We slice \(P_{Tk}\) along this iso-curve and get two duplicated boundary paths. We finally set \(v = 0\) and \(v = 1\) on them respectively and solve \(\Delta v = 0\) to obtain 3 oriented temporary unit-square maps denoted \(U_{Tk}\) with corners \(\lbrace s_{Tik},s_{Tjk},\overline{s_{Tik}},\overline{s_{Tjk}} \rbrace \). \(\overline{s_{Tik}}\) and \(\overline{s_{Tjk}}\) are duplicated points of \(s_{Tik}\) and \(s_{Tjk}\) respectively. Notice that triangles from filling are removed during \(U_{Tk}\) computation. Figure 8a.

- [
**F**]: -
Points in *C* are mapped into each unit-square map \(U_{Tk}\) and automatically classified using parametric coordinates *u* and *v*. Then we perform partial line inverse mapping between each classified cutting points \(c_i\) related to relevant \(U_{Tk}\) and merge computed lines to obtain valid feature cutting curves \(W_{S1}\), \(W_{S2}\) and \(W_{S3}\). Figure 8b, c.

**Step 2**. We generate 3 feature-aware oriented unit-square maps denoted \(U_{k}\):

- [
**A**]: -
We remove a long branch by cutting along its feature cutting curve \(W_{Sk}\). We proceed like **Step 1** [**C**] to obtain a feature-aware cutting patch \(P_{k}\).

- [
**B**]: -
Using the same workflow of **Step 1** [**D**] feature seed points \(s_{ik}\) and \(s_{jk}\) are determined.

- [
**C**]: -
Using the same workflow of **Step 1** [**E**], we obtain 6 feature seed points \(s_{ij}\), \(s_{ik}\), \(s_{ji}\), \(s_{jk}\), \(s_{ki}\) and \(s_{kj}\). Then 3 feature-aware oriented unit-square maps \(U_k\) are extracted.

**Step 3**. We generate all arcs of \(\mathbb {Q}\):

- [
**A**]: -
According to **Step 1** [**F**] feature cutting arcs \(W_{Sk}\) have already been computed. We keep \(W_{S3}\) passing through all cutting feature points. Figure 9a.

- [
**B**]: -
Among a set *D* of \(n_d\) feature boundary points \(D=\lbrace d_0,d_1,...,d_{n_d -1},d_{n_d } \rbrace \), we map these points into corresponding maps \(U_k\). Using automatic classification with parametric coordinates *u* and *v*, we pair on each relevant \(U_k\) points in *D* possibly with feature cutting points in *C*. We perform partial line inverse mapping to obtain arcs of the quadrilateral layout. Boundary arcs are determined directly in the physical space. Figure 9b.

- [
**C**]: -
Consider a non-empty set *O* of \(n_o\) common feature points \(O=\lbrace o_0,o_1,...,o_{n_o -1},o_{n_o } \rbrace \). We proceed like **Step 3** [**B**] by pairing on each relevant \(U_k\) points in *O* possibly with *C* or *D*.

- [
**D**]: -
Remaining arcs of the quadrilateral layout or cuboid configuration (see equation (3)) are computed using partial line inverse mapping into relevant \(U_k\) with points in *D*, *O* or in *C*. Other arcs and points are then obtained by line-line intersection analysis. Figure 9c.

With feature points in *C* (see **Step 3** [**C**]) or other feature points in *D* or *O*, a huge variety of shapes can be decomposed into cuboids and hence handling more complex geometry cases is possible. To go further, the pants-to-cuboids decomposition can be divided in two main parts: the biological and mechanical parts, see e.g. Fig. 10. For instance, specific biological quadrilateral layouts have been studied by Al-Akhras et al. [2]. Details for the mechanical workflow are explained in Fig. 11. Given a consistent pants decomposition, our algorithm is able to decompose a triangulated surface into quadrilateral patches suitable for surface parameterization. This previous task is done only by specifying relevant feature points relative to a given quadrilateral layout template.

### Direction field generation

Introduced in “Topology and parameterization prerequisites” section, 4-symmetry directions fields (i.e., cross fields) are widely used to determine an aligned global parameterization [6,7,8, 45]. In other words, these fields are useful to guide the parameterization to determine quality quadrilateral surfaces. Designing a smooth cross field \({\mathcal {C}}\) is done with a given set of constraints. We categorize these constraints into two groups: topological and geometric constraints. Topological constraints are imposed singularities and numbers induced by the surface topology \(\chi (M)\). Geometric constraints are intrinsically embedded on the surface. Thus we seek a cross field \({\mathcal {C}}\) which is smooth, aligned with the local geometry and topologically compatible. The quadrilateral layout \(\mathbb {Q}\) or cuboid configuration \(\mathbb {C}\) contains topological properties whereas the surface *M* hold the geometric information.

We consider a triangulation of the surface *M*, assumed to be a 2-dimensional manifold of genus-*g* with *b* boundary components. Directions will be stored at faces *F* to avoid definition of supplementary tangent planes. The first step of the discretization consists in finding a reference direction in each triangle. This is done by choosing a local orthonormal frame \(({\mathbf {x}},{\mathbf {y}})\) attached on each face *f*. The vector \({\mathbf {x}}\) is an unitary vector along one of the oriented edges of face *f*, and \({\mathbf {y}}={\mathbf {n}} \times {\mathbf {x}}\), where \({\mathbf {n}}\) is the normal of *f*. A direction \({\mathbf {u}}\) on *f* can be formulated in terms of polar coordinates. Due to the unit norm of such directions, it is completely parameterized by the polar angle \(\alpha \) it forms with \({\mathbf {x}}\). We denote \(\alpha \) the direction angle. By unfolding adjacent triangles isometrically to a plane along their common edge, angles can be expressed in a common coordinate frame. To specify the number of \(N^{th}\) turns the direction \({\mathbf {u}}_A\) undergoes to match with \({\mathbf {u}}_B\) when passing from *A* to *B*, the *period jump* [33] is adopted. Other works introduce an angle \(\omega \) named *connection angle* to solve this ambiguity [14, 15]. In the following, the *connection angle based discretization* is used for topological design and *period jump based discretization* is used for geometric design.

#### Topological cross field generation

The first discretization computes an angle \({}^c \alpha _i^j\) from face \(f_i\) expressed in adjacent face \(f_j\) which is in general equal to \(\alpha _j^j\), see e.g. equation (4). The angle \(\kappa _{ij} \in [-\pi ,\pi ]\) represents the difference between a reference direction \({\mathbf {x}}_i\) in face \(f_i\) and \({\mathbf {x}}_j\) in face \(f_j\). Angle \(\omega _{ij}\) is the *connection angle* when walking on the dual edge linking face \(f_i\) to face \(f_j\).

$$\begin{aligned} {}^c \alpha _i^j&=\alpha ^i_i + \kappa _{ij} + \omega _{ij}. \end{aligned}$$

(4)

We seek to fix all topological degrees of freedom to restrict the cross field topologically compatible to our quadrilateral layout \(\mathbb {Q}\). Technically speaking, we target a smooth cross field \({\mathcal {C}}\) that is singular only at specified vertices: the position of irregular nodes of \(\mathbb {Q}\). The approach of Campen and Kobbelt [8] is adopted to determine the cross field topological degrees of freedom from the input quadrilateral layout. Figure 12b provides a topological cross field calculated using the minimization of energy introduced by Crane et al. [15]. The generated field respect the Gauss-Bonnet theorem by distributing the Gaussian curvature in a smart manner [14].

#### Geometric cross field generation

The second discretization computes an angle \({}^p \alpha _i^j\) from face \(f_i\) expressed in adjacent face \(f_j\) which is in general different to \(\alpha _j^j\), see e.g. equation (5). Angles \(\alpha ^i_i\) and \(\alpha ^j_j\) are respectively expressed in their native faces. The integer \(p_{ij} \in \mathbb {Z}\) is the *period jump* when passing from face \(f_i\) to face \(f_j\). The integer *N* is the symmetry of the field, i.e., 4 for cross fields.

$$\begin{aligned} {}^p \alpha _i^j&= \alpha ^i_i + \kappa _{ij} + \frac{2 \pi }{N} p_{ij}. \end{aligned}$$

(5)

A smooth cross field that interpolates relevant principal curvature directions, sharp features and boundaries restricted to a given topology is targeted. We search the smoothest field taking into account constrained directions given by geometric features. The period jumps of the field are fixed. A technique introduced by Bommes et al. [6] and later used by Al-Akhras et al. [2] is adopted to compute such field. Figure 12c shows a geometric cross field that interpolates sharp features and boundaries.

### Aligned global parameterization computation from geometric direction field

We now compute an *aligned global parameterization*, i.e., a map from the mesh *M* to a disk-like surface parameter domain \(\Omega \in \mathbb {R}^2\). We assign a couple (*u*, *v*) of parameter values on each vertex of *M*. The parameterization should be locally aligned with the features of the mesh, this is done using the guiding geometric cross field previously computed. Such parameterization implies that the gradients \(\nabla u\) and \(\nabla v\) of the discrete scalar field must follow the cross field directions on each face.

#### Seamless parameterization

A planar parameterization of a mesh *M* embedded in \(\mathbb {R}^3\) into a parametric domain \(\Omega \) embedded in \(\mathbb {R}^2\) is in general done by computing a *cut graph*. A cut graph *G* is a connected graph formed by edges of *M* that splits the mesh into a disk-like surface mesh \(M^c\). Seams are then defined as duplicated paths of *G*. Transitions across seams need to belong to a very restricted class. We search for rigid transformations with a rotation angle multiple of \(\frac{ \pi }{2}\). Moreover across each seam edge or vertex, the corresponding transition must be integral, i.e., relative to an integer. Thus we talk about integral seamless parameterization [27]. We target the cross field first and second directions \({\mathbf {u}}^{{\mathcal {C}}}\) and \({\mathbf {v}}^{{\mathcal {C}}}\) for the gradients of the parametric coordinates \(\nabla u\) and \(\nabla v\). The parameterization is then computed as the solution of a constrained minimization problem:

$$\begin{aligned}&\min _{u,v} \sum _{f \in F} [ \Vert \nabla u - {\mathbf {u}}^{{\mathcal {C}}} \Vert ^2 + \Vert \nabla v - {\mathbf {v}}^{{\mathcal {C}}} \Vert ^2 ] A_f \text { s.t. } (7), \end{aligned}$$

(6)

$$ \begin{aligned}&v_1^{'} =R^{m_{ij}}_{ \frac{ \pi }{2}} v_1 + t_{ij} \& v_2^{'} =R^{m_{ij}}_{ \frac{ \pi }{2}} v_2 + t_{ij}. \end{aligned}$$

(7)

where \(A_f\) is the area of the considered face *f*. The corresponding final positions \(v_1^{'}\) and \(v_2^{'}\) are related to the cut edge \(e_{ij}\) from face *i* to face *j* with endpoints \(v_1 \in \mathbb {R}^2\) and \(v_2 \in \mathbb {R}^2\) in the parametric domain. Given a side of the cut by picking \(v_1\) and \(v_2\), the parameterization on the other side is determined by these previous transitions. The matching \(m_{ij} \in \mathbb {Z}\) is defined between the two local charts which specify the rotation operator *R*. Rotations are made by angles multiple of \(\frac{ \pi }{2}\). The integer \(t_{ij} \in \mathbb {Z}^2\) is a translation across cut edge \(e_{ij}\). Aligned global parameterization can also integrate sharp edges and boundary constraints to ensure that a common relevant edge is mapped to an isoparametric curve.

#### Node connection constraints

Once a valid quadrilateral layout and consistent geometric cross field are provided, we wish to restrict each arc in a way that two incident nodes lie on a common isoparametric curve. With isoparametric we mean that either the *u* or *v* parameter is constant along the curve when taking transitions into account. The minimization problem (6) is then constrained using node connection constraints. These constraints are derived from the quadrilateral layout \(\mathbb {Q}\). Typically, each arc must lie on a common isoparametric curve taking seams transitions into account [46]. We are now able to compute a suitable global parameterization of the mesh *M*, given the associated quadrilateral layout \(\mathbb {Q}\).

#### Quadrilateral layout embedding optimization

Depending on geometry and position of \(\mathbb {Q}\)’s nodes, a better parameterization can be found using node relocation. Due to the nature of the quadrilateral layout, fixed nodes rise to large distortions or even local non-injectivities. Mathematically speaking we are going to optimize equation (6). The nodes are re-positioned based on the gradient of the parameterization’s objective functional with respect to their positions. This is done iteratively until a global embedding quality is reached. We follow the method developed by Campen and Kobbelt [8] to perform such optimization. Figure 13 shows an abdominal aorta scanned mesh with its global parameterization optimization using an arbitrary valid quadrilateral layout. Observe the final global parameterization quality and nodes relocation. The final parameterization is then used to construct feature-aligned quadrilateral meshes. Due to patch structure of the quadrilateral layout, such quadrilateral meshes can be computed patch by patch according to connectivity constraints.

### Isotopological analogous quadrilateral meshes construction from aligned global parameterization

Let us reformulate the previous defined problematic in section 1.2 in a more technical manner. Given a set of input triangulated meshes we strive to find 3D quadrilateral meshes which respect the four following properties:

*Pure quadrilaterals with low distortion* With the definition of a quadrilateral layout replicating perfectly the topology of the input triangulated surface mesh, it is possible to define a pure quadrilateral mesh. Low distortion is achievied by minimizing the alignment of the global parameterization with the guiding field.

*Feature aligned* Sharp edges, vertices and principal curvature directions are inportant features of meshes. Alignment to these features is required on all instances to fully conserve significant features. Thus the input quadrilateral layout must contain all the sharp edges and vertices to ensure right feature alignment into all input meshes.

*Isotopological with analogous points into other geometric instances* A sufficient condition to have *isotopological* meshes is to hold the same connectivity. A representative quadrilateral mesh of the population with a correct sampling is taken as reference to set the mesh connectivity. It should be noted here that it is not a sufficient condition to compare meshes because of orientation. This is why we want each point of the computed mesh to have an *analogous* point into all other geometric instances of the considered set. It is achieved globally by patch connectivity and locally by classifying sharp features and applying patch parameterization.

*Non-uniform isotropy* Mesh non-uniform isotropy provides the only degrees of freedom to have isotopological meshes from different geometric instances. Non-uniform *isotropy* is intrinsically set because of patch connectivity and discretization.