add concepts of subdivision masks into the reference manual.

This commit is contained in:
Le-Jeng Shiue 2006-03-20 03:48:35 +00:00
parent d229cc55c1
commit bdb598aeb0
3 changed files with 251 additions and 13 deletions

View File

@ -0,0 +1,245 @@
% +------------------------------------------------------------------------+
% | Reference manual page: SubdivisionMask_3.tex
% +------------------------------------------------------------------------+
% | 03.17.2006 Andy Shiue
% | Package: Subdivision_method_3
% |
\RCSdef{\RCSSubdivisionMaskRev}{$Id$}
\RCSdefDate{\RCSSubdivisionMaskDate}{$Date$}
% +------------------------------------------------------------------------+
\ccRefPageBegin
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{PQQMask_3}
\label{pagePQQMaskRef}
Required member functions for the \ccRefName\ concept. This
policy concept of geometric computations is used in
\ccc{CGAL::Subdivision_method_3::PQQ<Polyhedron_3, Mask>}.
%\ccTypes
%\ccNestedType{Point_3}{point type.}
\ccCreationVariable{mask}
\ccOperations
\ccSetThreeColumns{facet_node}{}{\hspace*{8.5cm}}
\ccMethod{void facet_node(Facet_handle facet, Point_3& pt);}{
computes the facet-point \ccc{pt} based on the neighborhood
of the facet \ccc{f}.}
\ccMethod{void edge_node(Edge_handle e, Point_3& pt);}{
computes the edge-point \ccc{pt} based on the neighborhood
of the edge \ccc{e}.}
\ccMethod{void vertex_node(Vertex_handle v, Point_3& pt);}{
computes the vertex-point \ccc{pt} based on the neighborhood
of the vertex \ccc{v}.}
\ccMethod{void border_node(Halfedge_handle e, Point_3& ept, Point_3& vpt);}{
computes the edge-point \ccc{ept} and the vertex-point \ccc{vpt}
based on the neighborhood of the border edge \ccc{e}.}
\begin{ccTexOnly}
\begin{center}
\parbox{0.75\textwidth}{%
\includegraphics[width=0.75\textwidth]{Subdivision_method_3_ref/FIG/CCBorderMask}%
}
\end{center}
\end{ccTexOnly}
\begin{ccHtmlOnly}
<CENTER>
<img src="FIG/CCBorderMask.png" alt="PQQ stencil of border nodes"></A><P>
</CENTER>
\end{ccHtmlOnly}
\ccHasModels
\ccRefIdfierPage{CGAL::CatmullClark_mask_3<Polyhedron_3>}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Subdivision_method_3}
\end{ccRefConcept}
% +------------------------------------------------------------------------+
\ccRefPageEnd
% +------------------------------------------------------------------------+
% +------------------------------------------------------------------------+
\ccRefPageBegin
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{PTQMask_3}
\label{pagePTQMaskRef}
Required member functions for the \ccRefName\ concept. This
policy concept of geometric computations is used in
\ccc{CGAL::Subdivision_method_3::PTQ<Polyhedron_3, Mask>}.
%\ccTypes
%\ccNestedType{Point_3}{point type.}
\ccCreationVariable{mask}
\ccOperations
\ccSetThreeColumns{facet_node}{}{\hspace*{8.5cm}}
\ccMethod{void edge_node(Edge_handle e, Point_3& pt);}{
computes the edge-point \ccc{pt} based on the neighborhood
of the edge \ccc{e}.}
\ccMethod{void vertex_node(Vertex_handle v, Point_3& pt);}{
computes the vertex-point \ccc{pt} based on the neighborhood
of the vertex \ccc{v}.}
\ccMethod{void border_node(Halfedge_handle e, Point_3& ept, Point_3& vpt);}{
computes the edge-point \ccc{ept} and the vertex-point \ccc{vpt}
based on the neighborhood of the border edge \ccc{e}.}
\begin{ccTexOnly}
\begin{center}
\parbox{0.75\textwidth}{%
\includegraphics[width=0.75\textwidth]{Subdivision_method_3_ref/FIG/LoopBorderMask}%
}
\end{center}
\end{ccTexOnly}
\begin{ccHtmlOnly}
<CENTER>
<img src="FIG/LoopBorderMask.png" alt="PTQ stencil of border nodes"></A><P>
</CENTER>
\end{ccHtmlOnly}
\ccHasModels
\ccRefIdfierPage{CGAL::Loop_mask_3<Polyhedron_3>}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Subdivision_method_3}
\end{ccRefConcept}
% +------------------------------------------------------------------------+
\ccRefPageEnd
% +------------------------------------------------------------------------+
% +------------------------------------------------------------------------+
\ccRefPageBegin
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{DQQMask_3}
\label{pageDQQMaskRef}
Required member functions for the \ccRefName\ concept. This
policy concept of geometric computations is used in
\ccc{CGAL::Subdivision_method_3::DQQ<Polyhedron_3, Mask>}.
%\ccTypes
%\ccNestedType{Point_3}{point type.}
\ccCreationVariable{mask}
\ccOperations
\ccSetThreeColumns{facet_node}{}{\hspace*{8.5cm}}
\ccMethod{void corner_node(Halfedge_handle he, Point_3& pt);}{
computes the subdivided point \ccc{pt} based on the neighborhood
of the vertex pointed by the halfedge \ccc{he}.}
\begin{ccTexOnly}
\begin{center}
\parbox{0.55\textwidth}{%
\includegraphics[width=0.55\textwidth]{Subdivision_method_3_ref/FIG/DSCornerMask}%
}
\end{center}
\end{ccTexOnly}
\begin{ccHtmlOnly}
<CENTER>
<img src="FIG/DSCornerMask.png" alt="DQQ corner stencil"></A><P>
</CENTER>
\end{ccHtmlOnly}
\ccHasModels
\ccRefIdfierPage{CGAL::DooSabin_mask_3<Polyhedron_3>}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Subdivision_method_3}
\end{ccRefConcept}
% +------------------------------------------------------------------------+
\ccRefPageEnd
% +------------------------------------------------------------------------+
% +------------------------------------------------------------------------+
\ccRefPageBegin
% +------------------------------------------------------------------------+
\begin{ccRefConcept}{Sqrt3Mask_3}
\label{pageSqrt3MaskRef}
Required member functions for the \ccRefName\ concept. This
policy concept of geometric computations is used in
\ccc{CGAL::Subdivision_method_3::Sqrt3<Polyhedron_3, Mask>}.
%\ccTypes
%\ccNestedType{Point_3}{point type.}
\ccCreationVariable{mask}
\ccOperations
\ccSetThreeColumns{facet_node}{}{\hspace*{8.5cm}}
\ccMethod{void facet_node(Facet_handle f, Point_3& pt);}{
computes the subdivided point \ccc{pt} based on the neighborhood
of the facet \ccc{f}.}
\ccMethod{void vertex_node(Vertex_handle v, Point& pt);}{
computes the subdivided point \ccc{pt} based on the neighborhood
of the vertex \ccc{v}.}
\ccHasModels
\ccRefIdfierPage{CGAL::Sqrt3_mask_3<Polyhedron_3>}
\ccSeeAlso
\ccRefIdfierPage{CGAL::Subdivision_method_3}
\end{ccRefConcept}
% +------------------------------------------------------------------------+
\ccRefPageEnd
% +------------------------------------------------------------------------+

