From bdb598aeb0c9713c0125054ecf582b274646ebd4 Mon Sep 17 00:00:00 2001 From: Le-Jeng Shiue Date: Mon, 20 Mar 2006 03:48:35 +0000 Subject: [PATCH] add concepts of subdivision masks into the reference manual. --- .../SubdivisionMask_3.tex | 245 ++++++++++++++++++ .../Subdivision_method_3_ref/intro.tex | 18 +- .../doc_tex/Subdivision_method_3_ref/main.tex | 1 + 3 files changed, 251 insertions(+), 13 deletions(-) create mode 100644 Subdivision_method_3/doc_tex/Subdivision_method_3_ref/SubdivisionMask_3.tex diff --git a/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/SubdivisionMask_3.tex b/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/SubdivisionMask_3.tex new file mode 100644 index 00000000000..fd0f76256b5 --- /dev/null +++ b/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/SubdivisionMask_3.tex @@ -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}. + + +%\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} +
+ PQQ stencil of border nodes

+

+\end{ccHtmlOnly} + +\ccHasModels + +\ccRefIdfierPage{CGAL::CatmullClark_mask_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}. + + +%\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} +
+ PTQ stencil of border nodes

+

+\end{ccHtmlOnly} + +\ccHasModels + +\ccRefIdfierPage{CGAL::Loop_mask_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}. + + +%\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} +
+ DQQ corner stencil

+

+\end{ccHtmlOnly} + +\ccHasModels + +\ccRefIdfierPage{CGAL::DooSabin_mask_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}. + + +%\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} + +\ccSeeAlso + +\ccRefIdfierPage{CGAL::Subdivision_method_3} + +\end{ccRefConcept} + +% +------------------------------------------------------------------------+ +\ccRefPageEnd +% +------------------------------------------------------------------------+ diff --git a/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/intro.tex b/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/intro.tex index f06952b33a7..0d6f370ec6c 100644 --- a/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/intro.tex +++ b/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/intro.tex @@ -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}\\ -%\ccRefIdfierPage{CGAL::DQQ_stencil_3}\\ -%\ccRefIdfierPage{CGAL::Linear_mask_3}\\ \ccRefIdfierPage{CGAL::CatmullClark_mask_3}\\ \ccRefIdfierPage{CGAL::Loop_mask_3}\\ \ccRefIdfierPage{CGAL::DooSabin_mask_3}\\ diff --git a/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/main.tex b/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/main.tex index 7b1e5b6a015..63ff3c922a8 100644 --- a/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/main.tex +++ b/Subdivision_method_3/doc_tex/Subdivision_method_3_ref/main.tex @@ -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}