cgal/Manual/doc_tex/Introduction_ref/thirdparty.tex

120 lines
4.5 KiB
TeX

\section{Third Party Software}
In this section we list the software that is used by the various
\cgal\ packages.
\subsection{Standard Template Library \label{thirdparty:stl}}
\cgal\ heavily uses the {\sc Stl}, and in particular adopted
many of its design ideas. The {\sc Stl} comes with the compiler,
but it is possible to use the compiler together with an
alternative {\sc Stl} implementation.
\subsection{Boost \label{thirdparty:Boost}}
Boost is a collection of libraries. \cgal\ needs some of them, that is
it is mandatory. If Boost is not already on your system, e.g., on
Windows, you can download it from \path'http://www.boost.org'.
\subsection{Blas \label{thirdparty:Blas}}
The \blas\ (Basic Linear Algebra Subprograms) are routines that provide
standard building blocks for performing basic vector and matrix operations.
In \cgal, \blas\ is required by the packages
\ccRef[Estimation of Local Differential Properties]{Pkg:Jet_fitting_3}
and \ccRef[Approximation of Ridges and Umbilics]{Pkg:Ridges_3} only.
You can download the official release from \path'http://www.netlib.org/blas/'
or download optimized implementations from \path'http://www.netlib.org/blas/faq.html#5'.
Alternatively, installing \taucs\ provides \blas.
\subsection{Lapack \label{thirdparty:Lapack}}
\lapack\ provides routines for solving systems of simultaneous linear equations,
least-squares solutions of linear systems of equations, eigenvalue problems,
and singular value problems.
In \cgal, \lapack\ is required by the packages
\ccRef[Estimation of Local Differential Properties]{Pkg:Jet_fitting_3}
and \ccRef[Approximation of Ridges and Umbilics]{Pkg:Ridges_3} only.
You can download the official release from \path'http://www.netlib.org/lapack/'.
Alternatively, installing \taucs\ customized for \cgal\ provides \lapack.
\subsection{GMP \label{thirdparty:GMP}}
A library for multi precision integers and rational numbers.
\cgal\ offers adapters for these number types. The usage
of the {\sc Gmp} library is optional. If it is not already on your system,
e.g., on Windows, you can download it from \path'http://gmplib.org/'
or from the Download section of \path'http://www.cgal.org'.
\subsection{MPFR \label{thirdparty:MPFR}}
A library for multi precision floating point numbers. The usage of
the {\sc Mpfr} library is optional, and you must install it when you
use {\sc Gmp}. You can download {\sc Mpfr} from \path'http://www.mpfr.org'
or from the Download section of \path'http://www.cgal.org'.
\subsection{Leda \label{thirdparty:Leda}}
A library of efficient data structures and algorithms. \cgal\ offers
adapters to the {\sc Leda} number types. The usage is optional.
It is only available commercially from \path'http://www.algorithmic-solutions.com'.
\subsection{Taucs \label{thirdparty:Taucs}}
\taucs\ is a library of sparse linear solvers.
In \cgal, it is used to improve (a lot) the computations within the
\ccRef[Planar Parameterization of Triangulated Surface Meshes]{Pkg:SurfaceParameterization} package only.
You can download the official release from \path'http://www.tau.ac.il/~stoledo/taucs/'
or download a version customized for \cgal\
from the Download section of \path'http://www.cgal.org'.
We highly recommend to install the version customized for \cgal\
which contains an installer, bug fixes, and a complete \lapack\
implementation.
\subsection{OpenNL \label{thirdparty:OpenNL}}
OpenNL (Open Numerical Library) is a library to easily construct and solve
sparse linear systems. It is the default solver of the
\ccRef[Surface Mesh Parameterization]{Pkg:SurfaceParameterization} package.
OpenNL's main page is \path'http://www.loria.fr/~levy/software/'.
\cgal\ includes a version of OpenNL in C++, made especially for \cgal\ by Bruno L\'evy.
\subsection{zlib \label{thirdparty:zlib}}
A data compression library.
It is used in the examples of the \ccRef[Surface Mesh Generation]{Pkg:SurfaceMesher3} package.
If it is not already on your system,
e.g., on Windows, you can download it from \path'http://www.gzip.org/zlib'.
\subsection{Qt \label{thirdparty:Qt}}
A {\sc Gui} library. The usage of Qt is optional, but note that
it is used for all 2D demos.
As Qt is the layer underneath {\sc Kde}, Qt is installed
on many Linux systems. Otherwise you can download it from
\path'http://www.trolltech.com'.
\subsection{Coin \label{thirdparty:Coin}}
An implementation of Open Inventor. It is used in the demo
of the \ccRef[Kinetic Data Structures]{Pkg:Kds} package. You can download
it from \path'http://www.coin3d.org'.