View File

@ -20,15 +20,8 @@
Subdivision methods recursively refine the control mesh
(i.e.~the input mesh) and generate points approximating
the limit surface.
%\ccc{Subdivision_method_3}
%realizes a subdivision method as a refinement host parameterized
%with a geometry policy. The refinement host refines the
%control mesh, maintains the stencils, and
%computes the geometry of the refined mesh. The computation
%of the geometry is done through the geometry policy.
Designed to work on the class \ccc{Polyhedron_3},
\ccc{Subdivision_method_3} aims to be easy to use and to extend.
%(see Chapter~\ref{chapterPolyhedron})
\ccc{Subdivision_method_3} is not a class, but a namespace
which consists of four popular subdivision methods and their refinement
hosts. Supported subdivision methods include Catmull-Clark, Loop,
@ -38,16 +31,15 @@ Variations of those methods can be easily
extended by substituting the geometry computation of the refinement
host.
%\subsection*{Concepts}
%\ccRefIdfierPage{PolyhedronTraits_3}\\
%\ccRefIdfierPage{PolyhedronItems_3}
\subsection*{Concepts}
\ccRefIdfierPage{PQQMask_3}\\
\ccRefIdfierPage{PTQMask_3}\\
\ccRefIdfierPage{DQQMask_3}\\
\ccRefIdfierPage{Sqrt3Mask_3}
\subsection*{Classes}
\ccRefIdfierPage{CGAL::Subdivision_method_3}\\
%\ccRefIdfierPage{CGAL::PQQ_stencil_3<Polyhedron_3>}\\
%\ccRefIdfierPage{CGAL::DQQ_stencil_3<Polyhedron_3>}\\
%\ccRefIdfierPage{CGAL::Linear_mask_3<Polyhedron_3>}\\
\ccRefIdfierPage{CGAL::CatmullClark_mask_3<Polyhedron_3>}\\
\ccRefIdfierPage{CGAL::Loop_mask_3<Polyhedron_3>}\\
\ccRefIdfierPage{CGAL::DooSabin_mask_3<Polyhedron_3>}\\

View File

@ -8,5 +8,6 @@
\input{Subdivision_method_3_ref/intro.tex}
\input{Subdivision_method_3_ref/Subdivision_method_3.tex}
\input{Subdivision_method_3_ref/SubdivisionMask_3.tex}
\input{Subdivision_method_3_ref/Subdivision_mask_3.tex}