mirror of https://github.com/CGAL/cgal
Downsize headings
This commit is contained in:
parent
c5d9b86882
commit
6f61e2b2ee
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>`.
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -77,8 +77,7 @@ supports the merging of curves of opposite directions.
|
|||
\models ::ArrangementLandmarkTraits_2
|
||||
\models ::ArrangementDirectionalXMonotoneTraits_2
|
||||
|
||||
Types
|
||||
--------------
|
||||
### Types ###
|
||||
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>`
|
||||
|
||||
|
|
|
|||
|
|
@ -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> >`.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 );
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`:
|
||||
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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 >
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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`.
|
||||
|
||||
|
|
|
|||
|
|
@ -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`,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -40,8 +40,7 @@ therefore do not appear in the constructors.
|
|||
\sa `Translation`
|
||||
\sa `rational_rotation_approximation`
|
||||
|
||||
Example
|
||||
--------------
|
||||
### Example ###
|
||||
|
||||
\code
|
||||
typedef Cartesian<double> K;
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in New Issue