Downsize headings

This commit is contained in:
Andreas Fabri 2012-09-17 14:53:05 +00:00
parent c5d9b86882
commit 6f61e2b2ee
262 changed files with 554 additions and 1150 deletions

1
.gitignore vendored
View File

@ -106,7 +106,6 @@ Circular_kernel_3/test/Circular_kernel_3/test_Spherical_kernel_basics
Circular_kernel_3/test/Circular_kernel_3/test_Spherical_kernel_with_core
Distance_3/include
Documentation/log
Documentation/log/*
Documentation/output
Documentation/tags/*.*
Generator/examples/Generator/CMakeLists.txt

View File

@ -7,8 +7,7 @@ The concept `AABBPrimitive` describes the requirements for the primitives stored
\sa `AABB_tree<AT>`
Example
--------------
### Example ###
The `Primitive` type can be, e.g., a wrapper around a `Handle`. Assume for instance that the input objects are the triangle faces of a mesh stored as a `CGAL::Polyhedron`. The `Datum` would be a `Triangle_3` and the `Id` would be a polyhedron `Face_handle`. Method `datum()` can return either a `Triangle_3` constructed on the fly from the face handle or a `Triangle_3` stored internally. This provides a way for the user to trade memory for efficiency.

View File

@ -20,8 +20,7 @@ Moreover, `CGAL::Algebraic_structure_traits< EuclideanRing >` is a model of
- `CGAL::Algebraic_structure_traits< EuclideanRing >::Div_mod`
Remarks
--------------
### Remarks ###
The most prominent example of a Euclidean ring are the integers.
Whenever both \f$ x\f$ and \f$ y\f$ are positive, then it is conventional to choose

View File

@ -16,8 +16,7 @@ and the \f$ k\f$-dimensional faces of the triangulation.
Note that this class is at the same time used for <I>basic</I> and
for <I>weighted</I> Alpha Shapes.
Parameters
--------------
### Parameters ###
The template parameter `Dt` has to be either `Delaunay_triangulation_2` or `Regular_triangulation_2`.
Note that `DT::Geom_traits`, `DT::Vertex` and `DT::Face` must model the concepts `AlphaShapeTraits_2`,
@ -30,8 +29,7 @@ kernel. By default the `ExactAlphaComparisonTag` is set to `CGAL::Tag_false` as
overhead. Note that since such a strategy does not make sense if used together with a traits class with exact constructions,
the tag `ExactAlphaComparisonTag` is not taken into account if `Dt::Geom_traits::FT` is not a floating point number type.
Inherits From
--------------
### Inherits From ###
Inherits from `Dt`.
@ -40,14 +38,12 @@ This class is the underlying triangulation class.
The modifying functions `insert` and `remove` will overwrite
the inherited functions. At the moment, only the static version is implemented.
I/O
--------------
### I/O ###
The I/O operators are defined for `std::iostream`. The format for the iostream
is an internal format.
Implementation
--------------
### Implementation ###
The set of intervals associated with the
\f$ k\f$-dimensional faces of the underlying triangulation are

View File

@ -6,8 +6,7 @@ namespace CGAL {
The class `Alpha_shape_face_base_2` is the default model for the concept `AlphaShapeFace_2`.
Parameters
--------------
### Parameters ###
The template parameter `Traits` has to be a model of `AlphaShapeTraits_2`.

View File

@ -7,8 +7,7 @@ namespace CGAL {
The class `Alpha_shape_vertex_base_2` is the default model for the concept
`AlphaShapeVertex_2`.
Parameters
--------------
### Parameters ###
The template parameter `Traits` has to be a model of `AlphaShapeTraits_2`.

View File

@ -19,8 +19,7 @@ the tag `ExactAlphaComparisonTag` is not taken into account if `Dt::Geom_traits:
Note that this class is at the same time used for <I>basic</I> and
for <I>weighted</I> Alpha Shapes.
Inherits From
--------------
### Inherits From ###
Inherits from `Dt`.
@ -29,15 +28,13 @@ This class is the underlying triangulation class.
The modifying functions `insert` and `remove` will overwrite
the inherited functions. At the moment, only the static version is implemented.
I/O
--------------
### I/O ###
The I/O operators are defined for `iostream`, and for
the window stream provided by \cgal. The format for the iostream
is an internal format.
Implementation
--------------
### Implementation ###
In GENERAL mode, the alpha intervals of each triangulation
face is computed and stored at initialization time.

View File

@ -15,8 +15,7 @@ a classification that specifies its status in the alpha complex, alpha being fix
Note that this class can be used at the same time to build a <I>basic</I> or
a <I>weighted</I> Alpha Shape.
Inherits From
--------------
### Inherits From ###
Inherits from `Dt`.
@ -25,8 +24,7 @@ This class is the underlying triangulation class.
The modifying functions `insert` and `remove` will overwrite
the inherited functions.
I/O
--------------
### I/O ###
The I/O operators are defined for `iostream`, and for
the window stream provided by \cgal. The format for the iostream

View File

@ -13,15 +13,13 @@ The second template argument defaults to
`CGAL::Triangulation_data_structure_2< CGAL::Apollonius_graph_vertex_base_2<Gt,true>, CGAL::Triangulation_face_base_2<Gt> >`.
\models ::DelaunayGraph_2
Traversal of the Apollonius Graph
--------------
### Traversal of the Apollonius Graph ###
An Apollonius graph can be seen as a container of faces and vertices.
Therefore the Apollonius graph provides several iterators and
circulators that allow to traverse it (completely or partially).
Traversal of the Convex Hull
----------------------------
### Traversal of the Convex Hull ###
Applied on the `infinite_vertex` the `incident_*` functions allow to
visit the vertices on the convex hull and the infinite edges and

View File

@ -38,8 +38,7 @@ The `Apollonius_graph_hierarchy_2` class derives publicly from the
the same with its base class. In the sequel only the methods
overridden are documented.
Types
--------------
### Types ###
`Apollonius_graph_hierarchy_2` does not introduce other types than those introduced by
its base class `Apollonius_graph_2<Gt,Agds>`.

View File

@ -10,14 +10,12 @@ The class `Apollonius_site_2` is a model for the concept
\models ::ApolloniusSite_2
Types
--------------
### Types ###
The class `Apollonius_site_2` does not introduce any types in addition to the
concept `ApolloniusSite_2`.
I/O
--------------
### I/O ###
The I/O operators are defined for `iostream`.

View File

@ -14,8 +14,7 @@ next and previous level graphs.
\refines ::ApolloniusGraphVertexBase_2
Types
--------------
### Types ###
`ApolloniusGraphHierarchyVertexBase_2` does not introduce any
types in addition to those of `ApolloniusGraphVertexBase_2`.

View File

@ -14,8 +14,7 @@ pairs in the output sequence are sorted in increasing \f$ xy\f$-lexicographical
order of the query points. The function returns a past-the-end iterator of
the output sequence.
Requirements
--------------
### Requirements ###
<UL>
<LI>`InputIterator::value_type` must be `Traits::Point_2`.

View File

@ -77,8 +77,7 @@ supports the merging of curves of opposite directions.
\models ::ArrangementLandmarkTraits_2
\models ::ArrangementDirectionalXMonotoneTraits_2
Types
--------------
### Types ###
*/

View File

@ -53,8 +53,7 @@ is associated with the output of this functor.
\models ::ArrangementTraits_2
Inherits From
--------------
### Inherits From ###
CONVERROR Inherits From must be handled manually, e.g. adjust the class decl`Base_traits_2`

View File

@ -35,8 +35,7 @@ The default values follow:
\models ::ArrangementDcelWithRebind
Inherits From
--------------
### Inherits From ###
CONVERROR Inherits From must be handled manually, e.g. adjust the class decl
<TABLE><TR><TD ALIGN=LEFT VALIGN=TOP NOWRAP>

View File

