less linking

This commit is contained in:
Sébastien Loriot 2013-01-07 19:26:50 +01:00
parent de0423a6f3
commit 318c280932
7 changed files with 22 additions and 22 deletions

View File

@ -100,7 +100,7 @@ namespace CGAL {
///@{ ///@{
/** /**
* @brief Default Constructor. * @brief %Default Constructor.
* *
* Constructs an empty tree. * Constructs an empty tree.
*/ */

View File

@ -185,7 +185,7 @@ typedef Hidden_type Axes_lengths_iterator;
/*! /*!
A model of STL concept A model of STL concept
`RandomAccessIterator` with value type `double` that is used `RandomAccessIterator` with value type `double` that is used
to iterate over the Cartesian coordinates of the direction of a fixed to iterate over the %Cartesian coordinates of the direction of a fixed
axis of the computed ellipsoid, see axis of the computed ellipsoid, see
`axis_direction_cartesian_begin()`. `axis_direction_cartesian_begin()`.
*/ */
@ -348,7 +348,7 @@ Axes_lengths_iterator axes_lengths_end();
/*! /*!
returns an iterator returns an iterator
pointing to the first of the \f$ d\f$ Cartesian coordinates of the pointing to the first of the \f$ d\f$ %Cartesian coordinates of the
computed ellipsoid's \f$ i\f$th axis direction (i.e., unit vector in computed ellipsoid's \f$ i\f$th axis direction (i.e., unit vector in
direction of the ellipsoid's \f$ i\f$th axis). The direction described direction of the ellipsoid's \f$ i\f$th axis). The direction described
by this iterator is a floating-point approximation to the exact by this iterator is a floating-point approximation to the exact

View File

@ -87,7 +87,7 @@ typedef std::size_t ID;
/// @{ /// @{
/*! /*!
Default constructor. No %Default constructor. No
particular initialization. particular initialization.
*/ */
Box_with_handle_d(); Box_with_handle_d();

View File

@ -3,21 +3,21 @@
\page chaptraits_classes Traits Classes \page chaptraits_classes Traits Classes
\author Bernd G&auml;rtner (<TT>gaertner@inf.ethz.ch</TT>) \author Bernd G&auml;rtner (<TT>gaertner@inf.ethz.ch</TT>)
The concept of a traits class is central to CGAL. The name ``traits The concept of a traits class is central to %CGAL. The name ``traits
class'' comes from a standard \cpp design pattern class'' comes from a standard \cpp design pattern
\cite cgal:m-tnutt-95; you may have heard about iterator traits which \cite cgal:m-tnutt-95; you may have heard about iterator traits which
follow this design pattern. follow this design pattern.
The traits class is used in template code to reflect properties (traits) The traits class is used in template code to reflect properties (traits)
of the actual template argument. of the actual template argument.
On the lower levels, such as the number types, On the lower levels, such as the number types,
the traits classes in CGAL indeed follow this pattern. the traits classes in %CGAL indeed follow this pattern.
However, in higher level packages the term traits class is used in a slightly However, in higher level packages the term traits class is used in a slightly
different spirit. The most noticeable change is that the traits class becomes different spirit. The most noticeable change is that the traits class becomes
the template argument. This allows to bundle several template the template argument. This allows to bundle several template
arguments and provides more flexibility as explained in the subsequent arguments and provides more flexibility as explained in the subsequent
sections. sections.
\section secwhat_is_a_traits_class What are traits classes in CGAL? \section secwhat_is_a_traits_class What are traits classes in %CGAL?
The algorithms in CGAL's basic library are implemented as function templates The algorithms in CGAL's basic library are implemented as function templates
or class templates, usually having a template parameter whose name contains or class templates, usually having a template parameter whose name contains
@ -27,11 +27,11 @@ define the interface between the algorithm and the geometric (or numeric)
primitives it uses. Any concrete class that serves as a model for this primitives it uses. Any concrete class that serves as a model for this
concept is a traits class for the given algorithm or data structure. concept is a traits class for the given algorithm or data structure.
\section secwhy_traits_classes Why are traits classes in CGAL? \section secwhy_traits_classes Why are traits classes in %CGAL?
Using traits concepts as template parameters allows for customization Using traits concepts as template parameters allows for customization
of the behavior of algorithms without changing implementations. At of the behavior of algorithms without changing implementations. At
least one model for each traits concept should be provided in CGAL least one model for each traits concept should be provided in %CGAL
(in the simplest case, the kernel models fit; see (in the simplest case, the kernel models fit; see
Section \ref seckernel_traits ), but often more than one are provided Section \ref seckernel_traits ), but often more than one are provided
in order to supply certain customizations that users may want. The in order to supply certain customizations that users may want. The
@ -63,7 +63,7 @@ and then builds the convex hull incrementally by adding one point after
another from the sorted list. To do this, it must at least know about another from the sorted list. To do this, it must at least know about
some point type, it should have some idea how to sort those points, and some point type, it should have some idea how to sort those points, and
it must be able to evaluate the orientation of a triple of points. The it must be able to evaluate the orientation of a triple of points. The
signature of the Graham Scan algorithm in CGAL (actually a variation signature of the Graham Scan algorithm in %CGAL (actually a variation
due to Andrews) is as follows: due to Andrews) is as follows:
\anchor ch_grham_andrew \anchor ch_grham_andrew
@ -116,7 +116,7 @@ simply member functions of the traits class.
there are member functions generating instances of these types, <I>i.e.</I>, there are member functions generating instances of these types, <I>i.e.</I>,
the actual functors. Reasons for this are the following. the actual functors. Reasons for this are the following.
<UL> <UL>
<LI>\em CGAL is designed to have an \stl-like look-and-feel. All <LI>\em %CGAL is designed to have an \stl-like look-and-feel. All
algorithms in the \stl that depend on computational primitives algorithms in the \stl that depend on computational primitives
(like a sorting algorithm depending on a comparison operator), (like a sorting algorithm depending on a comparison operator),
receive those primitives via parameters which are functors. (The receive those primitives via parameters which are functors. (The
@ -133,19 +133,19 @@ If you really look up the documentation of the
<A HREF="http://www.cgal.org/Manual/doc_html/basic_lib/Convex_hull_2_ref/Concept_ConvexHullTraits_2.html">concept</A> in the manual, you will find a larger <A HREF="http://www.cgal.org/Manual/doc_html/basic_lib/Convex_hull_2_ref/Concept_ConvexHullTraits_2.html">concept</A> in the manual, you will find a larger
list of requirements. list of requirements.
A traits class fulfilling this complete list of requirements can be used A traits class fulfilling this complete list of requirements can be used
for all of the 2-dimensional convex hull algorithms provided in CGAL. for all of the 2-dimensional convex hull algorithms provided in \cgal.
For example, there are also For example, there are also
algorithms that require a sorting of points by angle, and a traits class for algorithms that require a sorting of points by angle, and a traits class for
that algorithm has to supply appropriate predicates for that. Still, to use that algorithm has to supply appropriate predicates for that. Still, to use
the Graham Scan, a traits class meeting only the specifications listed above the Graham Scan, a traits class meeting only the specifications listed above
is sufficient. is sufficient.
\subsection subseccgal_traits_classes CGAL-provided traits classes \subsection subseccgal_traits_classes %CGAL-provided traits classes
As mentioned in Section \ref secwhat_is_a_traits_class , As mentioned in Section \ref secwhat_is_a_traits_class ,
the traits class requirements define a concept. An the traits class requirements define a concept. An
actual traits class that complies with these requirements is a model for actual traits class that complies with these requirements is a model for
that concept. At least one such model must be provided for all CGAL that concept. At least one such model must be provided for all %CGAL
algorithms. algorithms.
Often this is called the default traits class. Often this is called the default traits class.
Default traits classes are very Default traits classes are very
@ -160,18 +160,18 @@ must be specified in the <A HREF="http://www.cgal.org/Manual/doc_html/basic_lib/
The implication is that a user can call `ch_graham_andrews` with The implication is that a user can call `ch_graham_andrews` with
just three parameters, which delimit the iterator range to be handled and just three parameters, which delimit the iterator range to be handled and
supply the iterator for the result. The types supply the iterator for the result. The types
and primitives used by the algorithm in this case are the ones from the CGAL 2D and 3D kernel. and primitives used by the algorithm in this case are the ones from the %CGAL 2D and 3D kernel.
In many cases, there are more than one traits classes provided by CGAL. In the In many cases, there are more than one traits classes provided by %CGAL. In the
case of convex hulls, for example, there are traits classes that interface case of convex hulls, for example, there are traits classes that interface
the algorithms with the geometry kernel of \leda. Though the user who has the algorithms with the geometry kernel of \leda. Though the user who has
a third-party geometric kernel will not be able to profit from the CGAL or \leda traits, he or she can still provide own traits classes, which meet a third-party geometric kernel will not be able to profit from the %CGAL or \leda traits, he or she can still provide own traits classes, which meet
the specified requirements. the specified requirements.
\section seckernel_traits Kernel as traits \section seckernel_traits Kernel as traits
Most default traits classes in CGAL are written in terms of the Most default traits classes in %CGAL are written in terms of the
types and classes provided in the CGAL kernel. So one may wonder types and classes provided in the %CGAL kernel. So one may wonder
why it is not possible to plug the kernel in as a traits class why it is not possible to plug the kernel in as a traits class
directly. Ideally, it provides all the primitives an algorithm needs. directly. Ideally, it provides all the primitives an algorithm needs.
However, some algorithms and data structures require specialized However, some algorithms and data structures require specialized

View File

@ -4,7 +4,7 @@
A point set traits class has to provide some primitives that are used by the point set class. A point set traits class has to provide some primitives that are used by the point set class.
The following catalog lists the involved primitives. The following catalog lists the involved primitives.
For details about these types see the Kernel traits documentation. For details about these types see the %Kernel traits documentation.
*/ */

View File

@ -4,7 +4,7 @@
A point set traits class has to provide some primitives that are used by the point set class. A point set traits class has to provide some primitives that are used by the point set class.
The following catalog lists the involved primitives. The following catalog lists the involved primitives.
For details about these types see the Kernel traits documentation. For details about these types see the %Kernel traits documentation.
\ccCreationVariable{ps_traits} \ccCreationVariable{ps_traits}
\ccTypes \ccTypes

View File

@ -38,7 +38,7 @@ typedef CartesianIterator Cartesian_const_iterator_d;
/*! /*!
A functor with A functor with
two function operators, which return the begin and past the end iterator for the Cartesian coordinates. two function operators, which return the begin and past the end iterator for the %Cartesian coordinates.
The functor for begin has as argument a `Point_d`. The functor for the past the end iterator, The functor for begin has as argument a `Point_d`. The functor for the past the end iterator,
has as argument a `Point_d` and an `int`. has as argument a `Point_d` and an `int`.
*/ */