cgal/Packages/Tutorial/tutorial/Polyhedron/doc/tutorial.tex

167 lines
5.1 KiB
TeX

\documentclass[letter,twoside,10pt]{article}
\usepackage{tutorial}
\usepackage[OT1]{fontenc}
% ------------------------------------------------------------------------
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{epsfig}
\usepackage{psfrag}
\usepackage{}
% used to write c++ code/algorithms
\usepackage{listings}
\usepackage{fancyvrb}
%\psdraft
% hyperref stuff
\usepackage{hyperref}
\hypersetup{
pdftitle={Getting started with CGAL Polyhedron},
pdfauthor={INRIA Geometrica},
pdfsubject={A tutorial for CGAL},
pdfkeywords={},
pdfpagemode=UseThumbs,
baseurl={http://www.cgal.org},
colorlinks=true,
linkcolor=black,
anchorcolor=black,
citecolor=black,
filecolor=black,
menucolor=black,
pagecolor=black,
urlcolor=blue,
bookmarksopen=false,}
% end hyperref stuff
\lstset{language=C++, basicstyle=\scriptsize}
\input{tutorial.def}
% =========================================================================
\begin{document}
% TITLE
% ------------------------------------------------------------------------
\date{}
\title{{\LARGE {\sffamily\bfseries Algorithms on Meshes with CGAL Polyhedron}}}
% pierre: other suggestions for the title?
% Mesh Processing with CGAL Polyhedron
% Algorithms on Meshes with CGAL Polyhedron
% Getting started with CGAL Polyhedron
% ?
\author{\small
\sffamily Le-Jeng Shiue\footnote{SurfLab, University of Florida}
\and \small
\sffamily Pierre Alliez\footnote{GEOMETRICA, INRIA Sophia-Antipolis}
\and \small
\sffamily Radu Ursu\footnote{GEOMETRICA, INRIA Sophia-Antipolis}
\and \small
\sffamily Lutz Kettner\footnote{MPII, Saarbr\"ucken}}
\maketitle
\thispagestyle{empty}
% ABSTRACT
% ------------------------------------------------------------------------
\abstract{
%% This document is a tutorial on how to get
%% started with the halfedge data structure provided by CGAL, the
%% Computational Geometry Algorithm Library. Assuming the reader to be
%% familiar with the C++ template mechanisms and the key concepts of the
%% STL (Standard Template Library), we describe three different
%% approaches with increasing level of sophistication for implementing
%% mesh subdivision schemes. The simplest approach uses simple Euler
%% operators to implement the $\sqrt{3}$ subdivision scheme applicable to
%% triangle meshes. A second approach overloads the incremental builder
%% already provided by CGAL to implement the quad-triangle subdivision
%% scheme applicable to polygon meshes. The third approach is generic and
%% offers a convenient way to design its own subdivision scheme through
%% the definition of rule templates. Catmull-Clark, Loop and Doo-Sabin
%% schemes are illustrated using the latter approach. Two companion
%% applications, one developed on Windows with MS .NET, MFC and OpenGL,
%% and the other developed for both Linux and Windows with Qt and OpenGL,
%% implement the subdivision schemes listed above, as well as several
%% functionalities for interaction, visualization and raster/vectorial
%% output.
}
\vskip 3mm
\noindent {\bf Keywords:}
CGAL library,
tutorial,
halfedge data structure,
polygon surface mesh,
subdivision surfaces,
quad-triangle,
$\sqrt{3}$,
Loop,
Doo-Sabin,
Catmull-Clark,
OpenGL.
% INTRODUCTION
% ------------------------------------------------------------------------
\section{Introduction}
\input intro
% PREREQUISITES
% ------------------------------------------------------------------------
\section{Prerequisites}
%\input prereq
% ------------------------------------------------------------------------
\section{Polyhedron Data Structure: Fundamentals}
\input polyhedron
% ------------------------------------------------------------------------
\section{Polyhedron Data Structure: Rendering and Manipulation}
% rendering controls of the polyhedron (wire-frame, surface, normals>generation)
\subsection{Rendering}
%\input ??
% user manipulations of the polyhedron (arc ball?)
\subsection{Manipulation}
%\input ??
% ------------------------------------------------------------------------
\section{Design and Implemenation of Subdivisions}
\subsection{Subdivision Surfaces}
\input subdivision
% connectivity ops: specific polyhedron algorithms (sqrt3 subdivisions)
\subsection{$\sqrt{3}$-Subdivision using Euler Operators}
%\input sqrt3
% ------------------------------------------------------------------------
% inc builder: specific polyhedron algorithms (qt subdivisions)
\subsection{Quad-triangle Subdivision using Incremental Builder}
\label{sec:subdivision_builder}
%\input qt
% ------------------------------------------------------------------------
% templated rules: a generic framework for subdivisions
\subsection{Subdivision using a rule template}
\label{sec:subdivision_rule}
%\input subtempl
% APPLICATION DEMO
% ------------------------------------------------------------------------
\section{Application demo}
%\input demo
% ------------------------------------------------------------------------
% REFERENCES
\bibliographystyle{alpha}
\bibliography{tutorial}
\end{document}