mirror of https://github.com/CGAL/cgal
209 lines
7.2 KiB
TeX
209 lines
7.2 KiB
TeX
%\documentclass[letter,twoside,10pt]{article}
|
|
%\usepackage{tutorial}
|
|
%\usepackage[OT1]{fontenc}
|
|
|
|
\documentclass{egpubl}
|
|
\usepackage{SGP2004}
|
|
|
|
% --- for Annual CONFERENCE
|
|
% \ConferenceSubmission % uncomment for Conference submission
|
|
% \ConferencePaper % uncomment for (final) Conference Paper
|
|
% \STAR % uncomment for STAR contribution
|
|
% \Tutorial % uncomment for Tutorial contribution
|
|
% \ShortPresentation % uncomment for (final) Short Conference Presentation
|
|
%
|
|
% --- for CGF Journal
|
|
% \JournalSubmission % uncomment for submission to Computer Graphics Forum
|
|
% \JournalPaper % uncomment for final version of Journal Paper
|
|
%
|
|
% --- for EG Workshop Proceedings
|
|
\WsSubmission % uncomment for submission to EG Workshop
|
|
% \WsPaper % uncomment for final version of EG Workshop contribution
|
|
%
|
|
\electronicVersion % uncomment if producing the printed version
|
|
|
|
% ------------------------------------------------------------------------
|
|
\ifpdf \usepackage[pdftex]{graphicx} \pdfcompresslevel=9
|
|
\else \usepackage[dvips]{graphicx} \fi
|
|
%\usepackage{graphicx}
|
|
\usepackage{subfigure}
|
|
\usepackage{epsfig}
|
|
\usepackage{psfrag}
|
|
\usepackage{}
|
|
% used to write c++ code/algorithms
|
|
\usepackage{listings}
|
|
\usepackage{fancyvrb}
|
|
|
|
\PrintedOrElectronic
|
|
|
|
% prepare for electronic version of your document
|
|
\usepackage{t1enc,dfadobe}
|
|
|
|
|
|
%\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{paper.def}
|
|
|
|
% TITLE
|
|
% ------------------------------------------------------------------------
|
|
\title{Generic Subdivision Algorithms on Meshes \\
|
|
based on the CGAL Polyhedron}
|
|
|
|
% pierre: other suggestion for the title?
|
|
% Generic Algorithms on Meshes
|
|
% based on the CGAL Polyhedron
|
|
|
|
|
|
% for anonymous conference submission please enter your SUBMISSION ID
|
|
% instead of the author's name (and leave the affiliation blank) !!
|
|
|
|
% we should submit with N.N.
|
|
\author[Le-Jeng Shiue, Pierre Alliez, Radu Ursu, and Lutz Kettner]
|
|
{Le-Jeng Shiue\thanks{CISE, University of Florida},
|
|
Pierre Alliez\thanks{GEOMETRICA, INRIA Sophia-Antipolis},
|
|
Radu Ursu\thanks{GEOMETRICA, INRIA Sophia-Antipolis}, and
|
|
Lutz Kettner\thanks{MPII, Saarbr\"ucken}
|
|
}
|
|
% ------------------------------------------------------------------------
|
|
|
|
% if the Editors-in-Chief have given you the data, you may uncomment
|
|
% the following five lines and insert it here
|
|
%
|
|
% \volume{23} % the volume in which the issue will be published;
|
|
% \issue{2} % the issue number of the publication
|
|
% \pStartPage{201} % set starting page
|
|
|
|
|
|
%-------------------------------------------------------------------------
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\begin{abstract}
|
|
|
|
% pierre: I suggest to keep the abstract without any formatting
|
|
% nor macros (ascii only)
|
|
|
|
The Computational Geometry Algorithms Library CGAL is an efficient
|
|
modern C++ library following the generic programming paradigm. It
|
|
contains a flexible data structure for meshes in graphics, the
|
|
Polyhedron. In generic programming, data structures and algorithms are
|
|
decoupled, for example, iterators decouple container classes from
|
|
conventional search and sorting algorithms in the C++ Standard
|
|
Template Library (STL). We describe two different approaches one can
|
|
take with the Polyhedron when implementing subdivision algorithms: An
|
|
example implementation of the square-root-of-three subdivision scheme
|
|
based on Euler operations provided by the Polyhedron, and an example
|
|
implementation of the quad-triangle subdivision based on the modifier
|
|
callback mechanism that enables lower-level modifications. Then we
|
|
describe a generic framework for subdivision algorithms; its key
|
|
feature is the separation of the topological refinement operator from
|
|
the geometric smoothing operator. This work is the core part of a
|
|
tutorial for the Polyhedron. The tutorial also provides general
|
|
amenities for working with meshes in graphics; we offer an interactive
|
|
visualizer based on OpenGL, file I/O, and support for getting
|
|
illustrations for publications.
|
|
|
|
|
|
% The computational geometry algorithms library (CGAL) adapts
|
|
% design patterns and the generic programming paradigm in the design
|
|
% and the implementation. The template parameterization
|
|
% of the CGAL polyhedron meshes enhances the flexibility and
|
|
% the adaptability of supporting geometry algorithms.
|
|
% We introduce the modification operations supported
|
|
% in the CGAL polyhedron and demonstrate the applications
|
|
% of subdivision surfaces. Based on the CGAL polyhedron meshes,
|
|
% we also propose a generic framework of the generic polyhedron and
|
|
% the soft-coupled geometry algorithms. The soft-coupled algorithms
|
|
% are generic and to be specialized as combinations of the
|
|
% topology and geometry operators. The geometry operators
|
|
% are user-programmable based on the user-specialized CGAL polyhedron.
|
|
|
|
\begin{classification} % according to http://www.acm.org/class/1998/
|
|
\CCScat{I.3.5}{Computer Graphics}{Computational Geometry
|
|
and Object Modeling}
|
|
\end{classification}
|
|
|
|
\end{abstract}
|
|
|
|
%% \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
|
|
% ------------------------------------------------------------------------
|
|
\subsection{Background}
|
|
\input prereq
|
|
|
|
% ------------------------------------------------------------------------
|
|
\section{CGAL Polyhedron Meshes}
|
|
\input polyhedron
|
|
|
|
% ------------------------------------------------------------------------
|
|
\section{Subdivisions on Generic Mesh Data Structures}
|
|
% generic data struture + static algorithms
|
|
\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 modifier}
|
|
\input qt
|
|
|
|
% ------------------------------------------------------------------------
|
|
% templated rules: a generic framework for subdivisions
|
|
\subsection{Generic Subdivisions}
|
|
%\label{sec:subtempl}
|
|
\input subtempl
|
|
|
|
% APPLICATION DEMO
|
|
% ------------------------------------------------------------------------
|
|
%\section{Application demo}
|
|
%\input demo
|
|
|
|
\section{Conclusions}
|
|
\input conclusion
|
|
|
|
% ------------------------------------------------------------------------
|
|
% REFERENCES
|
|
\bibliographystyle{eg-alpha}
|
|
\bibliography{paper}
|
|
|
|
|
|
\end{document}
|