mirror of https://github.com/CGAL/cgal
42 lines
1.9 KiB
TeX
42 lines
1.9 KiB
TeX
% to be written by pierre
|
|
|
|
% pierre: I think the section is currently either way too long,
|
|
% or too short if one wants enough details to implement.
|
|
% Andy, you might want to put just the two first blocks
|
|
% without giving more details since one wants to emphasis on
|
|
% the generic one
|
|
|
|
|
|
The quad-triangle subdivision scheme was introduced by
|
|
Levin~\cite{l-pg-03}, then Stam and Loop~\cite{qts}. It applies to
|
|
polygon meshes and basically features Loop subdivision on triangles
|
|
and Catmull-Clark subdivision on polygons of the control mesh (see
|
|
Fig.\ref{fig:quad-triangle}). After one iteration of subdivision the
|
|
subdivided model is only composed of triangles and quads.
|
|
|
|
\begin{figure}
|
|
\centering{\includegraphics[width=7.0cm]{figs/quad-triangle}}
|
|
\caption{Quad-triangle subdivision scheme.}
|
|
\label{fig:quad-triangle}
|
|
\end{figure}
|
|
|
|
One solution for implementing quad-triangle scheme is to use an
|
|
auxiliary modifier class that supports the incremental construction of
|
|
polyhedral surfaces. The incremental construction starts with a list
|
|
of all point coordinates and concludes with a list of all facet
|
|
polygons given by a sequence of vertex indices. Beside being of
|
|
interest for constructing polyhedral surfaces from indexed file
|
|
formats, the incremental builder can be used from any other data
|
|
structures, namely from an input mesh.\\
|
|
|
|
The vertex, face and halfedge class primitives of the Polyhedron are
|
|
initially enriched with an integer tag. The incremental builder first
|
|
iterates over all primitives of the input mesh and circulates around
|
|
their incident primitives to deduce the positions of the new vertices
|
|
from the geometry rules. The integer tags keep track of the index of
|
|
the new vertices in the input mesh, allowing a straightforward assembly
|
|
of all indexed triangles, resp. quads as the Loop, resp. barycentric
|
|
subdivision refinement rules are applied for all facets of the input
|
|
model.
|
|
|