@ -6,8 +6,7 @@ namespace CGAL {
The function `read` reads a given arrangement from a given input stream
using a specific input format.
Requirements
--------------
### Requirements ###
<UL>
<LI>The instantiated `Formatter` class must model the
@ -44,8 +43,7 @@ std::istream& read (Arrangement_2<Traits,Dcel>& arr,
The function `write` writes a given arrangement into a given output stream
using a specific output format.
Requirements
--------------
### Requirements ###
<UL>
<LI>The instantiated `Formatter` class must model the

View File

@ -36,8 +36,7 @@ supports the merging of curves of opposite directions.
\models ::ArrangementLandmarkTraits_2
\models ::ArrangementDirectionalXMonotoneTraits_2
Inherits From
--------------
### Inherits From ###
CONVERROR Inherits From must be handled manually, e.g. adjust the class decl`Arr_non_caching_segment_basic_traits_2<Kernel>`

View File

@ -42,8 +42,7 @@ is no feature above it.
</UL>
The function returns a past-the-end iterator for its output sequence.
Requirements
--------------
### Requirements ###
`OutputIterator::value_type` must be
`pair<Arrangement_2::Vertex_const_handle, pair<Object, Object> >`.

View File

@ -102,10 +102,8 @@ requires a number type `ET` that provides <I>exact</I> arithmetic.
(Both these aspects are discussed in the documentation of the concept
`ApproximateMinEllipsoid_d_Traits_d`.)
Requirements
--------------
The template parameter `Traits` is a model for
\tparam Traits must be a model for
`ApproximateMinEllipsoid_d_Traits_d`.
We provide the model

View File

@ -11,12 +11,9 @@ an exact number-type `ET` has to be provided which
`Approximate_min_ellipsoid_d<Traits>` will use for its internal
exact computations.
Requirements
--------------
\tparam K must be a model for concept `Kernel`.
The template parameter `K` must be a model for concept
`Kernel`. The template parameter `ET` must be a model for concept
`RingNumberType` with exact arithmetic operations, i.e., the type
\tparam ET must be a model for concept `RingNumberType` with exact arithmetic operations, i.e., the type
`CGAL::Number_type_traits<ET>::Has_exact_ring_operations` must be
`CGAL::Tag_true`. In addition, `ET` must be able to exactly
represent any finite `double` value. (Examples of such a

View File

@ -11,11 +11,9 @@ an exact number-type `ET` has to be provided which
`Approximate_min_ellipsoid_d<Traits>` will use for its internal
exact computations.
Requirements
--------------
\tparam K must be a model for `Kernel`.
The template parameter `K` must be a model for concept
`Kernel`. The template parameter `ET` must be a model for concept
\tparam ET must be a model for concept
`RingNumberType` with exact arithmetic operations, i.e., the type
`CGAL::Number_type_traits<ET>::Has_exact_ring_operations` must be
`CGAL::Tag_true`. In addition, `ET` must be able to exactly

View File

@ -11,11 +11,8 @@ an exact number-type `ET` has to be provided which
`Approximate_min_ellipsoid_d<Traits>` will use for its internal
exact computations.
Requirements
--------------
The template parameter `K` must be a model for concept
`Kernel`. The template parameter `ET` must be a model for concept
\tparam K must be a model for concept `Kernel`.
\tparam `ET` must be a model for concept
`RingNumberType` with exact arithmetic operations, i.e., the type
`CGAL::Number_type_traits<ET>::Has_exact_ring_operations` must be
`CGAL::Tag_true`. In addition, `ET` must be able to exactly

View File

@ -24,10 +24,7 @@ The underlying algorithm can cope with all kinds of input, e.g. \f$ P\f$ may be
empty or points may occur more than once. The algorithm computes a support
set \f$ S\f$ which remains fixed until the next set, insert, or clear operation.
Requirements
--------------
The template parameter `Traits` is a model for `OptimisationDTraits`.
\tparam Traits must be a model for `OptimisationDTraits`.
We provide the models `Optimisation_d_traits_2`,
`Optimisation_d_traits_3`, and `Optimisation_d_traits_d` using the
@ -39,8 +36,7 @@ two-, three-, and \f$ d\f$-dimensional \cgal kernel, respectively.
\sa `CGAL::Optimisation_d_traits_d<K,ET,NT>`
\sa `OptimisationDTraits`
Implementation
--------------
### Implementation ###
The problem of finding the smallest enclosing annulus of a finite point set
can be formulated as an optimization problem with linear constraints and a
@ -272,8 +268,7 @@ FT squared_outer_radius( ) const;
returns an iterator referring to the first coordinate
of the center of `min_annulus`.
Note
--------------
### Note ###
The coordinates have a rational
representation, i.e. the first \f$ d\f$ elements of the iterator

View File

@ -38,10 +38,8 @@ case the algorithm is division-free. Thus, `Min_circle_2` might still
be an option in case your input number type cannot (efficiently)
divide.
Requirements
--------------
The template parameter `Traits` is a model for `MinCircle2Traits`.
\tparam Traits must be a model for `MinCircle2Traits`.
We provide the model `CGAL::Min_circle_2_traits_2` using the
two-dimensional \cgal kernel.

View File

@ -7,10 +7,7 @@ namespace CGAL {
The class `Min_circle_2_traits_2` is a traits class for `Min_circle_2<Traits>`
using the two-dimensional \cgal kernel.
Requirements
--------------
The template parameter `K` is a model for `Kernel`.
\tparam K must be a model for `Kernel`.
\models ::MinCircle2Traits

View File

@ -23,10 +23,7 @@ The underlying algorithm can cope with all kinds of input, e.g. \f$ P\f$ may be
empty or points may occur more than once. The algorithm computes a support
set \f$ S\f$ which remains fixed until the next insert or clear operation.
Requirements
--------------
The template parameter `Traits` is a model for `MinEllipse2Traits`.
\tparam Traits must be a model for `MinEllipse2Traits`.
We provide the model `CGAL::Min_ellipse_2_traits_2<K>` using the
two-dimensional \cgal kernel.
@ -35,8 +32,7 @@ two-dimensional \cgal kernel.
\sa `CGAL::Min_ellipse_2_traits_2<K>`
\sa `MinEllipse2Traits`
Implementation
--------------
### Implementation ###
We implement the incremental algorithm of Welzl, with move-to-front
heuristic \cite w-sedbe-91a, using the primitives as described
@ -50,8 +46,7 @@ take up to linear time, but substantially less than computing the new
smallest enclosing ellipse from scratch. The clear operation and the check
for validity each takes linear time.
Example
--------------
### Example ###
To illustrate the usage of `Min_ellipse_2` and to show that randomization
can be useful in certain cases, we give an example. The example also

View File

@ -7,10 +7,7 @@ namespace CGAL {
The class `Min_ellipse_2_traits_2` is a traits class for `CGAL::Min_ellipse_2<Traits>`
using the two-di-men-sional \cgal kernel.
Requirements
--------------
The template parameter `K` is a model for `Kernel`.
The template parameter `K` must be a model for `Kernel`.
\models ::MinEllipse2Traits

View File

@ -8,11 +8,7 @@ The class `Min_quadrilateral_default_traits_2` is a traits class for the
functions `min_rectangle_2`, `min_parallelogram_2` and
`min_strip_2` using a two-dimensional \cgal kernel.
Requirements
--------------
The template parameter `K` is a model for
`Kernel`.
\tparam K must be a model for `Kernel`.
\models ::MinQuadrilateralTraits_2

View File

@ -7,13 +7,8 @@ namespace CGAL {
The class `Min_sphere_annulus_d_traits_2` is a traits class for the \f$ d\f$-dimensional
optimisation algorithms using the two-dimensional \cgal kernel.
Requirements
--------------
The template parameter `K` is a model for `Kernel`. Template
parameters `ET` and `NT` are models for `RingNumberType`.
The second and third template parameter have default type `K::RT`.
\tparam K must bea model for `Kernel`.
\tparam ET NT are models for `RingNumberType`. Their default type is `K::RT`.
\models ::MinSphereAnnulusDTraits

View File

@ -7,13 +7,8 @@ namespace CGAL {
The class `Min_sphere_annulus_d_traits_3` is a traits class for the \f$ d\f$-dimensional
optimisation algorithms using the three-dimensional \cgal kernel.
Requirements
--------------
The template parameter `K` is a model for `Kernel`. Template
parameters `ET` and `NT` are models for `RingNumberType`.
The second and third template parameter have default type `K::RT`.
\tparam K must be a model for `Kernel`.
\tparam ET NT are models for `RingNumberType`. Their default type is `K::RT`.
\models ::MinSphereAnnulusDTraits

View File

@ -7,13 +7,8 @@ namespace CGAL {
The class `Min_sphere_annulus_d_traits_d` is a traits class for the \f$ d\f$-dimensional
optimisation algorithms using the \f$ d\f$-dimensional \cgal kernel.
Requirements
--------------
The template parameter `K` is a model for `Kernel`. Template
parameters `ET` and `NT` are models for `RingNumberType`.
The second and third template parameter have default type `K::RT`.
\tparam K must be a model for `Kernel`.
\tparam ET NT are models for `RingNumberType`. Their default type is `K::RT`.
\models ::MinSphereAnnulusDTraits

View File

@ -36,11 +36,10 @@ case the algorithm is division-free. Thus, `Min_sphere_d` might still
be an option in case your input number type cannot (efficiently)
divide.
Requirements
--------------
The class `Min_sphere_d` expects a model of the concept
\tparam Traits must be a model of the concept
`OptimisationDTraits` as its template argument.
We provide the models `CGAL::Optimisation_d_traits_2`,
`CGAL::Optimisation_d_traits_3` and
`CGAL::Optimisation_d_traits_d`
@ -54,8 +53,7 @@ for two-, three-, and \f$ d\f$-dimensional points respectively.
\sa `CGAL::Min_sphere_of_spheres_d<Traits>`
\sa `CGAL::Min_annulus_d<Traits>`
Implementation
--------------
### Implementation ###
We implement the algorithm of Welzl with move-to-front
heuristic \cite w-sedbe-91a for small point sets, combined with a new
@ -68,8 +66,7 @@ but substantially less than computing the new smallest enclosing
sphere from scratch. The clear operation and the check for validity
each take linear time.
Example
--------------
### Example ###
\cgalexample{min_sphere_d.cpp}
@ -129,7 +126,7 @@ Min_sphere_d (const Traits& traits = Traits());
creates a variable `min_sphere` of type `Min_sphere_d`.
It is initialized to \f$ ms(P)\f$ with \f$ P\f$ being the set of points
in the range [`first`,`last`).
\require The value type of `first` and `last` is `Point`. If the traits parameter is not supplied, the class `Traits` must provide a default constructor. \pre All points have the same dimension.
\requires The value type of `first` and `last` is `Point`. If the traits parameter is not supplied, the class `Traits` must provide a default constructor. \pre All points have the same dimension.
*/
template < class InputIterator >
Min_sphere_d( InputIterator first,
@ -262,7 +259,7 @@ void clear ();
sets `min_sphere` to the \f$ ms(P)\f$, where \f$ P\f$ is the set of points
in the range [`first`,`last`).
\require The value type of `first` and `last` is `Point`.
\requires The value type of `first` and `last` is `Point`.
\pre All points have the same dimension.
*/
template < class InputIterator >
@ -284,7 +281,7 @@ void insert( const Point& p);
inserts the points in the range [`first`,`last`)
into `min_sphere` and recomputes the smallest enclosing sphere, by
calling `insert` for all points in the range.
\require The value type of `first` and `last` is `Point`.
\requires The value type of `first` and `last` is `Point`.
\pre All points have the same dimension. If `min_sphere` is not empty, this dimension must be equal to `ambient_dimension()`.
*/
template < class InputIterator >
@ -334,7 +331,7 @@ const Traits& traits( ) const;
/*!
writes `min_sphere` to output stream `os`.
\require The output operator is defined for `Point`.
\requires The output operator is defined for `Point`.
\relates Min_sphere_d
*/
std::ostream& operator << ( std::ostream& os,
@ -344,7 +341,7 @@ min_sphere);
/*!
reads `min_sphere` from input stream `is`.
\require The input operator is defined for `Point`.
\requires The input operator is defined for `Point`.
\relates Min_sphere_d
*/
std::istream& operator >> ( std::istream& is,

View File

@ -10,23 +10,23 @@ type `Point_2` to represent circles.
\models ::MinSphereOfSpheresTraits
\name Parameters
The last two template parameters, `UseSqrt` and `Algorithm`, have
default arguments, namely `CGAL::Tag_false` and
`CGAL::Default_algorithm`, respectively. The template parameters
of class `Min_sphere_of_points_d_traits_2<K,FT,UseSqrt,Algorithm>`
must fulfill the following requirements:
\tparam K is a model for `Kernel`.
\tparam K must be a model for `Kernel`.
\tparam FT is a number type, which fulfills the requirements of
type `FT` of concept `MinSphereOfSpheresTraits`: It must be
either `double` or `float`, or an exact number type.
\tparam UseSqrt fulfills the
requirements of type `Use_square_roots` of concept
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`.
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`,
and it is by default `CGAL::Tag_false`.
\tparam Algorithm fulfills the requirements of type `Algorithm` of
concept `MinSphereOfSpheresTraits`: It must be either
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`.
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`,
and it is by default `CGAL::Default_algorithm`.
*/
template< typename K, typename FT, typename UseSqrt, typename Algorithm >

View File

@ -10,25 +10,22 @@ a model for concept `MinSphereOfSpheresTraits`. It uses the
\models ::MinSphereOfSpheresTraits
Parameters
----------
The last two template parameters, `UseSqrt` and `Algorithm`, have
default arguments, namely `CGAL::Tag_false` and
`CGAL::Default_algorithm`, respectively. The template parameters
of class `Min_sphere_of_points_d_traits_2<K,FT,UseSqrt,Algorithm>`
must fulfill the following requirements:
\tparam K is a model for `Kernel`.
\tparam FT is a number type, which fulfills the requirements of
type `FT` of concept `MinSphereOfSpheresTraits`: It must be
either `double` or `float`, or an exact number type.
\tparam UseSqrt fulfills the
requirements of type `Use_square_roots` of concept
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`.
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`,
and its default is `Tag_false`.
\tparam Algorithm fulfills the requirements of type `Algorithm` of
concept `MinSphereOfSpheresTraits`: It must be either
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`.
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`,
and its default is `Default_algorithm`.
*/
template< typename K, typename FT, typename Dim, typename UseSqrt, typename Algorithm >

View File

@ -64,17 +64,13 @@ algorithm is division-free. Thus, `CGAL::Min_sphere_d<Traits>`
might still be an option in case your input number type cannot
(efficiently) divide.
Requirements
--------------
The class `Min_sphere_of_spheres_d` expects a model of the concept
\tparam Traits must be a model of the concept
`MinSphereOfSpheresTraits` as its template argument.
\sa `CGAL::Min_sphere_d<Traits>`
\sa `CGAL::Min_circle_2<Traits>`
Implementation
--------------
### Implementation ###
We implement two algorithms, the LP-algorithm and a
heuristic \cite msw-sblp-92. As described in the documentation of
@ -97,8 +93,7 @@ not supported at this time. Also, the current implementation only
handles spheres with Cartesian coordinates; homogenous representation
is not supported yet.
Example
--------------
### Example ###
\cgalexample{min_sphere_of_spheres_d_d.cpp}
@ -181,7 +176,7 @@ creates a variable `minsphere` of type
`Min_sphere_of_spheres_d` and inserts (cf.
`insert()`) the spheres from
the range [`first`,`last`).
\require The value type of `first` and `last` is `Sphere`. If the traits parameter is not supplied, the class `Traits` must provide a default constructor.
\requires The value type of `first` and `last` is `Sphere`. If the traits parameter is not supplied, the class `Traits` must provide a default constructor.
*/
template < typename InputIterator >
Min_sphere_of_spheres_d( InputIterator first,
@ -269,7 +264,7 @@ void clear ();
sets `minsphere` to
the \f$ ms(S)\f$, where \f$ S\f$ is the set of spheres in the range
[`first`,`last`).
\require The value type of `first` and `last` is `Sphere`.
\requires The value type of `first` and `last` is `Sphere`.
*/
template < class InputIterator > void
set( InputIterator first, InputIterator last );
@ -284,7 +279,7 @@ void insert( const Sphere& s );
inserts the spheres in
the range [`first`,`last`) into the set \f$ S\f$ of instance
`minsphere`.
\require The value type of `first` and `last` is `Sphere`.
\requires The value type of `first` and `last` is `Sphere`.
*/
template < class InputIterator > void insert(
InputIterator first, InputIterator last );

View File

@ -10,8 +10,6 @@ type `Point_2` to represent circles.
\models ::MinSphereOfSpheresTraits
Parameters
----------
The last two template parameters, `UseSqrt` and `Algorithm`, have
default arguments, namely `CGAL::Tag_false` and
@ -19,16 +17,21 @@ default arguments, namely `CGAL::Tag_false` and
of class `Min_sphere_of_points_d_traits_2<K,FT,UseSqrt,Algorithm>`
must fulfill the following requirements:
\tparam K is a model for `Kernel`.
\tparam K must be a model for `Kernel`.
\tparam FT is a number type, which fulfills the requirements of
type `FT` of concept `MinSphereOfSpheresTraits`: It must be
either `double` or `float`, or an exact number type.
\tparam UseSqrt fulfills the
requirements of type `Use_square_roots` of concept
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`.
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`,
and its default is `Tag_false`.
\tparam Algorithm fulfills the requirements of type `Algorithm` of
concept `MinSphereOfSpheresTraits`: It must be either
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`.
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`,
and its default is `Default_algorithm`.
*/
template< typename K, typename FT, typename UseSqrt, typename Algorithm >
class Min_sphere_of_spheres_d_traits_2 {

View File

@ -10,22 +10,20 @@ type `Point_3` to represent circles.
\models ::MinSphereOfSpheresTraits
Parameters
----------
The last two template parameters, `UseSqrt` and `Algorithm`, have
default arguments, namely `CGAL::Tag_false` and
`CGAL::Default_algorithm`, respectively.
\tparam K must be a model for `Kernel`.
\tparam K is a model for `Kernel`.
\tparam FT is a number type, which fulfills the requirements of
type `FT` of concept `MinSphereOfSpheresTraits`: It must be
either `double` or `float`, or an exact number type.
\tparam UseSqrt fulfills the
requirements of type `Use_square_roots` of concept
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`.
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`,
and it defaults to `Tag_false`.
\tparam Algorithm fulfills the requirements of type
`Algorithm` of concept `MinSphereOfSpheresTraits`: It must be either `Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`.
`Algorithm` of concept `MinSphereOfSpheresTraits`: It must be either `Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`, and it defaults to `Default_algorithm`.
*/
template< typename K, typename FT, typename UseSqrt, typename Algorithm >

View File

@ -10,25 +10,22 @@ a model for concept `MinSphereOfSpheresTraits`. It uses the
\models ::MinSphereOfSpheresTraits
Parameters
----------
The last two template parameters, `UseSqrt` and `Algorithm`, have
default arguments, namely `CGAL::Tag_false` and
`CGAL::Default_algorithm`, respectively. The template parameters
of class `Min_sphere_of_points_d_traits_2<K,FT,UseSqrt,Algorithm>`
must fulfill the following requirements:
\tparam K is a model for `Kernel`.
\tparam FT is a number type, which fulfills the requirements of
type `FT` of concept `MinSphereOfSpheresTraits`: It must be
either `double` or `float`, or an exact number type.
\tparam UseSqrt fulfills the
requirements of type `Use_square_roots` of concept
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`.
`MinSphereOfSpheresTraits`: It must be either `Tag_true` or `Tag_false`
and it defaults to `Tag_false`.
\tparam Algorithm fulfills the requirements of type `Algorithm` of
concept `MinSphereOfSpheresTraits`: It must be either
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`.
`Default_algorithm`, `LP_algorithm` or `Farthest_first_heuristic`,
and it defaults to `Default_algorithm`.
*/
template< typename K, typename FT, typename Dim, typename UseSqrt, typename Algorithm >

View File

@ -184,15 +184,13 @@ is `CGAL::Point_2<K>` for some kernel `K`.
\sa `MinQuadrilateralTraits_2`
\sa `CGAL::Min_quadrilateral_default_traits_2<K>`
Implementation
--------------
### Implementation ###
We use a rotating caliper
algorithm \cite t-sgprc-83
with worst case running time linear in the number of input points.
Example
--------------
### Example ###
The following code generates a random convex polygon
`P` with 20 vertices and computes the minimum enclosing

View File

@ -7,11 +7,8 @@ The class `Rectangular_p_center_default_traits_2` defines types and operations
needed to compute rectilinear \f$ p\f$-centers of a planar point set
using the function `rectangular_p_center_2`.
Requirements
--------------
The template parameter `K` is a model for
`Kernel`.
\tparam K must be a model for `Kernel`.
\models ::RectangularPCenterTraits_2
@ -245,8 +242,7 @@ is a model for `RectangularPCenterTraits_2`.
\sa `CGAL::Rectangular_p_center_default_traits_2<K>`
\sa `CGAL::sorted_matrix_search`
Implementation
--------------
### Implementation ###
The runtime is linear for \f$ p \in \{2,\,3\}\f$ and
\f$ \mathcal{O}(n \cdot \log n)\f$ for \f$ p = 4\f$ where \f$ n\f$ is the number of
@ -256,8 +252,7 @@ algorithm uses a prune-and-search technique described in
search \cite fj-fkppc-83, \cite fj-gsrsm-84 and fast algorithms for
piercing rectangles \cite sw-rpppp-96.
Example
--------------
### Example ###
The following code generates a random set of ten points
and computes its two-centers.

View File

@ -16,15 +16,13 @@ The only function that needs to be defined in a derived class is
the name of the function suggests that the ipelet may throw exceptions that
will be caught by a function of the class `Ipelet_base` avoiding Ipe to crash.
Parameters
--------------
### Parameters ###
The `Kernel` template parameter determines the kernel that will be used
in the ipelet. This parameter must be set according to the algorithm to be used.
The integer `nbf` indicates the number of functions defined by the ipelet.
Readable and Drawable Object
----------------------------
### Readable and Drawable Object ###
The set of `read objects` is defined as the set of objects of type
`Point_2`, `Segment_2`, `Polygon_2`, `Circular_arc_2` or

View File

@ -194,13 +194,11 @@ requirements for container (i.e.\ to have a `begin()` and an
`reference`, `const_reference`, `value_type`,
`size_type`, and `difference_type`).
Types
--------------
### Types ###
All types required for circulators are provided.
Operations
--------------
### Operations ###
The adaptor conforms to the requirements of the corresponding
circulator category. An additional member function
@ -211,8 +209,7 @@ the same position as the circulator does.
\sa `Circulator_from_iterator`
\sa `Circulator`
Example
--------------
### Example ###
The following program composes two adaptors - from a container to a
circulator and back to an iterator. It applies an \stl sort algorithm
@ -270,8 +267,7 @@ category. The circulator will be mutable or non-mutable according to
the iterator. Iterators provide no `size_type`. This adapter
assumes `std::size_t` instead.
Operations
--------------
### Operations ###
The adaptor conforms to the requirements of the respective circulator
category. An additional member function `current_iterator()`
@ -282,8 +278,7 @@ circulator does.
\sa `Circulator_from_container`
\sa `Circulator`
Example
--------------
### Example ###
The following program composes two adaptors - from an iterator to a
circulator and back to an iterator. It applies an \stl sort algorithm
@ -393,8 +388,7 @@ circulator category for iterators, i.e.\ one of
`Forward_circulator_tag`, `Bidirectional_circulator_tag`, or
`Random_access_circulator_tag`.
Example
--------------
### Example ###
A generic function `bar` that distinguishes between a call with a
circulator range and a call with an iterator range:
@ -466,8 +460,7 @@ otherwise.
\sa `Circulator_from_container`
\sa `Circulator`
Example
--------------
### Example ###
The generic <TT>reverse()</TT> algorithm from the \stl can be used with an
adaptor if at least a bidirectional circulator <TT>c</TT> is given.
@ -480,8 +473,7 @@ reverse( container.begin(), container.end());
\endcode
Implementation
--------------
### Implementation ###
The iterator adaptor keeps track of the number of rounds a circulator
has done around the ring-like data structure (a kind of winding
@ -634,8 +626,7 @@ the range is empty or not.
\pre `IC` is either a circulator or an iterator type. The range [`i, j`) is valid.
Example
--------------
### Example ###
The following function `process_all` accepts a range \f$ \left[i,
j\right)\f$ of an iterator or circulator `IC` and processes each

View File

@ -18,8 +18,7 @@ To use the tags or base classes only it is sufficient to include:
\sa `is_empty_range`
\sa `Circulator`
Example
--------------
### Example ###
The above declarations can be used to distinguish between iterators
and circulators and between different circulator categories. The
@ -29,8 +28,7 @@ example program illustrates both.
\cgalexample{circulator_prog3.cpp}
Implementation
--------------
### Implementation ###
Since not all current compilers can eliminate the space needed for the
compile time tags even when deriving from them, we implement a variant

View File

@ -12,8 +12,7 @@ In this class, no attribute is enabled.
\models ::CombinatorialMapItems
Example
--------------
### Example ###
The following example shows the implementation of the
`CGAL::Combinatorial_map_min_items` class.

View File

@ -13,15 +13,11 @@ non void <I>i</I>-attribute.
\models ::Dart
Parameters
--------------
\tparam d an integer for the dimension of the dart.
`d` an integer for the dimension of the dart.
\tparam CMap must be a model of the `CombinatorialMap` concept.
`CMap` must be a model of the `CombinatorialMap` concept.
Complexity
--------------
###Complexity ###
Each \f$ \beta_i\f$ link is initialized to `CMap::null_dart_handle`, and each
attribute handle of non void <I>i</I>-attribute is initialized to `NULL`

View File

@ -9,8 +9,7 @@ attributes. For that, it defines an inner class template named
of the `CombinatorialMap` concept. This inner class must define
two types: `Dart` and `Attributes`.
Example
--------------
### Example ###
The following examples show two possible models of the
`CombinatorialMapItems` concept: the first one for a 4D

View File

@ -8,8 +8,7 @@ stores handles to the darts linked with itself by \f$ \beta_i\f$, \f$ \forall\f$
0\f$ \leq\f$<I>i</I>\f$ \leq\f$<I>d</I>. Moreover, it stores also handles to each
non void attribute associated with itself.
Creation
--------------
### Creation ###
A dart `d0` is never constructed directly, but always created
within a combinatorial map `cm` by using the method

View File

@ -13,8 +13,7 @@ cyclic sequence of extreme points is cut into a linear sequence.
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`ForwardIterator::value_type` and
@ -39,8 +38,7 @@ functions that return instances of these types:
\sa `CGAL::ch_melkman`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
This function uses the algorithm of Akl and
Toussaint \cite at-fcha-78 that requires \f$ O(n \log n)\f$ time for \f$ n\f$ input

View File

@ -14,8 +14,7 @@ cyclic sequence of extreme points is cut into a linear sequence.
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and
@ -40,8 +39,7 @@ functions that return instances of these types:
\sa `CGAL::ch_melkman`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
This function implements the non-recursive variation of
Eddy's algorithm \cite e-nchap-77 described in \cite b-chfsp-78.

View File

@ -14,8 +14,7 @@ cyclic sequence of extreme points is cut into a linear sequence.
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and
@ -40,8 +39,7 @@ functions that return instances of these types:
\sa `CGAL::ch_melkman`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
This function implements Eddy's algorithm
\cite e-nchap-77, which is the two-dimensional version of the quickhull

View File

@ -15,8 +15,7 @@ cyclic sequence of extreme points is cut into a linear sequence.
The default traits class `Default_traits` is the kernel in which the
type `InputIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and
@ -43,8 +42,7 @@ functions that return instances of these types:
\sa `CGAL::lower_hull_points_2`
\sa `CGAL::upper_hull_points_2`
Implementation
--------------
### Implementation ###
This function implements Andrew's variant of the Graham
scan algorithm \cite a-aeach-79 and follows the presentation of Mehlhorn
@ -74,8 +72,7 @@ by the first and last points in this sequence.
The default traits class `Default_traits` is the kernel in which the
type `BidirectionalIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`BidirectionalIterator::value_type` and
@ -94,15 +91,13 @@ functions that return instances of these types:
\sa `CGAL::lower_hull_points_2`
\sa `CGAL::upper_hull_points_2`
Implementation
--------------
### Implementation ###
The function uses Andrew's
variant of the Graham scan algorithm \cite a-aeach-79. This algorithm
requires \f$ O(n \log n)\f$ time in the worst case for \f$ n\f$ input points.
Example
--------------
### Example ###
In the following example `::ch_graham_andrew_scan` is used to
realize Anderson's variant \cite a-readc-78 of the Graham Scan

View File

@ -14,8 +14,7 @@ cyclic sequence of extreme points is cut into a linear sequence.
The default traits class `Default_traits` is the kernel in which the
type `InputIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and
@ -40,8 +39,7 @@ functions that return instances of these types:
\sa `CGAL::ch_melkman`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
This function uses the Jarvis march (gift-wrapping)
algorithm \cite j-ichfs-73. This algorithm requires \f$ O(n h)\f$ time
@ -69,8 +67,7 @@ points from a given set of input points that line between two input points.
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`ForwardIterator::value_type` and
@ -90,8 +87,7 @@ functions that return instances of these types:
\sa `CGAL::lower_hull_points_2`
\sa `CGAL::upper_hull_points_2`
Implementation
--------------
### Implementation ###
The function uses the Jarvis march (gift-wrapping) algorithm \cite j-ichfs-73.
This algorithm requires \f$ O(n h)\f$ time in the worst

View File

@ -13,8 +13,7 @@ the resulting sequence is returned.
The default traits class `Default_traits` is the kernel in which the
type `InputIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and `OutputIterator::value_type`
@ -38,8 +37,7 @@ functions that return instances of these types:
\sa `CGAL::ch_melkman`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
It uses an implementation of Melkman's algorithm \cite m-olcch-87.
Running time of this is linear.

View File

@ -14,8 +14,7 @@ After execution, the value of
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` defines a type `Traits::Less_xy_2` as described in
the concept `ConvexHullTraits_2` and the corresponding member
@ -54,8 +53,7 @@ After execution, the value of
The default traits class `Default_traits` is the kernel in which the type
`ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` defines the type `Traits::Less_yx_2` as specified in
the concept `ConvexHullTraits_2` and the corresponding member
@ -96,8 +94,7 @@ holds for all iterators in the range.
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` defines the type `Traits::Less_yx_2` as specified in
the concept `ConvexHullTraits_2` and the corresponding member
@ -140,8 +137,7 @@ After execution, the value of
\f$ \ge_{xy}\f$ `*it` hold for all iterators
`it` in the range.
Requirements
--------------
### Requirements ###
`Traits` contains the following subset of types from
the concept `ConvexHullTraits_2` and their corresponding member
@ -190,8 +186,7 @@ After execution, the value of
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` defines the type `Traits::Less_yx_2` as specified in
the concept `ConvexHullTraits_2` and the corresponding member
@ -232,8 +227,7 @@ holds for all iterators in the range.
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` defines the type `Traits::Less_xy_2` as specified in
the concept `ConvexHullTraits_2` and the corresponding member
@ -270,8 +264,7 @@ After execution, the value of
`w` is an iterator in the range such that `*w` \f$ \le_{xy}\f$
`*it` for all iterators `it` in the range.
Requirements
--------------
### Requirements ###
`Traits` defines the type `Traits::Less_xy_2` as specified in
the concept `ConvexHullTraits_2` and the corresponding member

View File

@ -17,8 +17,7 @@ cyclic sequence of extreme points is cut into a linear sequence.
The default traits class `Default_traits` is the kernel in which
the type `InputIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and `OutputIterator::value_type`
@ -43,8 +42,7 @@ functions that return instances of these types:
\sa `CGAL::ch_jarvis`
\sa `CGAL::ch_melkman`
Implementation
--------------
### Implementation ###
One of two algorithms is used,
depending on the type of iterator used to specify the input points. For
@ -91,8 +89,7 @@ The different treatment by `::upper_hull_points_2` of the case that
all points are equal ensures that concatenation of lower and upper hull
points gives the sequence of extreme points.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and `OutputIterator::value_type`
@ -113,8 +110,7 @@ functions that return instances of these types:
\sa `CGAL::ch_graham_andrew_scan`
\sa `CGAL::upper_hull_points_2`
Implementation
--------------
### Implementation ###
This function uses Andrew's variant of Graham's scan algorithm
\cite a-aeach-79, \cite m-mdscg-84. The algorithm has worst-case running time
@ -157,8 +153,7 @@ The different treatment by `::lower_hull_points_2` of the case that
all points are equal ensures that concatenation of lower and upper hull
points gives the sequence of extreme points.
Requirements
--------------
### Requirements ###
<OL>
<LI>`InputIterator::value_type` and `OutputIterator::value_type`
@ -179,8 +174,7 @@ functions that return instances of these types:
\sa `CGAL::ch_graham_andrew_scan`
\sa `CGAL::lower_hull_points_2`
Implementation
--------------
### Implementation ###
This function uses Andrew's
variant of Graham's scan algorithm \cite a-aeach-79, \cite m-mdscg-84. The algorithm

View File

@ -16,8 +16,7 @@ if it consists of only extreme points
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` contains the following subset of types from
the concept `ConvexHullTraits_2` and their corresponding member
@ -31,8 +30,7 @@ functions that return instances of these types:
\sa `CGAL::is_cw_strongly_convex_2`
\sa `CGAL::is_strongly_convex_3`
Implementation
--------------
### Implementation ###
The algorithm requires \f$ O(n)\f$ time for a set of \f$ n\f$ input points.
@ -67,8 +65,7 @@ if it consists of only extreme points
The default traits class `Default_traits` is the kernel in which the
type `ForwardIterator::value_type` is defined.
Requirements
--------------
### Requirements ###
`Traits` contains the following subset of types from
the concept `ConvexHullTraits_2` and their corresponding member
@ -82,8 +79,7 @@ functions that return instances of these types:
\sa `CGAL::is_ccw_strongly_convex_2`
\sa `CGAL::is_strongly_convex_3`
Implementation
--------------
### Implementation ###
The algorithm requires \f$ O(n)\f$ time for a set of \f$ n\f$ input points.

View File

@ -17,8 +17,7 @@ are available. The first can be used when it is known that the result
will be a polyhedron and the second when a degenerate hull
may also be possible.
Requirements
--------------
### Requirements ###
Both functions require the following:
<OL>
@ -50,14 +49,12 @@ then the default traits class of `::convex_hull_3` is `Convex_hull_traits_3<R>`,
\sa `CGAL::ch_eddy`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
The algorithm implemented by these functions is the quickhull algorithm of
Barnard <I>et al.</I> \cite bdh-qach-96.
Example
--------------
### Example ###
The following program computes the convex hull of a set of 250 random
points chosen from a sphere of radius 100. It then determines if the resulting

View File

@ -15,8 +15,7 @@ purposes. When an efficient incremental implementation is needed,
using `CGAL::Delaunay_triangulation_3` together with
`CGAL::convex_hull_3_to_polyhedron_3` is highly recommended.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Polyhedron` must provide a type `Polyhedron::Traits`
@ -34,8 +33,7 @@ the representation class `R` required by
\sa `CGAL::convex_hull_3`
\sa `CGAL::convex_hull_2`
Implementation
--------------
### Implementation ###
This function uses the \f$ d\f$-dimensional convex hull incremental construction
algorithm \cite cms-frric-93
@ -44,8 +42,7 @@ worst case and \f$ O(n \log n)\f$ expected time.
\sa `CGAL::Convex_hull_d<R>`
Example
--------------
### Example ###
The following example computes the convex hull of a set of 250 random
points chosen uniformly in a sphere of radius 100.

View File

@ -11,8 +11,7 @@ vertices of the convex hull).
The default traits class is the kernel in which the type
`Polyhedron_3::Point_3` is defined.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Polyhedron_3::Point_3` is equivalent to `Traits::Point_3`.
@ -37,8 +36,7 @@ the facet type must be `ConvexHullPolyhedronFacet_3`.
\sa `CGAL::is_ccw_strongly_convex_2`
\sa `CGAL::is_cw_strongly_convex_2`
Implementation
--------------
### Implementation ###
This function implements the tests described in \cite mnssssu-cgpvg-96 to
determine convexity and requires \f$ O(e + f)\f$ time for a polyhedron with

View File

@ -44,13 +44,11 @@ C.index_of_vertex_in_opposite_facet(f,i)`. Then `f =
C.opposite_facet(g,j)` and `i =
C.index_of_vertex_in_opposite_facet(g,j)`.
Requirements
--------------
### Requirements ###
`R` is a model of the concept `ConvexHullTraits_d`.
Iteration Statements
--------------
### Iteration Statements ###
<B>forall_ch_vertices</B>(\f$ v,C\f$) \f$ \{\f$ the vertices of \f$ C\f$ are
successively assigned to \f$ v\f$ \f$ \}\f$
@ -61,8 +59,8 @@ successively assigned to \f$ s\f$ \f$ \}\f$
<B>forall_ch_facets</B>(\f$ f,C\f$) \f$ \{\f$ the facets of \f$ C\f$ are
successively assigned to \f$ f\f$ \f$ \}\f$
Implementation
--------------
### Implementation ###
The implementation of type `Convex_hull_d` is based on
\cite cms-frric-93 and \cite bms-dgc-94. The details
of the implementation can be found in the implementation document

View File

@ -53,16 +53,14 @@ belongs to the nearest site triangulation and the test
`DT.simplex_of_furthest(dt_simplex s)` returns true if `s`
belongs to the furthest site triangulation.
Requirements
--------------
### Requirements ###
`R` is a model of the concept `DelaunayTraits_d`
c.
`Lifted_R` is a model of the concept `DelaunayLiftedTraits_d`
c.
Implementation
--------------
### Implementation ###
The data type is derived from `Convex_hull_d` via
the lifting map. For a point \f$ x\f$ in \f$ d\f$-dimensional space let
@ -78,8 +76,7 @@ The space requirement is the same as for convex hulls. The time
requirement for an insert is the time to insert the lifted point
into the convex hull of the lifted points.
Example
--------------
### Example ###
The abstract data type `Delaunay_d` has a default instantiation by
means of the \f$ d\f$-dimensional geometric kernel.
@ -104,8 +101,7 @@ Vertex_handle v1 = T.insert(Point_d(2,11));
}
\endcode
Traits requirements
--------------
### Traits Requirements ###
`Delaunay_d< R, Lifted_R >` requires the following types from the kernel traits `Lifted_R`:

View File

@ -21,8 +21,7 @@ It can be very useful, e.g. for debugging, to reproduce a sequence of
random numbers. This can be done by either initialising with a fixed
seed, or by using the state functions as described below.
Implementation
--------------
### Implementation ###
We use the boost random library function `boost::rand48` to generate the random
numbers.

View File

@ -12,6 +12,7 @@ The function `perturb_points_2` perturbs each point in a given range of points b
a random amount.
###Requires ###
- `Creator` must be a function object accepting two
`double` values \f$ x\f$ and \f$ y\f$ and returning an initialized point
`(x,y)` of type `P`.

View File

@ -14,8 +14,7 @@ within the hypercube \f$ [-a,a]^{dim}\f$.
\returns the value of \f$ o\f$ after inserting the \f$ n\f$ points.
Requirements
--------------
### Requirements ###
<UL>
<LI>`Creator` must be a functor accepting an integer (the dimension)

View File

@ -13,8 +13,7 @@ The function `random_convex_set_2` computes a random convex planar
point set of given size where the points are drawn from a specific
domain.
Requirements
--------------
### Requirements ###
<OL>
<LI>`PointGenerator` is a model of the concept PointGenerator
@ -33,16 +32,14 @@ The default traits class `Default_traits` is
\sa `CGAL::Random_points_in_square_2<Point_2, Creator>`
\sa `CGAL::Random_points_in_disc_2<Point_2, Creator>`
Implementation
--------------
### Implementation ###
The implementation uses the centroid method
described in \cite cgal:s-zkm-96 and has a worst case running time of \f$ O(r
\cdot n + n \cdot \log n)\f$, where \f$ r\f$ is the time needed by `pg`
to generate a random point.
Example
--------------
### Example ###
The following program displays a random convex 500-gon where the
points are drawn uniformly from the unit square centered at the

View File

@ -15,8 +15,7 @@ points has a non-zero probability of being constructed, some polygons may
have higher probabilities than others. The overall distribution of the
generated polygons is not known since it depends on the generated points.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Traits` is a model of the concept RandomPolygonTraits_2
@ -30,8 +29,7 @@ The default traits class `Default_traits` is the kernel in which
\sa `CGAL::Random_points_in_disc_2<Point_2, Creator>`
\sa `CGAL::Random_points_in_square_2<Point_2, Creator>`
Implementation
--------------
### Implementation ###
The implementation is based on the method of eliminating self-intersections in
a polygon by using so-called "2-opt" moves. Such a move eliminates an
@ -42,8 +40,7 @@ Intersecting edges are detected using a simple sweep through the vertices
and then one intersection is chosen at random to eliminate after each sweep.
The worse-case running time is therefore \f$ O(n^4 \log n)\f$.
Example
--------------
### Example ###
The following program displays a random simple polygon with up to 100
vertices, where the vertex coordinates are drawn uniformly from the

View File

@ -7,8 +7,7 @@ class used by the function `random_polygon_2`.
\hasModel \cgal kernels.
Operations
--------------
### Operations ###
The following two member functions returning instances of the above predicate
object types are required.

View File

@ -5,11 +5,7 @@ namespace Qt {
An object of type `CircularArcGraphicsItem` is a graphics item that encapsulates a circular arc.
Parameters
--------------
The template parameter of `CircularArcGraphicsItem` must be a
\cgal `CircularKernel`.
\tparam CK must be a \cgal `CircularKernel`.
*/
template< typename CK >

View File

@ -5,11 +5,8 @@ namespace Qt {
An object of type `ConstrainedTriangulationGraphicsItem` is a graphics item that encapsulates a constrained triangulation.
Parameters
--------------
The template parameter of `ConstrainedTriangulationGraphicsItem` must be a
\cgal 2D constrained triangulation class.
\tparam CT must be a \cgal 2D constrained triangulation class.
*/
template< typename CT >

View File

@ -9,10 +9,9 @@ vertex is inserted every time the left mouse button is released.
The `Del` key removes the last entered point. The `Esc`
key removes all entered points.
Parameters
--------------
The template parameter of `GraphicsViewCircleInput` must be a \cgal `Kernel`.
\tparam K must be a \cgal `Kernel`.
*/
template< typename K >

View File

@ -8,10 +8,7 @@ vertex is inserted every time the left mouse button is released.
The `Del` key removes the last entered point. The `Esc`
key removes all entered points.
Parameters
--------------
The template parameter of `GraphicsViewCircularArcInput` must be a \cgal `CircularKernel`.
\tparam K must be a \cgal `CircularKernel`.
*/
template< typename K >

View File

@ -5,10 +5,7 @@ namespace Qt {
An object of type `GraphicsViewIsoRectangleInput` creates an axis parallel rectangle.
Parameters
--------------
The template parameter of `GraphicsViewIsoRectangleInput` must be a \cgal `Kernel`.
\tparam K must be a \cgal `Kernel`.
*/
template< typename K >

View File

@ -18,10 +18,7 @@ For polylines the segment between the last entered point and the current
mouse position is only drawn correctly when mouse tracking is enabled
in the graphics view. The same holds for closed polygons.
Parameters
--------------
The template parameter of `GraphicsViewPolylineInput<K>` must be a \cgal `Kernel`.
\tparam K must be a \cgal `Kernel`.
*/
template< typename K >

View File

@ -5,11 +5,7 @@ namespace Qt {
An object of type `TriangulationGraphicsItem` is a graphics item that encapsulates a 2D triangulation.
Parameters
--------------
The template parameter of `TriangulationGraphicsItem` must be a
\cgal 2D triangulation class.
\tparam K must be a \cgal 2D triangulation class.
*/
template< typename T >

View File

@ -7,11 +7,7 @@ An object of type `VoronoiGraphicsItem` is a graphics item that
encapsulates a Delaunay triangulation in order to draw its dual, the
Voronoi diagram.
Parameters
--------------
The template parameter `DT` of `VoronoiGraphicsItem` must be a
\cgal 2D Delaunay triangulation class.
\tparam DT must be a \cgal 2D Delaunay triangulation class.
*/
template< typename DT >

View File

@ -24,8 +24,7 @@ actions. If a particular feature is not supported nothing is done.
Note that for example the creation of new halfedges is mandatory for
all halfedge data structures and will not appear here again.
Example
--------------
### Example ###
The following program fragment illustrates the implementation of a
`is_valid()` member function for a simplified polyhedron class.

View File

@ -26,8 +26,7 @@ all halfedge data structures and will not appear here again.
\sa `CGAL::HalfedgeDS_items_decorator<HDS>`
\sa `CGAL::HalfedgeDS_const_decorator<HDS>`
Example
--------------
### Example ###
The following program fragment illustrates the implementation of the
Euler operator `split_vertex()` for a simplified polyhedron class.
@ -117,10 +116,7 @@ Halfedge_handle create_segment();
removes the first vertex if vertices are supported.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$
`CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void vertices_pop_front();
@ -134,10 +130,7 @@ void vertices_pop_back();
removes the vertex `v` if vertices are supported.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$
`CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void vertices_erase( Vertex_handle v);
@ -145,9 +138,7 @@ void vertices_erase( Vertex_handle v);
removes the range `[first,last)` if vertices
are supported.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void vertices_erase( Vertex_handle first, Vertex_handle last);
@ -155,9 +146,7 @@ void vertices_erase( Vertex_handle first, Vertex_handle last);
removes the first face if faces are supported.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void faces_pop_front();
@ -171,9 +160,7 @@ void faces_pop_back();
removes the face `f` if faces are supported.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void faces_erase( Face_handle f);
@ -181,9 +168,7 @@ void faces_erase( Face_handle f);
removes the range `[first,last)` if faces are
supported.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void faces_erase( Face_handle first, Face_handle last);
@ -196,9 +181,7 @@ creates isolated vertices they get removed as well. See
`make_hole(h)` for a more specialized variant.
\pre `h->is_border() == false`.
Requirement
--------------
If faces are supported, `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires If faces are supported, `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void erase_face( Halfedge_handle h);
@ -206,9 +189,7 @@ void erase_face( Halfedge_handle h);
removes the vertices, halfedges, and faces that belong to the
connected component of `h`. \pre For all halfedges `g` in the connected component `g.next() != Halfedge_handle()`.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void erase_connected_component( Halfedge_handle h);
@ -217,9 +198,7 @@ Erases the small connected components and the isolated vertices.
Keep `nb_components_to_keep` largest connected components.
Returns the number of connected components erased (ignoring isolated vertices).
Requirement
--------------
supports vertices, halfedges, and removal operation. */
\requires supports vertices, halfedges, and removal operation. */
unsigned int keep_largest_connected_components(unsigned int nb_components_to_keep);
/// @}
@ -231,9 +210,7 @@ unsigned int keep_largest_connected_components(unsigned int nb_components_to_kee
removes the face incident to `h` from `hds` and creates a hole.
\pre `h != Halfedge_handle()` and `!(h->is_border())`.
Requirement
--------------
If faces are supported, `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires If faces are supported, `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
*/
void make_hole( Halfedge_handle h);
@ -317,10 +294,7 @@ holes. Returns the predecessor of `h` around the face. The invariant
the data structure unchanged. The time is proportional to the size
of the face removed and the time to compute `h->prev()`.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image latex euler_hds
\image html euler_face.gif
@ -350,10 +324,7 @@ and keeps the polyhedron unchanged.
The time is proportional to the degree of the vertex removed and
the time to compute `h->prev()` and `h->opposite()->prev()`.
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image html euler_vertex.gif
@ -387,10 +358,7 @@ create_center_vertex(h))` holds if `h` is not a border halfedge.
The time is proportional to the sum of the size of all incident faces.
\pre None of the incident faces of `g->vertex()` is a hole. There are at least two distinct faces incident to the faces that are incident to `g->vertex()`. (This prevents the operation from collapsing a volume into two faces glued together with opposite orientations, such as would happen with any vertex of a tetrahedron.)
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image latex euler_center
\image html euler_center.gif
@ -425,10 +393,7 @@ by `g` gets removed. Both faces may be holes. The invariant
data structure unchanged.
\pre The faces denoted by `h` and `g` are different and have equal degree (i.e., number of edges).
Requirement
--------------
`Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\requires `Supports_removal` \f$ \equiv\f$ `CGAL::Tag_true`.
\image latex euler_loop
\image html euler_loop.gif

View File

@ -21,8 +21,7 @@ removal.
\sa `CGAL::HalfedgeDS_decorator<HDS>`
\sa `CGAL::HalfedgeDS_const_decorator<HDS>`
Implementation
--------------
### Implementation ###
Currently, `HalfedgeDS_default` is derived from `CGAL::HalfedgeDS_list<Traits>`.
The copy constructor and the assignment operator need \f$ O(n)\f$ time with

View File

@ -19,8 +19,7 @@ is the template argument of the corresponding `HalfedgeDS`.
\sa `CGAL::HalfedgeDS_halfedge_base<Refs>`
\sa `CGAL::HalfedgeDS_face_base<Refs>`
Example
--------------
### Example ###
The following example shows the canonical implementation of the
`HalfedgeDS_items_2` class. It uses the base classes for the item types that

View File

@ -26,8 +26,7 @@ all halfedge data structures and will not appear here again.
\sa `CGAL::HalfedgeDS_decorator<HDS>`
\sa `CGAL::HalfedgeDS_const_decorator<HDS>`
Example
--------------
### Example ###
The following program fragment illustrates how a refined halfedge
class for a polyhedron can make use of the `find_prev()` member

View File

@ -17,8 +17,7 @@ iterators that supports removal.
\sa `CGAL::HalfedgeDS_decorator<HDS>`
\sa `CGAL::HalfedgeDS_const_decorator<HDS>`
Implementation
--------------
### Implementation ###
`HalfedgeDS_list` uses internally the `CGAL::In_place_list` container class.
The copy constructor and the assignment operator need \f$ O(n)\f$ time with

View File

@ -19,8 +19,7 @@ halfedges.
\sa `CGAL::HalfedgeDS_halfedge_min_base<Refs>`
\sa `CGAL::HalfedgeDS_face_min_base<Refs>`
Example
--------------
### Example ###
The following example shows the canonical implementation of the
`CGAL::HalfedgeDS_min_items` class. It uses the base classes for the

View File

@ -17,8 +17,7 @@ access iterators that does not support removal.
\sa `CGAL::HalfedgeDS_decorator<HDS>`
\sa `CGAL::HalfedgeDS_const_decorator<HDS>`
Implementation
--------------
### Implementation ###
`HalfedgeDS_vector` uses internally the \stl `std::vector` container
class. We require that we can create a `std::vector::iterator`

View File

@ -48,8 +48,7 @@ dangling handles), it must be called explicitly in advance for a
Classes built on top of a `HalfedgeDS` are advised to call the
`reserve()` member function before creating new items.
Parameters
--------------
### Parameters ###
A `HalfedgeDS` is a class template and will be used as argument for
other class templates, for example `CGAL::Polyhedron_3`. The

View File

@ -30,8 +30,7 @@ page \ref HalfedgeDSFace respectively.
\sa `CGAL::HalfedgeDS_halfedge_base<Refs>`
\sa `CGAL::HalfedgeDS_face_base<Refs>`
Example
--------------
### Example ###
The following example shows the canonical implementation of the
`CGAL::HalfedgeDS_min_items` class. It uses the base classes for the

View File

@ -13,8 +13,7 @@ whether the retrieval was successful.
This class can be used to provide the values and gradients of the
interpolation functions.
Parameters
--------------
### Parameters ###
The class
`Data_access` has the container type `Map` as template parameter.
@ -69,15 +68,13 @@ computed by Farin's interpolant \cite f-sodt-90.
The function `farin_c1_interpolation` interpolates the function values and the
gradients that are provided by functors using the method described in \cite f-sodt-90.
Parameters
--------------
### Parameters ###
`RandomAccessIterator::value_type` is a pair
associating a point to a (non-normalized) barycentric coordinate. See
`CGALL::sibson_c1_interpolation` for the other parameters.
Requirements
--------------
### Requirements ###
Same requirements as for `sibson_c1_interpolation` only the
iterator must provide random access and `Traits::FT` does not need
@ -121,8 +118,7 @@ corresponding to each point of the point/coordinate pairs in the
range \f$ \left[\right.\f$`first`, `beyond`\f$ \left.\right)\f$.
\pre `norm` \f$ \neq0\f$. `function_value(p).second == true` for all points `p` of the point/coordinate pairs in the range \f$ \left[\right.\f$`first`, `beyond`\f$ \left.\right)\f$.
Requirements
--------------
### Requirements ###
<OL>
<LI>`ForwardIterator::value_type` is a pair of
@ -170,13 +166,11 @@ pairs in the range \f$ \left[\right.\f$ `first`,
`beyond`\f$ \left.\right)\f$. See also
`sibson_c1_interpolation`. \pre `norm` \f$ \neq0\f$ `function_value(p).second == true` for all points `p` of the point/coordinate pairs in the range \f$ \left[\right.\f$`first`, `beyond`\f$ \left.\right)\f$.
Parameters
--------------
### Parameters ###
See `sibson_c1_interpolation`.
Requirements
--------------
### Requirements ###
Same requirements as for
`sibson_c1_interpolation` only that `Traits::FT` does not need
@ -221,8 +215,7 @@ interpolated function value as first and `true` as second value. \pre
`p` of the point/coordinate pairs in the range \f$\left[\right.\f$`first`, `beyond`\f$ \left.\right)\f$.
Parameters
--------------
### Parameters ###
The template parameter `Traits` is to be
instantiated with a model of `InterpolationTraits`.
@ -235,8 +228,7 @@ coordinates for the query point `p`. The functor
function given a point. `function_gradient` allows to access the
function gradient given a point.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Traits` is a model of the concept

View File

@ -9,8 +9,7 @@ called Sibson's coordinates, for \f$ 2D\f$ points provided a two-dimensional
triangulation and a query point in the convex hull of the vertices
of the triangulation.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Dt` are equivalent to the class
@ -31,8 +30,7 @@ the traits class of the `polygon_area_2` function.
associating a point and its natural neighbor coordinate.
</OL>
Implementation
--------------
### Implementation ###
This function computes the area of the sub-cells
stolen from the Voronoi cells of the points in `dt` when inserting

View File

@ -10,8 +10,7 @@ two-dimensional regular triangulation and a (weighted) query point
inside the convex hull of the vertices of the triangulation. We call these
coordinates regular neighbor coordinates.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Rt` are equivalent to the class
@ -27,8 +26,7 @@ meet the requirements for the traits class of the
associating a point and its regular neighbor coordinate.
</OL>
Implementation
--------------
### Implementation ###
This function computes the areas stolen from the
Voronoi cells of points in `rt` by the insertion of `p`. The

View File

@ -12,8 +12,7 @@ gradient for all data points that lie inside the convex hull of the
data points. One function exists for each type of natural neighbor
coordinates.
Requirements
--------------
### Requirements ###
<OL>
<LI>`ForwardIterator::value_type` is a pair of point/coordinate
@ -39,8 +38,7 @@ provide a multiplication and addition operation with the type
\sa CGAL::regular_neighbor_coordinates_2
\sa CGAL::surface_neighbor_coordinates_3
Implementation
--------------
### Implementation ###
This function implements Sibson's gradient
estimation method based on natural neighbor coordinates

View File

@ -24,8 +24,7 @@ the range \f$ \left[\right.\f$`first`, `beyond`\f$
k\f$-nearest neighbor or a range search query, this permits to check
whether the neighborhood which has been considered is large enough.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Dt` is equivalent to the class
@ -42,8 +41,7 @@ associating a point and its natural neighbor coordinate.
\sa CGAL::Voronoi_intersection_2_traits_3<K>
\sa CGAL::surface_neighbors_3
Implementation
--------------
### Implementation ###
This functions construct the regular triangulation of the input points
instantiated with `Voronoi_intersection_2_traits_3<Kernel>` or `ITraits` if provided.

View File

@ -25,8 +25,7 @@ points are collected by a \f$ k\f$-nearest neighbor or a range search
query, this permits to verify that a large enough neighborhood has
been considered.
Requirements
--------------
### Requirements ###
<OL>
<LI>`Dt` is equivalent to the class
@ -39,8 +38,7 @@ Requirements
\sa CGAL::Voronoi_intersection_2_traits_3<K>
\sa CGAL::surface_neighbor_coordinates_3
Implementation
--------------
### Implementation ###
These functions compute the regular triangulation of
the sample points and the point `p` using a traits class

View File

@ -6,8 +6,7 @@ namespace CGAL {
The class `Interval_skip_list` is a dynamic data structure that
allows to find all members of a set of intervals that overlap a point.
Implementation
--------------
### Implementation ###
The insertion and deletion of a segment in the interval skip list
takes expected time \f$ O(\log^2 n)\f$, if the segment endpoints are

View File

@ -7,8 +7,7 @@ The class `Interval_skip_list_interval` represents intervals with lower and uppe
bound of type `Value`. These intervals
can be opened or closed at each endpoint.
I/O
--------------
### I/O ###
The output operator is defined for `std::ostream`.

View File

@ -6,8 +6,7 @@ namespace CGAL {
The class `Level_interval` represents intervals for the minimum and
maximum value of the `z`-coordinate of a face of a triangulation.
Requirements
--------------
### Requirements ###
The `value_type` of `FaceHandle` must be `Face`, which must have a
nested type `Vertex`, which must have a nested type `Point`,

View File

@ -16,8 +16,7 @@ The default for the template `LocalKernel` is
`Cartesian<double>` and the default for `SvdTraits` is `Eigen_svd` if `CGAL_EIGEN3_ENABLED`
is defined and `Lapack_svd` otherwise.
Parameters
--------------
### Parameters ###
The class `Monge_via_jet_fitting` has three template parameters. Parameter
`DataKernel` provides the geometric classes and tools

View File

@ -8,8 +8,7 @@ fulfilled by any class used to instantiate first template parameter of
the class
`CGAL::Monge_via_jet_fitting<DataKernel,LocalKernel,SvdTraits>`.
Operations
--------------
### Operations ###
Only constructors (from 3 scalars and copy constructors) and access
methods to coordinates `x()`, `y()`, `z()` are needed.

View File

@ -12,8 +12,7 @@ This concept provides the geometric primitives used for the
computations in the class
`CGAL::Monge_via_jet_fitting`.
Requirements
--------------
### Requirements ###
In the class `CGAL::Monge_via_jet_fitting` the scalar type,
`LocalKernel::FT`, must be the same as that of the `SvdTraits`
@ -21,8 +20,7 @@ concept : `SvdTraits::FT`.
The type `LocalKernel::FT` is a model of the FieldWithSqrt concept.
Operations
--------------
### Operations ###
The scalar type `LocalKernel::FT` must be a field type with a
square root.

View File

@ -40,8 +40,7 @@ therefore do not appear in the constructors.
\sa `Translation`
\sa `rational_rotation_approximation`
Example
--------------
### Example ###
\code
typedef Cartesian<double> K;

View File

@ -16,8 +16,7 @@ the kernel is only an approximation of Euclidean geometry.
\models ::Kernel
Implementation
--------------
### Implementation ###
All geometric objects in `Cartesian` are reference counted.

Some files were not shown because too many files have changed in this diff Show More