mirror of https://github.com/CGAL/cgal
Abbreviations trigger end of \brief description
Fixes bug #15482: https://gforge.inria.fr/tracker/index.php?func=detail&aid=15482&group_id=52&atid=13845
This commit is contained in:
parent
e991fe72ad
commit
3b1d281efb
|
|
@ -13,8 +13,7 @@ i.e.\ commutative ring with 0, 1, +, * and unity free of zero divisors.
|
|||
It refines `Assignable`, `CopyConstructible`, `DefaultConstructible`
|
||||
and `FromIntConstructible`.
|
||||
|
||||
It refines `EqualityComparable`, where equality is defined w.r.t.
|
||||
the ring element being represented.
|
||||
It refines `EqualityComparable`, where equality is defined w.r.t.\ the ring element being represented.
|
||||
|
||||
The operators unary and binary plus +, unary and binary minus -,
|
||||
multiplication * and their compound forms +=, -=, *= are required and
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ and it is SINGULAR if it is a boundary simplex that is not included in a \f$ k+1
|
|||
|
||||
In REGULARIZED mode, for \f$ k=(0,1,2)\f$
|
||||
each k-dimensional simplex of the triangulation
|
||||
can be classified as EXTERIOR, REGULAR or INTERIOR, i.e.
|
||||
can be classified as EXTERIOR, REGULAR or INTERIOR, i.e.\
|
||||
there is no singular faces.
|
||||
A \f$ k\f$ simplex is REGULAR if it is on the boundary of alpha complex
|
||||
and belongs to a tetrahedral cell of the complex.
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ returns the isolated vertex-information record.
|
|||
Isolated_vertex* isolated_vertex();
|
||||
|
||||
/*!
|
||||
returns whether the vertex is not associated with a valid point (i.e. it
|
||||
returns whether the vertex is not associated with a valid point (i.e.\ it
|
||||
lies at infinity).
|
||||
*/
|
||||
bool has_null_point () const;
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ full-dimensional.)
|
|||
|
||||
If \f$ P\f$ is not full-dimensional, linear algebra techniques should be
|
||||
used to determine an affine subspace \f$ S\f$ of \f$ \E^d\f$ that contains the
|
||||
points \f$ P\f$ as a (w.r.t. \f$ S\f$) full-dimensional pointset; once \f$ S\f$ is
|
||||
points \f$ P\f$ as a (w.r.t.\ \f$ S\f$) full-dimensional pointset; once \f$ S\f$ is
|
||||
determined, the algorithm can be invoked again to compute an
|
||||
approximation to (the lower-dimensional) \f$ \mel(P)\f$ in \f$ S\f$. Since
|
||||
`is_full_dimensional()` might (due to rounding errors, see
|
||||
|
|
@ -315,7 +315,7 @@ returns an iterator pointing to the first of the \f$ d\f$ Cartesian
|
|||
coordinates of the computed ellipsoid's center.
|
||||
|
||||
The returned point is a floating-point approximation to the
|
||||
ellipsoid's exact center; no guarantee is given w.r.t. the involved
|
||||
ellipsoid's exact center; no guarantee is given w.r.t.\ the involved
|
||||
relative error. \pre `ame.is_full_dimensional() == true`.
|
||||
*/
|
||||
Center_coordinate_iterator center_cartesian_begin();
|
||||
|
|
@ -334,7 +334,7 @@ returns an iterator pointing to the first of the \f$ d\f$ descendantly
|
|||
sorted lengths of the computed ellipsoid's axes. The \f$ d\f$ returned
|
||||
numbers are floating-point approximations to the exact
|
||||
axes-lengths of the computed ellipsoid; no guarantee is given
|
||||
w.r.t. the involved relative error. (See also method
|
||||
w.r.t.\ the involved relative error. (See also method
|
||||
`axes_direction_cartesian_begin()`.) \pre `ame.is_full_dimensional() == true`, and \f$ d\in\{2,3\}\f$.
|
||||
*/
|
||||
Axes_lengths_iterator axes_lengths_begin();
|
||||
|
|
@ -353,7 +353,7 @@ computed ellipsoid's \f$ i\f$th axis direction (i.e., unit vector in
|
|||
direction of the ellipsoid's \f$ i\f$th axis). The direction described
|
||||
by this iterator is a floating-point approximation to the exact
|
||||
axis direction of the computed ellipsoid; no guarantee is given
|
||||
w.r.t. the involved relative error. An approximation to the
|
||||
w.r.t.\ the involved relative error. An approximation to the
|
||||
length of axis \f$ i\f$ is given by the \f$ i\f$th entry of
|
||||
`axes_lengths_begin()`.
|
||||
\pre `ame.is_full_dimensional() == true`, and \f$ d\in\{2,3\}\f$, and \f$ 0\leq i < d\f$.
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ finite set of points in \f$ d\f$-dimensional Euclidean space \f$ \E^d\f$, where
|
|||
difference \f$ R^2-r^2\f$ is minimal. For a point set \f$ P\f$ we denote by \f$ ma(P)\f$
|
||||
the smallest annulus that contains all points of \f$ P\f$. Note that \f$ ma(P)\f$
|
||||
can be degenerate,
|
||||
i.e. \f$ ma(P)=\emptyset\f$ if
|
||||
i.e.\ \f$ ma(P)=\emptyset\f$ if
|
||||
\f$ P=\emptyset\f$ and \f$ ma(P)=\{p\}\f$ if
|
||||
\f$ P=\{p\}\f$.
|
||||
|
||||
|
|
@ -159,13 +159,13 @@ int ambient_dimension( ) const;
|
|||
|
||||
/*!
|
||||
|
||||
returns the number of points of `min_annulus`, i.e. \f$ |P|\f$.
|
||||
returns the number of points of `min_annulus`, i.e.\ \f$ |P|\f$.
|
||||
*/
|
||||
int number_of_points( ) const;
|
||||
|
||||
/*!
|
||||
|
||||
returns the number of support points of `min_annulus`, i.e. \f$ |S|\f$.
|
||||
returns the number of support points of `min_annulus`, i.e.\ \f$ |S|\f$.
|
||||
*/
|
||||
int number_of_support_points( ) const;
|
||||
|
||||
|
|
@ -270,7 +270,7 @@ of the center of `min_annulus`.
|
|||
|
||||
\note
|
||||
The coordinates have a rational
|
||||
representation, i.e. the first \f$ d\f$ elements of the iterator
|
||||
representation, i.e.\ the first \f$ d\f$ elements of the iterator
|
||||
range are the numerators and the \f$ (d\!+\!1)\f$-st element is the
|
||||
common denominator.
|
||||
*/
|
||||
|
|
@ -308,7 +308,7 @@ ET squared_radii_denominator( ) const;
|
|||
/// The bounded area of the smallest enclosing annulus lies between
|
||||
/// the inner and the outer sphere. The boundary is the union of both
|
||||
/// spheres. By definition, an empty annulus has no boundary and no
|
||||
/// bounded side, i.e. its unbounded side equals the whole space \f$
|
||||
/// bounded side, i.e.\ its unbounded side equals the whole space \f$
|
||||
/// \E^d\f$.
|
||||
/// @{
|
||||
|
||||
|
|
@ -353,7 +353,7 @@ bool is_empty( ) const;
|
|||
|
||||
/*!
|
||||
|
||||
returns `true`, iff `min_annulus` is degenerate, i.e. if `min_annulus` is empty or equal to a single point.
|
||||
returns `true`, iff `min_annulus` is degenerate, i.e.\ if `min_annulus` is empty or equal to a single point.
|
||||
*/
|
||||
bool is_degenerate( ) const;
|
||||
|
||||
|
|
@ -403,7 +403,7 @@ InputIterator last );
|
|||
/// An object `min_annulus` is valid, iff <UL> <LI>`min_annulus`
|
||||
/// contains all points of its defining set \f$ P\f$,
|
||||
/// <LI>`min_annulus` is the smallest annulus containing its support
|
||||
/// set \f$ S\f$, and <LI>\f$ S\f$ is minimal, i.e. no support point
|
||||
/// set \f$ S\f$, and <LI>\f$ S\f$ is minimal, i.e.\ no support point
|
||||
/// is redundant. </UL> <I>Note:</I> In this release only the first
|
||||
/// item is considered by the validity check.
|
||||
/// @{
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ enclosing a finite (multi)set of points in two-dimensional Euclidean
|
|||
space \f$ \E^2\f$. For a point set \f$ P\f$ we denote by \f$ mc(P)\f$ the smallest circle
|
||||
that contains all points of \f$ P\f$. Note that \f$ mc(P)\f$ can be
|
||||
degenerate,
|
||||
i.e. \f$ mc(P)=\emptyset\f$ if
|
||||
i.e.\ \f$ mc(P)=\emptyset\f$ if
|
||||
\f$ P=\emptyset\f$ and \f$ mc(P)=\{p\}\f$ if
|
||||
\f$ P=\{p\}\f$.
|
||||
|
||||
|
|
@ -174,13 +174,13 @@ const Traits& traits = Traits());
|
|||
|
||||
/*!
|
||||
|
||||
returns the number of points of `min_circle`, i.e. \f$ |P|\f$.
|
||||
returns the number of points of `min_circle`, i.e.\ \f$ |P|\f$.
|
||||
*/
|
||||
int number_of_points( ) const;
|
||||
|
||||
/*!
|
||||
|
||||
returns the number of support points of `min_circle`, i.e. \f$ |S|\f$.
|
||||
returns the number of support points of `min_circle`, i.e.\ \f$ |S|\f$.
|
||||
*/
|
||||
int number_of_support_points( ) const;
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ const Circle& circle( ) const;
|
|||
|
||||
/// \name Predicates
|
||||
/// By definition, an empty `Min_circle_2` has no boundary and no
|
||||
/// bounded side, i.e. its unbounded side equals the whole space \f$
|
||||
/// bounded side, i.e.\ its unbounded side equals the whole space \f$
|
||||
/// \E^2\f$.
|
||||
/// @{
|
||||
|
||||
|
|
@ -271,7 +271,7 @@ bool is_empty( ) const;
|
|||
/*!
|
||||
|
||||
returns `true`, iff `min_circle` is degenerate,
|
||||
i.e. if `min_circle` is empty or equal to a single point, equivalently
|
||||
i.e.\ if `min_circle` is empty or equal to a single point, equivalently
|
||||
if the number of support points is less than 2.
|
||||
*/
|
||||
bool is_degenerate( ) const;
|
||||
|
|
@ -318,7 +318,7 @@ void clear( );
|
|||
/// An object `min_circle` is valid, iff <UL> <LI>`min_circle`
|
||||
/// contains all points of its defining set \f$ P\f$, <LI>`min_circle`
|
||||
/// is the smallest circle spanned by its support set \f$ S\f$, and
|
||||
/// <LI>\f$ S\f$ is minimal, i.e. no support point is redundant. </UL>
|
||||
/// <LI>\f$ S\f$ is minimal, i.e.\ no support point is redundant. </UL>
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ enclosing a finite (multi)set of points in two-dimensional euclidean
|
|||
space \f$ \E^2\f$. For a point set \f$ P\f$ we denote by \f$ me(P)\f$ the smallest
|
||||
ellipse that contains all points of \f$ P\f$. Note that \f$ me(P)\f$ can be
|
||||
degenerate,
|
||||
i.e. \f$ me(P)=\emptyset\f$ if
|
||||
i.e.\ \f$ me(P)=\emptyset\f$ if
|
||||
\f$ P=\emptyset\f$, \f$ me(P)=\{p\}\f$ if \f$ P=\{p\}\f$,
|
||||
and <span class="mbox">\f$ me(P) = \{ (1-\lambda)p + \lambda q \mid 0 \leq \lambda \leq 1 \}\f$</span> if \f$ P=\{p,q\}\f$.
|
||||
|
||||
|
|
@ -186,13 +186,13 @@ const Traits& traits = Traits());
|
|||
|
||||
/*!
|
||||
|
||||
returns the number of points of `min_ellipse`, i.e. \f$ |P|\f$.
|
||||
returns the number of points of `min_ellipse`, i.e.\ \f$ |P|\f$.
|
||||
*/
|
||||
int number_of_points( ) const;
|
||||
|
||||
/*!
|
||||
|
||||
returns the number of support points of `min_ellipse`, i.e. \f$ |S|\f$.
|
||||
returns the number of support points of `min_ellipse`, i.e.\ \f$ |S|\f$.
|
||||
*/
|
||||
int number_of_support_points( ) const;
|
||||
|
||||
|
|
@ -240,7 +240,7 @@ const Ellipse& ellipse( ) const;
|
|||
|
||||
/// \name Predicates
|
||||
/// By definition, an empty `Min_ellipse_2` has no boundary and no
|
||||
/// bounded side, i.e. its unbounded side equals the whole space \f$
|
||||
/// bounded side, i.e.\ its unbounded side equals the whole space \f$
|
||||
/// \E^2\f$.
|
||||
/// @{
|
||||
|
||||
|
|
@ -283,7 +283,7 @@ bool is_empty( ) const;
|
|||
/*!
|
||||
|
||||
returns `true`, iff `min_ellipse` is degenerate,
|
||||
i.e. if `min_ellipse` is empty, equal to a single point or equal to a
|
||||
i.e.\ if `min_ellipse` is empty, equal to a single point or equal to a
|
||||
segment, equivalently if the number of support points is less
|
||||
than 3.
|
||||
*/
|
||||
|
|
@ -331,7 +331,7 @@ void clear( );
|
|||
/// An object `min_ellipse` is valid, iff <UL> <LI>`min_ellipse`
|
||||
/// contains all points of its defining set \f$ P\f$,
|
||||
/// <LI>`min_ellipse` is the smallest ellipse spanned by its support
|
||||
/// set \f$ S\f$, and <LI>\f$ S\f$ is minimal, i.e. no support point
|
||||
/// set \f$ S\f$, and <LI>\f$ S\f$ is minimal, i.e.\ no support point
|
||||
/// is redundant. </UL> <I>Note:</I> In this release only the first
|
||||
/// item is considered by the validity check.
|
||||
/// @{
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ An object of the class `Min_sphere_d` is the unique sphere of
|
|||
smallest volume enclosing a finite (multi)set of points in \f$ d\f$-dimensional
|
||||
Euclidean space \f$ \E^d\f$. For a set \f$ P\f$ we denote by \f$ ms(P)\f$ the
|
||||
smallest sphere that contains all points of \f$ P\f$. \f$ ms(P)\f$ can
|
||||
be degenerate, i.e. \f$ ms(P)=\emptyset\f$
|
||||
be degenerate, i.e.\ \f$ ms(P)=\emptyset\f$
|
||||
if \f$ P=\emptyset\f$ and \f$ ms(P)=\{p\}\f$ if
|
||||
\f$ P=\{p\}\f$.
|
||||
|
||||
|
|
@ -135,13 +135,13 @@ const Traits& traits = Traits());
|
|||
|
||||
/*!
|
||||
|
||||
returns the number of points of `min_sphere`, i.e. \f$ |P|\f$.
|
||||
returns the number of points of `min_sphere`, i.e.\ \f$ |P|\f$.
|
||||
*/
|
||||
int number_of_points( ) const;
|
||||
|
||||
/*!
|
||||
|
||||
returns the number of support points of `min_sphere`, i.e. \f$ |S|\f$.
|
||||
returns the number of support points of `min_sphere`, i.e.\ \f$ |S|\f$.
|
||||
*/
|
||||
int number_of_support_points( ) const;
|
||||
|
||||
|
|
@ -193,7 +193,7 @@ FT squared_radius( ) const;
|
|||
|
||||
/// \name Predicates
|
||||
/// By definition, an empty `Min_sphere_d` has no boundary and no
|
||||
/// bounded side, i.e. its unbounded side equals the whole space \f$
|
||||
/// bounded side, i.e.\ its unbounded side equals the whole space \f$
|
||||
/// \E^d\f$.
|
||||
/// @{
|
||||
|
||||
|
|
@ -238,7 +238,7 @@ bool is_empty( ) const;
|
|||
|
||||
/*!
|
||||
|
||||
returns `true`, iff `min_sphere` is degenerate, i.e. if
|
||||
returns `true`, iff `min_sphere` is degenerate, i.e.\ if
|
||||
`min_sphere` is empty or equal to a single point, equivalently if
|
||||
the number of support points is less than 2.
|
||||
*/
|
||||
|
|
@ -294,7 +294,7 @@ InputIterator last );
|
|||
/// An object `min_sphere` is valid, iff <UL> <LI>`min_sphere`
|
||||
/// contains all points of its defining set \f$ P\f$, <LI>`min_sphere`
|
||||
/// is the smallest sphere containing its support set \f$ S\f$, and
|
||||
/// <LI>\f$ S\f$ is minimal, i.e. no support point is redundant. </UL>
|
||||
/// <LI>\f$ S\f$ is minimal, i.e.\ no support point is redundant. </UL>
|
||||
///
|
||||
/// \note Under inexact arithmetic, the result of the
|
||||
/// validation is not realiable, because the checker itself can suffer
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
is the constant 2, i.e. the dimension of \f$ \R^2\f$.
|
||||
is the constant 2, i.e.\ the dimension of \f$ \R^2\f$.
|
||||
*/
|
||||
typedef Hidden_type D;
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
is the constant 3, i.e. the dimension of \f$ \R^3\f$.
|
||||
is the constant 3, i.e.\ the dimension of \f$ \R^3\f$.
|
||||
*/
|
||||
typedef Hidden_type D;
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ const;
|
|||
|
||||
/*!
|
||||
returns `true`, iff
|
||||
`minsphere` is empty, i.e. iff \f$ ms(S)=\emptyset\f$.
|
||||
`minsphere` is empty, i.e.\ iff \f$ ms(S)=\emptyset\f$.
|
||||
*/
|
||||
bool is_empty( ) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
is the constant 2, i.e. the dimension of \f$ \R^2\f$.
|
||||
is the constant 2, i.e.\ the dimension of \f$ \R^2\f$.
|
||||
*/
|
||||
typedef Hidden_type D;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
is the constant 3, i.e. the dimension of \f$ \R^3\f$.
|
||||
is the constant 3, i.e.\ the dimension of \f$ \R^3\f$.
|
||||
*/
|
||||
typedef Hidden_type D;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
An object of the class `Circle` is a circle in two-dimensional
|
||||
Euclidean plane \f$ \E^2\f$. Its boundary splits the plane into a bounded
|
||||
and an unbounded side. By definition, an empty `#1` has no
|
||||
boundary and no bounded side, i.e. its unbounded side equals the
|
||||
boundary and no bounded side, i.e.\ its unbounded side equals the
|
||||
whole plane \f$ \E^2\f$. A `#1` containing exactly one point \f$ p\f$
|
||||
has no bounded side, its boundary is \f$ \{p\}\f$, and its unbounded side
|
||||
equals \f$ \E^2 \setminus \{p\}\f$.
|
||||
|
|
@ -110,7 +110,7 @@ bool is_empty( ) const;
|
|||
|
||||
/*!
|
||||
|
||||
returns `true`, iff `circle` is degenerate, i.e. if `circle` is empty
|
||||
returns `true`, iff `circle` is degenerate, i.e.\ if `circle` is empty
|
||||
or equal to a single point.
|
||||
|
||||
\note Only needed, if the corresponding predicate of `Min_circle_2` is used.
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
An object `ellipse` of the class `Ellipse` is an ellipse in two-dimensional
|
||||
Euclidean plane \f$ \E^2\f$. Its boundary splits the plane into a bounded
|
||||
and an unbounded side. By definition, an empty `ellipse` has no
|
||||
boundary and no bounded side, i.e. its unbounded side equals the
|
||||
boundary and no bounded side, i.e.\ its unbounded side equals the
|
||||
whole plane \f$ \E^2\f$.
|
||||
*/
|
||||
class Ellipse {
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ bool is_y_monotone();
|
|||
|
||||
/*!
|
||||
Test for equality. Two arcs are equal, iff their non-oriented
|
||||
supporting circles are equal (i.e. they have same center and same
|
||||
supporting circles are equal (i.e.\ they have same center and same
|
||||
squared radius) and their endpoints are equal.
|
||||
\relates Circular_arc_2
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ Test for nonequality.
|
|||
bool operator!=(const Circular_arc_point_2<CircularKernel> &p, const Circular_arc_point_2<CircularKernel> &q);
|
||||
|
||||
/*!
|
||||
Returns true iff`p` is lexicographically smaller than `q`, i.e. either if `p.x() < q.x()`
|
||||
Returns true iff`p` is lexicographically smaller than `q`, i.e.\ either if `p.x() < q.x()`
|
||||
or if `p.x() == q.x()` and `p.y() < q.y()`.
|
||||
\relates Circular_arc_point_2
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ bool is_vertical();
|
|||
|
||||
/*!
|
||||
Test for equality. Two arcs are equal, iff their non-oriented
|
||||
supporting lines are equal (i.e. they contain the same set of
|
||||
supporting lines are equal (i.e.\ they contain the same set of
|
||||
points) and their endpoints are equal.
|
||||
\relates Line_arc_2
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ Test for nonequality.
|
|||
bool operator!=(const Circular_arc_point_3<SphericalKernel> &p, const Circular_arc_point_3<SphericalKernel> &q);
|
||||
|
||||
/*!
|
||||
Returns true iff `p` is lexicographically smaller than `q`, i.e. either
|
||||
Returns true iff `p` is lexicographically smaller than `q`, i.e.\ either
|
||||
if `p.x() < q.x()` or if `p.x() == q.x()` and `p.y() < q.y()`
|
||||
or if `p.x() == q.x()` and `p.y() == q.y()` and `p.z() < q.z()`.
|
||||
\relates Circular_arc_point_3
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ bool is_vertical();
|
|||
|
||||
/*!
|
||||
Test for equality. Two segments are equal, iff their non-oriented
|
||||
supporting lines are equal (i.e. they define the same set of
|
||||
supporting lines are equal (i.e.\ they define the same set of
|
||||
points), and their endpoints are the same.
|
||||
*/
|
||||
bool operator==(const Line_arc_3<SphericalKernel> &s1, const Line_arc_3<SphericalKernel> &s2);
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ seen from the side of the plane of the circle pointed by its <I>positive</I> nor
|
|||
vectors.
|
||||
|
||||
In this definition, we say that a normal vector \f$ (a,b,c)\f$ is <I>positive</I> if
|
||||
\f$ (a,b,c)>(0,0,0)\f$ (i.e. \f$ (a>0) || (a==0) \&\& (b>0) || (a==0)\&\&(b==0)\&\&(c>0)\f$).
|
||||
\f$ (a,b,c)>(0,0,0)\f$ (i.e.\ \f$ (a>0) || (a==0) \&\& (b>0) || (a==0)\&\&(b==0)\&\&(c>0)\f$).
|
||||
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ const SphericalKernel::Circular_arc_3 &a1);
|
|||
|
||||
/*!
|
||||
For two segments. Two segments are equal, iff their non-oriented
|
||||
supporting lines are equal (i.e. they define the same set of
|
||||
supporting lines are equal (i.e.\ they define the same set of
|
||||
points), and their endpoints are the same.
|
||||
*/
|
||||
bool operator()
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
Tests whether the arc `a` is \f$ \theta\f$-monotone, i.e. the intersection of
|
||||
Tests whether the arc `a` is \f$ \theta\f$-monotone, i.e.\ the intersection of
|
||||
any meridian anchored at the poles of the context sphere used by the function `SphericalKernel::is_theta_monotone_3_object`
|
||||
and the arc `a` is reduced to at most one point in general, and two points if a pole of that sphere is
|
||||
an endpoint of `a`. Note that a bipolar circle has no such arcs.
|
||||
|
|
|
|||
|
|
@ -324,7 +324,7 @@ equal to the set of all the darts of the combinatorial map.
|
|||
|
||||
A last important property of cells is that for all dimensions <I>i</I>
|
||||
the set of <I>i</I>-cells forms a partition of the set of darts
|
||||
<I>D</I>, i.e. for any <I>i</I>, the union of the sets of darts of all
|
||||
<I>D</I>, i.e.\ for any <I>i</I>, the union of the sets of darts of all
|
||||
the <I>i</I>-cells is equal to <I>D</I>, and the sets of darts of two
|
||||
different <I>i</I>-cells are disjoint.
|
||||
|
||||
|
|
@ -722,9 +722,9 @@ Similarly, the functor `OnSplit` is called
|
|||
when one attribute is split in two, because its corresponding cell is
|
||||
split in two during some operation, unless it is equal to
|
||||
`Null_functor`. In any high level operation, `OnMerge` is called
|
||||
before to start the operation (i.e. before modifying the combinatorial
|
||||
before to start the operation (i.e.\ before modifying the combinatorial
|
||||
map), and `OnSplit` is called when the operation is finished
|
||||
(i.e. after all the modifications were made).
|
||||
(i.e.\ after all the modifications were made).
|
||||
|
||||
What we said for the dart also holds for the cell attribute. The
|
||||
combinatorial map can be used with any user defined model of the
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ returning a Boolean value, but also primitives returning a value of
|
|||
some enumeration type, e.g. `CGAL::Sign`. So the value computed
|
||||
by a predicate does not involve any numerical data. Basic constructions
|
||||
construct new primitive geometric objects that may involve newly computed
|
||||
numerical data, i.e. that is not part of the input to the constructions.
|
||||
numerical data, i.e.\ that is not part of the input to the constructions.
|
||||
An example of such a basic constructions is computing the midpoint of
|
||||
the straight line segment between two given points.
|
||||
A special kind of constructions is selections. For selections, all the data
|
||||
|
|
|
|||
|
|
@ -440,11 +440,11 @@ highly specialized libraries and software for non-geometric issues,
|
|||
for instance, for numeric solvers, or visualization. We first list software
|
||||
that is essential to build (all) libraries of \cgal, that is,
|
||||
this software must be found during the configuration of \cgal for an
|
||||
actived library of \cgal (i.e. <TT>WITH_<library>=ON</TT>);
|
||||
actived library of \cgal (i.e.\ <TT>WITH_<library>=ON</TT>);
|
||||
see \ref sec3partysoftwareconfig to specify the location of 3rd
|
||||
party software.
|
||||
|
||||
The libraries \stl (shipped with any compiler) and \sc{Boost} are essential to all components (i.e. libCGAL,
|
||||
The libraries \stl (shipped with any compiler) and \sc{Boost} are essential to all components (i.e.\ libCGAL,
|
||||
libCGAL_Core, libCGAL_ImageIO, libCGAL_Qt3 and libCGAL_Qt4).
|
||||
|
||||
\subsection thirdpartystl Standard Template Library (STL)
|
||||
|
|
@ -1074,7 +1074,7 @@ If the parameter is not given, the script creates <B>one executable for each giv
|
|||
source file</B>.
|
||||
<DT><B>`-c com1:com2:...`</B><DD> Lists components ("com1",
|
||||
"com2") of \cgal to which the executable(s) should be linked. Valid components are \cgal's
|
||||
libraries (i.e. "Core", "ImageIO", "Qt3" and "Qt4"; note
|
||||
libraries (i.e.\ "Core", "ImageIO", "Qt3" and "Qt4"; note
|
||||
that it only make sense to either pick "Qt3" or "Qt4") and all
|
||||
preconfigured 3rd party software, such as "MPFI", "RS3"). An example is `-c Core:GMP:RS3:MPFI`
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ It can be used as the random number generating function object in the
|
|||
\stl algorithm `std::random_shuffle`.
|
||||
|
||||
Instances of `Random` can be seen as input streams. Different
|
||||
streams are <I>independent</I> of each other, i.e. the sequence of
|
||||
streams are <I>independent</I> of each other, i.e.\ the sequence of
|
||||
numbers from one stream does <I>not</I> depend upon how many numbers
|
||||
were extracted from the other streams. At each time, an instance has
|
||||
a <I>state</I> that uniquely determines the subsequent numbers being
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ typedef const Point_3& reference;
|
|||
/*!
|
||||
Creates an input iterator `g` generating points of type `Point_3` uniformly
|
||||
distributed in the half-open cube with side length \f$ 2 a\f$, centered
|
||||
at the origin, i.e. \f$ \forall p = *g: -a \le p.x(),p.y(),p.z() < a\f$ .
|
||||
at the origin, i.e.\ \f$ \forall p = *g: -a \le p.x(),p.y(),p.z() < a\f$ .
|
||||
Three random numbers are needed from `rnd` for each point.
|
||||
|
||||
*/
|
||||
|
|
@ -155,7 +155,7 @@ typedef const Point_3& reference;
|
|||
/*!
|
||||
creates an input iterator `g` generating points of type `Point_3` uniformly
|
||||
distributed in the open sphere with radius \f$ r\f$,
|
||||
i.e. \f$ |*g| < r\f$ . Three random numbers are needed from
|
||||
i.e.\ \f$ |*g| < r\f$ . Three random numbers are needed from
|
||||
`rnd` for each point.
|
||||
|
||||
*/
|
||||
|
|
@ -225,7 +225,7 @@ typedef const Point_3& reference;
|
|||
/*!
|
||||
creates an input iterator `g` generating points of type `Point_3` uniformly
|
||||
distributed on the boundary of a sphere with radius \f$ r\f$,
|
||||
i.e. \f$ |*g| == r\f$ . Two random numbers are needed from
|
||||
i.e.\ \f$ |*g| == r\f$ . Two random numbers are needed from
|
||||
`rnd` for each point.
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ Note that
|
|||
way that its vertices form a subset of the vertex set of \f$ P\f$ and
|
||||
<LI>the vertices of a maximum area `k`-gon, where the `k` vertices
|
||||
are to be drawn from a planar point set \f$ S\f$, lie on the convex
|
||||
hull of \f$ S\f$ i.e. a convex polygon.
|
||||
hull of \f$ S\f$ i.e.\ a convex polygon.
|
||||
</UL>
|
||||
|
||||
\pre the - at least three - points denoted by the range
|
||||
|
|
@ -131,7 +131,7 @@ Note that
|
|||
way that its vertices form a subset of the vertex set of \f$ P\f$ and
|
||||
<LI>the vertices of a maximum perimeter `k`-gon, where the `k`
|
||||
vertices are to be drawn from a planar point set \f$ S\f$, lie on the
|
||||
convex hull of \f$ S\f$ i.e. a convex polygon.
|
||||
convex hull of \f$ S\f$ i.e.\ a convex polygon.
|
||||
</UL>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ meet the requirements for the traits class of the
|
|||
`polygon_area_2()` function. A model of this traits class is
|
||||
`Regular_triangulation_euclidean_traits_2<K, Weight>`.
|
||||
<LI>The value type of `OutputIterator` is equivalent to
|
||||
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`, i.e. a pair
|
||||
`std::pair<Rt::Weighted_point, Rt::Geom_traits::FT>`, i.e.\ a pair
|
||||
associating a point and its regular neighbor coordinate.
|
||||
</OL>
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ the sample points onto the tangent plane at `p`.
|
|||
The functions `surface_neighbor_coordinates_certified_3()` return, in
|
||||
addition, a second Boolean value (the fourth value of the quadruple)
|
||||
that certifies whether or not, the Voronoi cell of `p` can be affected
|
||||
by points that lie outside the input range, i.e. outside the ball
|
||||
by points that lie outside the input range, i.e.\ outside the ball
|
||||
centered on `p` passing through the furthest sample point from `p` in
|
||||
the range `[first, beyond)`. If the sample points are collected by a
|
||||
`k`-nearest neighbor or a range search query, this permits to check
|
||||
|
|
@ -29,7 +29,7 @@ whether the neighborhood which has been considered is large enough.
|
|||
<LI>`Dt` is equivalent to the class
|
||||
`Delaunay_triangulation_3`.
|
||||
<LI>The value type of `OutputIterator` is equivalent to
|
||||
`std::pair<Dt::Point_3, Dt::Geom_traits::FT>`, i.e. a pair
|
||||
`std::pair<Dt::Point_3, Dt::Geom_traits::FT>`, i.e.\ a pair
|
||||
associating a point and its natural neighbor coordinate.
|
||||
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
|
||||
</OL>
|
||||
|
|
@ -68,7 +68,7 @@ starting at `out`. The function returns a triple with an
|
|||
iterator that is placed past-the-end of the resulting sequence of
|
||||
point/coordinate pairs, the normalization factor of the coordinates
|
||||
and a Boolean value which is set to true iff the coordinate
|
||||
computation was successful, i.e. if `p` lies inside the convex
|
||||
computation was successful, i.e.\ if `p` lies inside the convex
|
||||
hull of the projection of the points \f$ \mathcal{P}\f$ onto the tangent
|
||||
plane.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ surface at `p`.
|
|||
The functions \c surface_neighbors_certified_3() also return, in
|
||||
addition, a Boolean value that certifies whether or not, the Voronoi
|
||||
cell of `p` can be affected by points that lie outside the input
|
||||
range, i.e. outside the ball centered on `p` passing through the
|
||||
range, i.e.\ outside the ball centered on `p` passing through the
|
||||
furthest sample point from `p` in the range `[first, beyond)`. If the sample
|
||||
points are collected by a k-nearest neighbor or a range search
|
||||
query, this permits to verify that a large enough neighborhood has
|
||||
|
|
@ -30,7 +30,7 @@ been considered.
|
|||
<LI>`Dt` is equivalent to the class
|
||||
`Delaunay_triangulation_3`.
|
||||
<LI>`OutputIterator::value_type` is equivalent to
|
||||
`Dt::Point_3`, i.e. a point type.
|
||||
`Dt::Point_3`, i.e.\ a point type.
|
||||
<LI>`ITraits` is equivalent to the class `Voronoi_intersection_2_traits_3<K>`.
|
||||
</OL>
|
||||
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ Constructor object for
|
|||
`Aff_transformation_d`. Provides :
|
||||
|
||||
`Aff_transformation_d operator()(Vector v)` which returns the
|
||||
outer product, i.e. the quadratic matrix `v`\f$ ^t\f$`v`.
|
||||
outer product, i.e.\ the quadratic matrix `v`\f$ ^t\f$`v`.
|
||||
*/
|
||||
typedef Hidden_type Construct_outer_product_d;
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ to interpolate this function on an arbitrary query point.
|
|||
More formally, let \f$ \mathcal{P}=\{\mathbf{p_1},\ldots ,\mathbf{p_n}\}\f$ be a set of
|
||||
\f$ n\f$ points in \f$ \mathbb{R}^2\f$ or \f$ \mathbb{R}^3\f$ and \f$ \Phi\f$ be a scalar
|
||||
function defined on the convex hull of \f$ \mathcal{P}\f$. We assume that
|
||||
the function values are known at the points of \f$ \mathcal{P}\f$, i.e. to
|
||||
the function values are known at the points of \f$ \mathcal{P}\f$, i.e.\ to
|
||||
each \f$ \mathbf{p_i} \in \mathcal{P}\f$, we associate \f$ z_i =
|
||||
\Phi(\mathbf{p_i})\f$. Sometimes, the gradient of \f$ \Phi\f$ is also known
|
||||
at \f$ \mathbf{p_i}\f$. It is denoted \f$ \mathbf{g_i}= \nabla
|
||||
|
|
@ -93,7 +93,7 @@ continuously differentiable except on the data points \f$ \mathcal{P}\f$.<BR>
|
|||
The interpolation package of \cgal provides functions to compute
|
||||
natural neighbor coordinates for \f$ 2D\f$ and \f$ 3D\f$ points with respect
|
||||
to Voronoi diagrams as well as with respect to power diagrams (only
|
||||
\f$ 2D\f$), i.e. for weighted points. Refer to the reference pages
|
||||
\f$ 2D\f$), i.e.\ for weighted points. Refer to the reference pages
|
||||
`natural_neighbor_coordinates_2()`,
|
||||
`sibson_natural_neighbor_coordinates_3()`
|
||||
`laplace_natural_neighbor_coordinates_3()` and
|
||||
|
|
@ -151,7 +151,7 @@ plane \f$ \mathcal{T}_x\f$ of the surface \f$ \mathcal{S}\f$ at the point
|
|||
\f$ \mathbf{x} \in \mathcal{S}\f$ approximates \f$ \mathcal{S}\f$ in the
|
||||
neighborhood of \f$ \mathbf{x}\f$. It has been shown in \cite bf-lcss-02
|
||||
that, if the surface \f$ \mathcal{S}\f$ is well sampled with respect to the
|
||||
curvature and the local thickness of \f$ \mathcal{S}\f$, i.e. it is an \f$ \epsilon\f$-sample, the intersection
|
||||
curvature and the local thickness of \f$ \mathcal{S}\f$, i.e.\ it is an \f$ \epsilon\f$-sample, the intersection
|
||||
of the tangent plane \f$ \mathcal{T}_x\f$ with the Voronoi cell of
|
||||
\f$ \mathbf{x}\f$ in the Voronoi diagram of \f$ \mathcal{P} \cup
|
||||
\{\mathbf{x}\}\f$ has a small diameter. Consequently, inside this
|
||||
|
|
@ -211,7 +211,7 @@ neighbors are necessarily a subset of the natural neighbors of the
|
|||
query point in this triangulation. \cgal provides a function that
|
||||
encapsulates the filtering based on the \f$ 3D\f$ Delaunay triangulation.
|
||||
For input points filtered by distance, functions are provided that
|
||||
indicate whether or not points that lie outside the input range (i.e.
|
||||
indicate whether or not points that lie outside the input range (i.e.\
|
||||
points that are further from \f$ \mathbf{x}\f$ than the furthest input
|
||||
point) can still influence the result. This allows to iteratively
|
||||
enlarge the set of input points until the range is sufficient to
|
||||
|
|
@ -332,7 +332,7 @@ of \f$ \mathbf{p_i}\f$ with respect to \f$ \mathbf{p_i}\f$ associated to
|
|||
|
||||
\cgal provides functions to approximate the gradients of all data
|
||||
points that are inside the convex hull. There is one function for each
|
||||
type of natural neighbor coordinate (i.e. `natural_neighbor_coordinates_2()`, `regular_neighbor_coordinates_2()`).
|
||||
type of natural neighbor coordinate (i.e.\ `natural_neighbor_coordinates_2()`, `regular_neighbor_coordinates_2()`).
|
||||
|
||||
\subsection subsecinterpol_examples Example for Linear Interpolation
|
||||
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ of the fitting basis.
|
|||
direct, and the maximal, minimal curvatures are defined wrt this
|
||||
basis. If the user has a predefined normal \f$ n_0\f$ (e.g. the sample
|
||||
points come from an oriented mesh) then if \f$ n_0 . n >0\f$ then max-min
|
||||
is correct; if not, i.e. \f$ n_0 . n <0\f$, the user should switch to the
|
||||
is correct; if not, i.e.\ \f$ n_0 . n <0\f$, the user should switch to the
|
||||
orthonormal direct basis \f$ (d_1',d_2',n')=(d_2,d_1,-n)\f$ with the
|
||||
maximal curvature \f$ k_1'=-k_2\f$ and the minimal curvature
|
||||
\f$ k_2'=-k_1\f$. If \f$ n_0 . n =0\f$ or is small, the orientation of the
|
||||
|
|
@ -366,7 +366,7 @@ given by
|
|||
\f}
|
||||
|
||||
The equations for interpolation become \f$ MA=Z\f$. For approximation, the
|
||||
system \f$ MA=Z\f$ is solved in the least square sense, i.e. one seeks the
|
||||
system \f$ MA=Z\f$ is solved in the least square sense, i.e.\ one seeks the
|
||||
vector \f$ A\f$ such that \f$ A = \arg \min_A ||MA-Z||_2\f$.
|
||||
|
||||
In any case, there is a preconditioning of the matrix \f$ M\f$ so as to
|
||||
|
|
@ -476,7 +476,7 @@ M}^{-1}=P_{F \rightarrow M}^T\f$. The Monge basis expressed in the
|
|||
world-basis is obtained by multiplying the coordinates of
|
||||
\f$ (d_1,d_2,n)\f$ in the fitting-basis by \f$ P_{W\rightarrow F}^{-1}\f$,
|
||||
(the same holds for the origin point which has in addition to be
|
||||
translated by \f$ p\f$, i.e. the coordinates of the origin point are
|
||||
translated by \f$ p\f$, i.e.\ the coordinates of the origin point are
|
||||
\f$ P_{W\rightarrow F}^{-1} (0,0,A_{0,0}) +p\f$.
|
||||
</UL>
|
||||
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ Segment_d<Kernel> operator+(const Vector_d<Kernel>& v) ;
|
|||
|
||||
/*!
|
||||
returns true if `s` is
|
||||
degenerate i.e. `s.source()=s.target()`.
|
||||
degenerate i.e.\ `s.source()=s.target()`.
|
||||
*/
|
||||
bool is_degenerate() ;
|
||||
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ operations, for example computing squared distances or returning a
|
|||
the number type parameter of `Homogeneous` low, the number type
|
||||
`Quotient<RingNumberType>` is used instead. This number type
|
||||
turns a ring type into a field type. It maintains numbers as
|
||||
quotients, i.e. a numerator and a denominator. Thereby, divisions are
|
||||
quotients, i.e.\ a numerator and a denominator. Thereby, divisions are
|
||||
circumvented. With `Homogeneous_d<RingNumberType>`,
|
||||
`Homogeneous_d<RingNumberType>::%FT` is equal to
|
||||
`Quotient<RingNumberType>` while
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace CGAL {
|
|||
Lets say you want to maintain a sorted list of items (each item is
|
||||
associate with a real number key). You can imagine placing each of the
|
||||
items on the point on the real line corresponding to its key. Now, let
|
||||
the key for each item change continuously (i.e. no jumps are allowed).
|
||||
the key for each item change continuously (i.e.\ no jumps are allowed).
|
||||
As long as no two (consecutive) items cross, the sorted order is
|
||||
intact. When two items cross, they need to be exchanged in the list and then
|
||||
the sorted order is once again correct. This is a trivial example of a
|
||||
|
|
@ -99,7 +99,7 @@ must be updated, as well as the set of certificate functions that
|
|||
verify it. We call such occurrences <I>events</I>.
|
||||
|
||||
Maintaining a kinetic data structure is then a matter of determining
|
||||
which certificate function changes sign next, i.e. determining which
|
||||
which certificate function changes sign next, i.e.\ determining which
|
||||
certificate function has the first real root that is greater than the
|
||||
current time, and then updating the structure and the set of
|
||||
certificate functions. In addition, the trajectories of primitives are
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ Data at(Key key) const;
|
|||
/*!
|
||||
Set the editing state of
|
||||
the object. A notification is sent when the editing state is set to
|
||||
false after it has been true, i.e. the editing session is finished.
|
||||
false after it has been true, i.e.\ the editing session is finished.
|
||||
This allows changes to be batched together.
|
||||
*/
|
||||
void set_is_editing(bool is_editing);
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ the traits, items, and for the allocator classes, and by default
|
|||
|
||||
A linear cell complex is valid, if it is a valid combinatorial map
|
||||
where each dart is associated with an attribute containing a point
|
||||
(i.e. an instance of a model of the `CellAttributeWithPoint`
|
||||
(i.e.\ an instance of a model of the `CellAttributeWithPoint`
|
||||
concept). Note that there are no validity constraints on the geometry
|
||||
(test on self intersection, planarity of 2-cells...).
|
||||
We can see two examples of `Linear_cell_complex` in
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ More exactly, a matrix \f$ M = (m_{i j}) \in S^{r \times l}\f$
|
|||
\f}
|
||||
|
||||
Now let \f$ \mathcal{M}\f$ be a set of \f$ n\f$ sorted matrices over \f$ S\f$
|
||||
and \f$ f\f$ be a monotone predicate on \f$ S\f$, i.e.
|
||||
and \f$ f\f$ be a monotone predicate on \f$ S\f$, i.e.\
|
||||
\f[
|
||||
f\: :\: S \longrightarrow\, \textit{bool} \quad{\rm with}\quad f(r)
|
||||
\;\Longrightarrow\; \forall\, t \in S\,,\: t > r \; :\; f(t)\;.
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ void replace_column( int old, int new);
|
|||
/*!
|
||||
returns
|
||||
a new Matrix consisting of all rows of `m` with even index,
|
||||
(i.e. first row is row \f$ 0\f$ of `m`, second row is row \f$ 2\f$ of
|
||||
(i.e.\ first row is row \f$ 0\f$ of `m`, second row is row \f$ 2\f$ of
|
||||
`m` etc.). \pre `number_of_rows()` \f$ > 0\f$.
|
||||
*/
|
||||
Matrix* extract_all_even_rows() const;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ The class `Mesh_constant_domain_field_3` is a model of concept `MeshDomainField_
|
|||
a constant field accessible using queries on 3D-points.
|
||||
|
||||
The class `Mesh_constant_domain_field_3` can also be customized through `set_size()` operations to become
|
||||
a piecewise constant field, i.e. a sizing field with a constant size on each subpart
|
||||
a piecewise constant field, i.e.\ a sizing field with a constant size on each subpart
|
||||
of the domain.
|
||||
|
||||
\tparam Gt is the geometric traits class. It must match the type `Triangulation::Geom_traits`,
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ The parameter `convergence` gives the threshold ratio.
|
|||
- <b>`parameters::freeze_bound`</b>
|
||||
is designed to reduce running time of each optimization iteration. Any vertex
|
||||
that has
|
||||
a displacement less than a given percentage of the length of its shortest incident edge, is frozen (i.e. is
|
||||
a displacement less than a given percentage of the length of its shortest incident edge, is frozen (i.e.\ is
|
||||
not relocated). The parameter `freeze_bound` gives the threshold ratio. At each iteration, any vertex that
|
||||
moves, unfreezes all its incident vertices.
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ The type `Features` of this parameter is an internal undescribed type.
|
|||
The library provides functions to construct appropriate values of that type.
|
||||
<UL>
|
||||
<LI>`parameters::features(domain)` sets `features` according to the domain,
|
||||
i.e. 0 and 1-dimensional features are taken into account if `domain` is a
|
||||
i.e.\ 0 and 1-dimensional features are taken into account if `domain` is a
|
||||
`MeshDomainWithFeatures_3`. This is the default behavior
|
||||
if parameter `features` is not specified.
|
||||
<LI>`parameters::no_features()` prevents the representation
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ The parameter `convergence` gives the threshold ratio.
|
|||
- <b>`parameters::freeze_bound`</b>
|
||||
is designed to reduce running time of each optimization iteration.
|
||||
Any vertex that has
|
||||
a displacement less than a given percentage of the length of its shortest incident edge, is frozen (i.e. is
|
||||
a displacement less than a given percentage of the length of its shortest incident edge, is frozen (i.e.\ is
|
||||
not relocated). The parameter `freeze_bound` gives the threshold ratio. At each iteration, any vertex that
|
||||
moves, unfreezes the neighboring vertices.
|
||||
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ to the optimization function `exude_mesh_3()` through these mesh generation func
|
|||
|
||||
\cgalHeading{Parameters}
|
||||
|
||||
The parameters are named parameters. They are the same (i.e. they have the same
|
||||
The parameters are named parameters. They are the same (i.e.\ they have the same
|
||||
name and the same default values) as the parameters of `exude_mesh_3()`
|
||||
function. See its manual page for further details.
|
||||
|
||||
|
|
@ -223,7 +223,7 @@ parameters to the optimization function
|
|||
|
||||
\cgalHeading{Parameters}
|
||||
|
||||
The parameters are named parameters. They are the same (i.e. they have the same
|
||||
The parameters are named parameters. They are the same (i.e.\ they have the same
|
||||
name and the same default values) as the parameters of the `lloyd_optimize_mesh_3()`
|
||||
function. See its manual page for further details.
|
||||
|
||||
|
|
@ -377,7 +377,7 @@ allows the user to pass parameters to the optimization function
|
|||
|
||||
\cgalHeading{Parameters}
|
||||
|
||||
The parameters are named parameters. They are the same (i.e. they have the same
|
||||
The parameters are named parameters. They are the same (i.e.\ they have the same
|
||||
name and the same default values) as the parameters of `odt_optimize_mesh_3()`
|
||||
function. See its manual page for further details.
|
||||
|
||||
|
|
@ -418,7 +418,7 @@ to the optimization function `perturb_mesh_3()` through these mesh generation fu
|
|||
|
||||
\cgalHeading{Parameters}
|
||||
|
||||
The parameters are named parameters. They are the same (i.e. they have the same
|
||||
The parameters are named parameters. They are the same (i.e.\ they have the same
|
||||
name and the same default values) as the parameters of `perturb_mesh_3()`
|
||||
function. See its manual page for further details.
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ The concept `MeshComplexWithFeatures_3InTriangulation_3` refines the minimal con
|
|||
`MeshComplex_3InTriangulation_3`, designed to represent
|
||||
3D complexes having only faces with dimension 2 and 3.
|
||||
Therefore, the concept `MeshComplexWithFeatures_3InTriangulation_3` may represent embedded complexes
|
||||
including <I>features</I>, i.e. faces with dimension \f$ 0\f$ and \f$ 1\f$.
|
||||
including <I>features</I>, i.e.\ faces with dimension \f$ 0\f$ and \f$ 1\f$.
|
||||
|
||||
The data structure includes a 3D triangulation which is itself a 3D complex.
|
||||
To distinguish the faces of the embedded 3D complex from the
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ belong to
|
|||
two corners incident on the curve segment.
|
||||
If it is a cycle, then the same `Point_3` should be given twice and must be any
|
||||
point on the cycle.
|
||||
The `Index` values associated to the points are their indices w.r.t. their dimension.
|
||||
The `Index` values associated to the points are their indices w.r.t.\ their dimension.
|
||||
*/
|
||||
template <typename OutputIterator>
|
||||
OutputIterator
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
\ingroup PkgMesh_3SecondaryConcepts
|
||||
\cgalConcept
|
||||
|
||||
The concept `MeshPolyline_3` implements a container of points designed to represent a polyline (i.e. a sequence of points).
|
||||
The concept `MeshPolyline_3` implements a container of points designed to represent a polyline (i.e.\ a sequence of points).
|
||||
Types and functions provided in this concept are such as standard template library containers
|
||||
are natural models of this concept.
|
||||
|
||||
|
|
|
|||
|
|
@ -171,7 +171,7 @@ To some extend, the user may tune the Delaunay refinement
|
|||
to a prescribed trade-off
|
||||
between mesh quality and mesh density.
|
||||
The mesh density refers to the number of mesh vertices and cells,
|
||||
i.e. to the complexity of the mesh.
|
||||
i.e.\ to the complexity of the mesh.
|
||||
The mesh quality referred to here is measured by the radius edge
|
||||
ratio of surface facets end mesh cells, where the radius edge ratio of
|
||||
a simplex (triangle or tetrahedron) is the
|
||||
|
|
@ -375,7 +375,7 @@ The type `Features` of this parameter is an internal undescribed type.
|
|||
The library provides functions to construct appropriate values of that type.
|
||||
<UL>
|
||||
<LI>`parameters::features(domain)` sets `features` according to the domain,
|
||||
i.e. 0 and 1-dimensional features are taken into account if `domain` is a
|
||||
i.e.\ 0 and 1-dimensional features are taken into account if `domain` is a
|
||||
`MeshDomainWithFeatures_3`
|
||||
<LI>`parameters::no_features()` prevents the representation
|
||||
of 0 and 1-dimensional features in the mesh. This is useful to get a smooth and rough approximation
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ quality of the decomposition.
|
|||
Let us denote the vertices of the input polygons by
|
||||
\f$ P = \left( p_0, \ldots, p_{m-1} \right)\f$ and
|
||||
\f$ Q = \left( q_0, \ldots, q_{n-1} \right)\f$. We assume that both \f$ P\f$ and \f$ Q\f$
|
||||
have positive orientations (i.e. their boundaries wind in a counterclockwise
|
||||
have positive orientations (i.e.\ their boundaries wind in a counterclockwise
|
||||
order around their interiors) and compute the convolution of the two polygon
|
||||
boundaries. The <I>convolution</I> of these two polygons \cite grs-kfcg-83,
|
||||
denoted \f$ P * Q\f$, is a collection of line segments of the form
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ either *running* or it is *stopped*. The state is controlled
|
|||
with `Real_timer::start()` and `Real_timer::stop()`. The timer counts the
|
||||
time elapsed since its creation or last reset. It counts only the time
|
||||
where it is in the running state. The time information is given in seconds.
|
||||
The timer counts also the number of intervals it was running, i.e. it
|
||||
The timer counts also the number of intervals it was running, i.e.\ it
|
||||
counts the number of calls of the `Real_timer::start()` member function since the
|
||||
last reset. If the reset occures while the timer is running it counts as the
|
||||
first interval.
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ either *running* or it is *stopped*. The state is controlled
|
|||
with `Timer::start()` and `Timer::stop()`. The timer counts the
|
||||
time elapsed since its creation or last reset. It counts only the time
|
||||
where it is in the running state. The time information is given in seconds.
|
||||
The timer counts also the number of intervals it was running, i.e. it
|
||||
The timer counts also the number of intervals it was running, i.e.\ it
|
||||
counts the number of calls of the `Timer::start()` member function since the
|
||||
last reset. If the reset occures while the timer is running it counts as the
|
||||
first interval.
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ either <I>running</I> or it is <I>stopped</I>. The state of an object
|
|||
with `t.start()` and `t.stop()`. The timer counts the
|
||||
time elapsed since its creation or last reset. It counts only the time
|
||||
where it is in the running state. The time information is given in seconds.
|
||||
The timer counts also the number of intervals it was running, i.e. it
|
||||
The timer counts also the number of intervals it was running, i.e.\ it
|
||||
counts the number of calls of the `start()` member function since the
|
||||
last reset. If the reset occurs while the timer is running it counts as the
|
||||
first interval.
|
||||
|
|
|
|||
|
|
@ -877,7 +877,7 @@ public:
|
|||
\ingroup PkgNef3
|
||||
|
||||
A volume is a full-dimensional connected point set in \f$ \mathbb{R}^3\f$. It is
|
||||
bounded by several shells, i.e. a connected part of the boundary incident
|
||||
bounded by several shells, i.e.\ a connected part of the boundary incident
|
||||
to a single volume. An entry element to each shell is provided by the
|
||||
iterator range (`shells_begin()`/`shells_end()`). A
|
||||
`Shell_entry_iterator` is assignable to `SFace_handle`.
|
||||
|
|
@ -1369,7 +1369,7 @@ public:
|
|||
Nef_polyhedron_3<Traits> closure() const;
|
||||
|
||||
/*!
|
||||
returns the regularization, i.e. the closure of the interior, of `N` .
|
||||
returns the regularization, i.e.\ the closure of the interior, of `N` .
|
||||
*/
|
||||
Nef_polyhedron_3<Traits> regularization() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ The local pyramids of each vertex are represented by
|
|||
conceptually intersecting the local neighborhood with a small
|
||||
\f$ \varepsilon\f$-sphere. This intersection forms a planar map on the
|
||||
sphere (see next two figures), which together with the set-selection
|
||||
mark for each item (i.e. vertices, edges, loops and faces)
|
||||
mark for each item (i.e.\ vertices, edges, loops and faces)
|
||||
forms a two-dimensional Nef polyhedron embedded in
|
||||
the sphere. We add the set-selection mark for the vertex and call the
|
||||
resulting structure the <I>sphere map</I> of the vertex.
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ namespace CORE {
|
|||
\ingroup nt_core
|
||||
|
||||
The class `CORE::BigFloat` is a variable precision floating-point type.
|
||||
Rounding mode and precision (i.e. mantissa length) of
|
||||
Rounding mode and precision (i.e.\ mantissa length) of
|
||||
`CORE::BigFloat` can be set.
|
||||
Since it also carries the error of a computed value.
|
||||
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ Gmpq(const std::string& str, int base);
|
|||
/// defined. It is guaranteed that `q.numerator()` and
|
||||
/// `q.denominator()` return values `nt_num` and `nt_den` such that `q
|
||||
/// = nt_num/nt_den`, only if `q.numerator()` and `q.denominator()`
|
||||
/// are called consecutively wrt. `q`, i.e. `q` is not involved in any
|
||||
/// are called consecutively wrt. `q`, i.e.\ `q` is not involved in any
|
||||
/// other operation between these calls.
|
||||
/// @{
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ It is guaranteed that `q.numerator()` and
|
|||
`q.denominator()` return values `nt_num` and
|
||||
`nt_den` such that `q = nt_num/nt_den`, only
|
||||
if `q.numerator()` and `q.denominator()` are called
|
||||
consecutively wrt `q`, i.e. `q` is not involved in
|
||||
consecutively wrt `q`, i.e.\ `q` is not involved in
|
||||
any other operation between these calls.
|
||||
|
||||
The stream operations are available as well.
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
The class `leda_bigfloat` is a wrapper class that provides the functions
|
||||
needed to use the number type `bigfloat`.
|
||||
`bigfloat`
|
||||
Rounding mode and precision (i.e. mantissa length) of
|
||||
Rounding mode and precision (i.e.\ mantissa length) of
|
||||
`leda_bigfloat` can be set.
|
||||
|
||||
For more details on the number types of \leda we refer to the \leda manual \cite cgal:mnsu-lum.
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ computation as long as all intermediate results are rational. For the
|
|||
same kind of problems, Cartesian representation with number type
|
||||
`leda_rational` leads to exact computation as well.
|
||||
The number type `leda_bigfloat` in \leda is a variable precision
|
||||
floating-point type. Rounding mode and precision (i.e. mantissa length) of
|
||||
floating-point type. Rounding mode and precision (i.e.\ mantissa length) of
|
||||
`leda_bigfloat` can be set.
|
||||
|
||||
The most sophisticated number type in \leda is the number type called
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ typedef Triangulation_data_structure::Vertex_iterator Vertex_iterator;
|
|||
|
||||
/*!
|
||||
iterator over the vertices whose
|
||||
corresponding points lie in the original domain, i.e. for each set
|
||||
corresponding points lie in the original domain, i.e.\ for each set
|
||||
of periodic copies the `Unique_vertex_iterator` iterates over
|
||||
exactly one representative.
|
||||
*/
|
||||
|
|
@ -396,7 +396,7 @@ Triangulation_data_structure & tds();
|
|||
/*!
|
||||
The current triangulation remains a triangulation in the 1-sheeted
|
||||
covering space even after adding points if this method returns
|
||||
`true`. This test relies on a heuristic, i.e. if it answers
|
||||
`true`. This test relies on a heuristic, i.e.\ if it answers
|
||||
`false` nothing is known. This test runs in constant-time when
|
||||
not computing in the 1-sheeted covering space. (This test uses the length
|
||||
of the longest edge in the triangulation as a
|
||||
|
|
@ -406,7 +406,7 @@ bool is_extensible_triangulation_in_1_sheet_h1() const;
|
|||
|
||||
/*!
|
||||
The same as `is_extensible_triangulation_in_1_sheet_h1()` but with
|
||||
a more precise heuristic, i.e. it might answer `true` in cases in which
|
||||
a more precise heuristic, i.e.\ it might answer `true` in cases in which
|
||||
`is_extensible_triangulation_in_1_sheet_h1()` would not. However, it is
|
||||
much less time efficient when not computing in the 1-sheeted covering
|
||||
space. (This test uses the diameter of the largest empty ball in the
|
||||
|
|
@ -828,7 +828,7 @@ that allow one to traverse it.
|
|||
\name Cell, Face, Edge and Vertex Iterators
|
||||
|
||||
The following iterators allow the user to visit cells, facets, edges
|
||||
and vertices of the stored triangulation, i.e. in case of computing in
|
||||
and vertices of the stored triangulation, i.e.\ in case of computing in
|
||||
a multiply sheeted covering space all stored periodic copies of each
|
||||
item are returned. These iterators are non-mutable, bidirectional and
|
||||
their value types are respectively `Cell`, `Facet`, `Edge` and
|
||||
|
|
@ -884,7 +884,7 @@ Cell_iterator cells_end() const;
|
|||
|
||||
/*!
|
||||
Starts at an arbitrary vertex. Iterates over all vertices whose
|
||||
corresponding points lie in the original domain, i.e. for each set
|
||||
corresponding points lie in the original domain, i.e.\ for each set
|
||||
of periodic copies the `Unique_vertex_iterator` iterates over
|
||||
exactly one representative. Returns `unique_vertices_end()` if
|
||||
`t`.`number_of_vertices()` \f$ =0\f$.
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ typedef Hidden_type Iso_cuboid_3;
|
|||
/// The following three types represent geometric primitives in \f$
|
||||
/// \mathbb R^3\f$. They are required to provide functions converting
|
||||
/// primitives from \f$ \mathbb T_c^3\f$ to \f$ \mathbb R^3\f$,
|
||||
/// i.e. constructing representatives in \f$ \mathbb R^3\f$.
|
||||
/// i.e.\ constructing representatives in \f$ \mathbb R^3\f$.
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ namespace CGAL {
|
|||
The periodic 3D-triangulation class of \cgal is designed to
|
||||
represent the triangulations of a set of points in the
|
||||
three-dimensional flat torus. The triangulation forms a partition of
|
||||
the space it is computed in. It is a simplicial complex, i.e. it
|
||||
the space it is computed in. It is a simplicial complex, i.e.\ it
|
||||
contains all incident \f$ j\f$-simplices (\f$ j<k\f$) of any \f$ k\f$-simplex and two
|
||||
\f$ k\f$-simplices either do not intersect or share a common \f$ j\f$-face,
|
||||
\f$ j<k\f$. The occurring simplices of dimension up to three are called
|
||||
|
|
|
|||
|
|
@ -1038,7 +1038,7 @@ public:
|
|||
size_type size_of_vertices() const;
|
||||
|
||||
/*!
|
||||
number of halfedges (incl. border halfedges).
|
||||
number of halfedges (incl.\ border halfedges).
|
||||
*/
|
||||
size_type size_of_halfedges() const;
|
||||
|
||||
|
|
@ -1535,7 +1535,7 @@ n */
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
reverses facet orientations (incl. plane equations if supported).
|
||||
reverses facet orientations (incl.\ plane equations if supported).
|
||||
*/
|
||||
void inside_out();
|
||||
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@ The template argument `Coeff` must be at
|
|||
least a model of `IntegralDomainWithoutDivision`.
|
||||
For all operations naturally involving division, an `IntegralDomain`
|
||||
is required.
|
||||
`Polynomial` offers a full set of algebraic operators, i.e.
|
||||
`Polynomial` offers a full set of algebraic operators, i.e.\
|
||||
binary <TT>+</TT>, <TT>-</TT>, <TT>*</TT>, <TT>/</TT> as well as
|
||||
<TT>+=</TT>, <TT>-=</TT>, <TT>*=</TT>, <TT>/=</TT>; not only for polynomials
|
||||
but also for a polynomial and a number of the coefficient type.
|
||||
(The <TT>/</TT> operator must only be used for integral divisions, i.e.
|
||||
(The <TT>/</TT> operator must only be used for integral divisions, i.e.\
|
||||
those with remainder zero.)
|
||||
The operations are implemented naively: <TT>+</TT> and <TT>-</TT> need a number of `Coeff`
|
||||
operations which is linear in the degree while * is quadratic.
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ sets in \f$ d\f$-dimensional Euclidean space \f$ \E^d\f$. For point sets \f$ P\f
|
|||
we denote by \f$ pd(P,Q)\f$ the distance between the convex hulls of \f$ P\f$ and
|
||||
\f$ Q\f$. Note that \f$ pd(P,Q)\f$ can be
|
||||
degenerate,
|
||||
i.e. \f$ pd(P,Q)=\infty\f$ if \f$ P\f$ or \f$ Q\f$ is empty.
|
||||
i.e.\ \f$ pd(P,Q)=\infty\f$ if \f$ P\f$ or \f$ Q\f$ is empty.
|
||||
|
||||
Two inclusion-minimal subsets \f$ S_P\f$ of \f$ P\f$ and \f$ S_Q\f$ of \f$ Q\f$ with
|
||||
\f$ pd(S_P,S_Q)=pd(P,Q)\f$ are called <I>pair of support
|
||||
|
|
@ -19,7 +19,7 @@ points in \f$ S_P\f$ and \f$ S_Q\f$ are the <I>support points</I>. A pair of sup
|
|||
sets has size at most \f$ d+2\f$ (by size we mean \f$ |S_P|+|S_Q|\f$). The distance
|
||||
between the two polytopes is <I>realized</I> by a pair of points \f$ p\f$ and
|
||||
\f$ q\f$ lying in the convex hull of \f$ S_P\f$ and \f$ S_Q\f$, repectively,
|
||||
i.e. \f$ \sqrt{||p-q||}=pd(P,Q)\f$. In general, neither the support sets nor the
|
||||
i.e.\ \f$ \sqrt{||p-q||}=pd(P,Q)\f$. In general, neither the support sets nor the
|
||||
realizing points are necessarily unique.
|
||||
|
||||
The underlying algorithm can cope with all kinds of input, e.g. \f$ P\f$ and \f$ Q\f$
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ written to o]`} and returns the past-the-end iterator of this
|
|||
sequence.
|
||||
|
||||
The function `all_furthest_neighbors_2()` computes all furthest
|
||||
neighbors for the vertices of a convex polygon \f$ P\f$, i.e. for each
|
||||
neighbors for the vertices of a convex polygon \f$ P\f$, i.e.\ for each
|
||||
vertex \f$ v\f$ of \f$ P\f$ a vertex \f$ f_v\f$ of \f$ P\f$ such that the distance
|
||||
between \f$ v\f$ and \f$ f_v\f$ is maximized.
|
||||
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ Programs can be written to an output stream in MPSFormat, using one of the follo
|
|||
\cgalPkgPicture{qp.png}
|
||||
\cgalPkgSummaryBegin
|
||||
\cgalPkgAuthors{Kaspar Fischer, Bernd Gärtner, Sven Schönherr, and Frans Wessendorp}
|
||||
\cgalPkgDesc{This package contains algorithms for minimizing linear and convex quadratic functions over polyhedral domains, described by linear equations and inequalities. The algorithms are exact, i.e. the solution is computed in terms of multiprecision rational numbers. The resulting solution is certified: along with the claims that the problem under consideration has an optimal solution, is infeasible, or is unbounded, the algorithms also deliver proofs for these facts. These proofs can easily (and independently from the algorithms) be checked for correctness. The solution algorithms are based on a generalization of the simplex method to quadratic objective functions. }
|
||||
\cgalPkgDesc{This package contains algorithms for minimizing linear and convex quadratic functions over polyhedral domains, described by linear equations and inequalities. The algorithms are exact, i.e.\ the solution is computed in terms of multiprecision rational numbers. The resulting solution is certified: along with the claims that the problem under consideration has an optimal solution, is infeasible, or is unbounded, the algorithms also deliver proofs for these facts. These proofs can easily (and independently from the algorithms) be checked for correctness. The solution algorithms are based on a generalization of the simplex method to quadratic objective functions. }
|
||||
\cgalPkgManuals{Chapter_Linear_and_Quadratic_Programming_Solver,PkgQPSolver}
|
||||
\cgalPkgSummaryEnd
|
||||
\cgalPkgShortInfoBegin
|
||||
|
|
|
|||
|
|
@ -61,10 +61,10 @@ gradients of the principal curvatures. Ridges, illustrated in
|
|||
A non umbilical point is called
|
||||
<UL>
|
||||
<LI>a max ridge point, if the <I>extremality coefficient</I> \f$ b_0=\langle
|
||||
dk_1,d_1 \rangle\f$ vanishes, i.e. \f$ b_0=0\f$.
|
||||
dk_1,d_1 \rangle\f$ vanishes, i.e.\ \f$ b_0=0\f$.
|
||||
|
||||
<LI>a min ridge point, if the <I>extremality coefficient</I>
|
||||
\f$ b_3=\langle dk_2,d_2 \rangle\f$ vanishes, i.e. \f$ b_3=0\f$
|
||||
\f$ b_3=\langle dk_2,d_2 \rangle\f$ vanishes, i.e.\ \f$ b_3=0\f$
|
||||
\cgalFootnote{Notations \f$ b_0, b_3\f$ comes from Equation \ref eqmonge }.
|
||||
</UL>
|
||||
</EM>
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ the halfedge data structures.
|
|||
|
||||
It supports bidirectional iterators and allows a constant time amortized
|
||||
`insert()` operation. You cannot specify where to insert new objects
|
||||
(i.e. you don't know where they will end up in the iterator sequence,
|
||||
(i.e.\ you don't know where they will end up in the iterator sequence,
|
||||
although `insert()` returns an iterator pointing to the newly inserted
|
||||
object). You can erase any element with a constant time complexity.
|
||||
|
||||
|
|
@ -79,7 +79,7 @@ memory since it doesn't store two additional pointers for the iterator needs.
|
|||
It doesn't deallocate elements until the destruction or `clear()` of the
|
||||
container. The iterator does not have constant amortized time complexity for
|
||||
the increment and decrement operations in all cases, only when not too many
|
||||
elements have not been freed (i.e. when the `size()` is close to the
|
||||
elements have not been freed (i.e.\ when the `size()` is close to the
|
||||
`capacity()`). Iterating from `begin()` to `end()` takes
|
||||
`O(capacity())` time, not `size()`. In the case where the container
|
||||
has a small `size()` compared to its `capacity()`, we advise to
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ namespace CGAL {
|
|||
instead.
|
||||
|
||||
The function `predecessor` returns the previous iterator,
|
||||
i.e. the result of `operator--` on a bidirectional iterator.
|
||||
i.e.\ the result of `operator--` on a bidirectional iterator.
|
||||
|
||||
\sa `CGAL::successor()`
|
||||
|
||||
|
|
|
|||
|
|
@ -385,7 +385,7 @@ introduced by Arya and Mount \cite am-afvq-93. This technique
|
|||
works only for neighbor queries with query items represented as points
|
||||
and with a quadratic form distance, defined by \f$ d_A(x,y)=
|
||||
(x-y)A(x-y)^T\f$, where the matrix \f$ A\f$ is positive definite,
|
||||
i.e. \f$ d_A(x,y) \geq 0\f$. An important class of quadratic form
|
||||
i.e.\ \f$ d_A(x,y) \geq 0\f$. An important class of quadratic form
|
||||
distances are weighted Minkowski distances. Given a parameter \f$ p>0\f$
|
||||
and parameters \f$ w_i \geq 0, 0 < i \leq d\f$, the weighted Minkowski
|
||||
distance is defined by \f$ l_p(w)(r,q)= ({\Sigma_{i=1}^{i=d} \,
|
||||
|
|
|
|||
|
|
@ -58,12 +58,12 @@ Halfedge_const_handle defining_contour_edge() const;
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
Returns `true` iff this is a bisector (or skeleton) halfedge (i.e. is not a contour halfedge).
|
||||
Returns `true` iff this is a bisector (or skeleton) halfedge (i.e.\ is not a contour halfedge).
|
||||
*/
|
||||
bool is_bisector() const;
|
||||
|
||||
/*!
|
||||
Returns `true` iff this is a bisector and is inner (i.e. is not incident upon a contour vertex).
|
||||
Returns `true` iff this is a bisector and is inner (i.e.\ is not incident upon a contour vertex).
|
||||
*/
|
||||
bool is_inner_bisector() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
creates a color with rgb-value `(0,0,0)`, i.e. black.
|
||||
creates a color with rgb-value `(0,0,0)`, i.e.\ black.
|
||||
*/
|
||||
Color();
|
||||
|
||||
|
|
|
|||
|
|
@ -133,7 +133,7 @@ Subdivision_method_3::CatmullClark_subdivision(P,d);
|
|||
subdivision functions. `CatmullClark_subdivision(P,d)` computes the
|
||||
Catmull-Clark subdivision surface of the polyhedron `P` after
|
||||
`d` iterations of the refinements. The polyhedron `P` is
|
||||
passed by reference, and is modified (i.e. subdivided) by the
|
||||
passed by reference, and is modified (i.e.\ subdivided) by the
|
||||
subdivision function.
|
||||
|
||||
This example shows how to subdivide a simple `Polyhedron_3`
|
||||
|
|
@ -365,10 +365,10 @@ can not be used with `Subdivision_method_3`.
|
|||
Although `Subdivision_method_3` does not require flags
|
||||
to support the refinements and the stencils, it
|
||||
still needs to know how to compute and store the geometry
|
||||
data (i.e. the points). `Subdivision_method_3`
|
||||
data (i.e.\ the points). `Subdivision_method_3`
|
||||
expects that the typename `Point_3` is
|
||||
defined in the geometry kernel of the polyhedron
|
||||
(i.e. the `Polyhedron_3::Traits::Kernel`).
|
||||
(i.e.\ the `Polyhedron_3::Traits::Kernel`).
|
||||
A point of the type `Point_3` is returned by the geometry
|
||||
policy and is then assigned to the new vertex.
|
||||
The geometry policy is explained in next section.
|
||||
|
|
@ -392,8 +392,8 @@ Each geometry mask receives a primitive handle
|
|||
(e.g. `Halfedge_handle`) of the control mesh,
|
||||
and returns a `Point_3` to the subdivided vertex.
|
||||
The function collects the vertex neighbors of the primitive handle
|
||||
(i.e. nodes on the stencil), and computes the new point
|
||||
based on the neighbors and the mask (i.e. the stencil weights).
|
||||
(i.e.\ nodes on the stencil), and computes the new point
|
||||
based on the neighbors and the mask (i.e.\ the stencil weights).
|
||||
|
||||
\image html cc_mask.gif
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ typedef Hidden_type Error_code;
|
|||
|
||||
/*!
|
||||
|
||||
Assign to mesh's border vertices a 2D position (i.e. a `(u, v)` pair) on border's shape. Mark them as <I>parameterized</I>. Return false on error.
|
||||
Assign to mesh's border vertices a 2D position (i.e.\ a `(u, v)` pair) on border's shape. Mark them as <I>parameterized</I>. Return false on error.
|
||||
|
||||
*/
|
||||
Error_code parameterize_border(Adaptor& mesh);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
A `ParameterizationMesh_3` surface consists of vertices, facets and an incidence relation on them. No notion of edge is requested. Vertices represent points in 3d-space. Facets are planar polygons without holes defined by the circular sequence of vertices along their border. The surface itself can have holes. The vertices along the border of a hole are called <I>border vertices</I>. A surface is <I>closed</I> if it contains no border vertices.
|
||||
|
||||
The surface must be an oriented 2-manifold with border vertices, i.e. the neighborhood of each point on the surface is either homeomorphic to a disc or to a half disc, except for vertices where many holes and surfaces with border can join.
|
||||
The surface must be an oriented 2-manifold with border vertices, i.e.\ the neighborhood of each point on the surface is either homeomorphic to a disc or to a half disc, except for vertices where many holes and surfaces with border can join.
|
||||
|
||||
`ParameterizationMesh_3` defines the types, data and methods that a mesh must implement to allow surface parameterization. Among other things, this concept defines accessors to fields specific to parameterizations methods: index, `u`, `v`, `is_parameterized`.
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ class ParameterizationMesh_3 {
|
|||
public:
|
||||
|
||||
/// \name Types
|
||||
/// The following mutable handles, iterators, and circulators have appropriate non-mutable counterparts, i.e. `const_handle`, `const_iterator`, and `const_circulator`. The mutable types are assignable to their non-mutable counterparts. Both circulators are assignable to the `Vertex_iterator`. The iterators are assignable to the respective handle types. Wherever the handles appear in function parameter lists, the corresponding iterators can be used as well.
|
||||
/// The following mutable handles, iterators, and circulators have appropriate non-mutable counterparts, i.e.\ `const_handle`, `const_iterator`, and `const_circulator`. The mutable types are assignable to their non-mutable counterparts. Both circulators are assignable to the `Vertex_iterator`. The iterators are assignable to the respective handle types. Wherever the handles appear in function parameter lists, the corresponding iterators can be used as well.
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
|
|
@ -174,7 +174,7 @@ typedef Hidden_type Vertex_around_vertex_const_circulator;
|
|||
/// @}
|
||||
|
||||
/// \name Operations
|
||||
/// The following mutable methods returning a handle, iterator, or circulator have appropriate non-mutable counterpart methods, i.e. `const`, returning a `const_handle`, `const_iterator`, or `const_circulator`.
|
||||
/// The following mutable methods returning a handle, iterator, or circulator have appropriate non-mutable counterpart methods, i.e.\ `const`, returning a `const_handle`, `const_iterator`, or `const_circulator`.
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -50,13 +50,13 @@ void set_vertex_seaming(Vertex_handle vertex, int seaming);
|
|||
|
||||
/*!
|
||||
|
||||
%Get oriented edge's seaming flag, i.e. position of the oriented edge w.r.t. to the UNIQUE main border.
|
||||
%Get oriented edge's seaming flag, i.e.\ position of the oriented edge w.r.t.\ to the UNIQUE main border.
|
||||
|
||||
*/
|
||||
int get_halfedge_seaming(Vertex_const_handle source, Vertex_const_handle target) const;
|
||||
|
||||
/*!
|
||||
Set oriented edge's seaming flag, i.e. position of the oriented edge w.r.t. to the UNIQUE main border.
|
||||
Set oriented edge's seaming flag, i.e.\ position of the oriented edge w.r.t.\ to the UNIQUE main border.
|
||||
*/
|
||||
void set_halfedge_seaming(Vertex_handle source, Vertex_handle target, int seaming);
|
||||
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ The package provides an interface with `CGAL::Polyhedron_3<Traits>`:
|
|||
|
||||
## Output ##
|
||||
|
||||
A `(u,v)` pair is computed for each inner vertex (i.e. its halfedges share the same `(u,v)` pair), while a `(u,v)` pair is computed for each border halfedge. The user must iterate over the mesh halfedges to get the result.
|
||||
A `(u,v)` pair is computed for each inner vertex (i.e.\ its halfedges share the same `(u,v)` pair), while a `(u,v)` pair is computed for each border halfedge. The user must iterate over the mesh halfedges to get the result.
|
||||
|
||||
## Sparse Linear Algebra ##
|
||||
|
||||
|
|
|
|||
|
|
@ -548,7 +548,7 @@ To support this duplication,
|
|||
`Parameterization_polyhedron_adaptor_3<Polyhedron_3_>` stores
|
||||
the result in the \f$ (u,v)\f$ fields of the input mesh halfedges.
|
||||
A \f$ (u,v)\f$ pair is computed for
|
||||
each inner vertex (i.e. its halfedges share the same \f$ (u,v)\f$ pair),
|
||||
each inner vertex (i.e.\ its halfedges share the same \f$ (u,v)\f$ pair),
|
||||
while a \f$ (u,v)\f$ pair is computed for each border halfedge.
|
||||
The user has to iterate over the mesh halfedges to get the result.
|
||||
Note that \f$ (u,v)\f$ fields do not exist in `Polyhedron_3<Traits>`,
|
||||
|
|
@ -768,7 +768,7 @@ superclass of all surface parameterization classes.
|
|||
\subsection Surface_mesh_parameterizationFixedborderparameterizer3 Fixed_border_parameterizer_3 Class
|
||||
|
||||
Linear fixed border parameterization algorithms are very close. They mainly
|
||||
differ by the energy that they try to minimize, i.e. by the value of the \f$ w_{ij}\f$
|
||||
differ by the energy that they try to minimize, i.e.\ by the value of the \f$ w_{ij}\f$
|
||||
coefficient of the \f$ A\f$ matrix, for \f$ v_i\f$ and \f$ v_j\f$ neighbor vertices of the mesh
|
||||
\cite cgal:fh-survey-05. One consequence is that most of the code of the fixed border methods is factorized in the
|
||||
`Fixed_border_parameterizer_3<ParameterizationMesh_3, BorderParameterizer_3, SparseLinearAlgebraTraits_d>` class.
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
The concept `GetCost` describes the requirements for the <I>policy function object</I>
|
||||
which gets the <I>collapse cost</I> of an edge.
|
||||
|
||||
The cost returned is a `boost::optional` value (i.e. it can be absent).
|
||||
The cost returned is a `boost::optional` value (i.e.\ it can be absent).
|
||||
An <I>absent</I> cost indicates that the edge should not be collapsed.
|
||||
This could be the result of a computational limitation (such as overflow),
|
||||
or can be intentionally returned to prevent the edge from being collapsed.
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ Poisson solve duration (in s)
|
|||
\subsection SurfReconstPerfCont Contouring
|
||||
|
||||
The point set chosen for benchmarking the contouring stage is the Bimba con Nastrino point
|
||||
set simplified to 100k points. We measure the contouring (i.e. the call to `make_surface_mesh()`)
|
||||
set simplified to 100k points. We measure the contouring (i.e.\ the call to `make_surface_mesh()`)
|
||||
duration and the reconstruction error for a range of approximation distances.
|
||||
The reconstruction error is expressed as the average distance from input points to the reconstructed surface
|
||||
in mm (the Bimba con Nastrino statue is 324 mm tall).
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ derived from the type `K::Point_2`.
|
|||
|
||||
Note that this template class is specialized for
|
||||
`Exact_predicates_inexact_constructions_kernel`, so that it is as if
|
||||
`Regular_triangulation_filtered_traits_2` was used, i.e. you get
|
||||
`Regular_triangulation_filtered_traits_2` was used, i.e.\ you get
|
||||
filtered predicates automatically.
|
||||
|
||||
\cgalModels `RegularTriangulationTraits_2`
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ The more general class `Projection_traits_xy_3` can be found in the 2D and 3D Li
|
|||
\deprecated The class `Triangulation_euclidean_traits_xy_3` is a
|
||||
geometric traits class which allows to triangulate a terrain. This
|
||||
traits class is designed to build a two dimensional triangulation
|
||||
embedded in 3D space, i.e. a triangulated surface, such that its on
|
||||
embedded in 3D space, i.e.\ a triangulated surface, such that its on
|
||||
the \f$ xy\f$ plane is a Delaunay triangulation. This is a usual
|
||||
construction for GIS terrains. Instead of really projecting the 3D
|
||||
points and maintaining a mapping between each point and its projection
|
||||
|
|
|
|||
|
|
@ -1027,7 +1027,7 @@ constrained edge, the set of input constraints that overlap it.
|
|||
The class `Constrained_triangulation_plus_2<Tr>`
|
||||
is especially useful when the base constrained triangulation class
|
||||
handles intersections of constraints and uses an exact number type,
|
||||
i.e. when its intersection tag is `Exact_intersections_tag`.
|
||||
i.e.\ when its intersection tag is `Exact_intersections_tag`.
|
||||
Indeed in this case, the `Constrained_triangulation_plus_2<Tr>`
|
||||
is specially designed to avoid cascading in the computations of
|
||||
intersection points.
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ for a 3D-triangulation data structure, it is a model of the concept
|
|||
Note that if the triangulation data structure is used as a parameter of a
|
||||
geometric triangulation (Section \ref TDS3secdesign and
|
||||
Chapter \ref chapterTriangulation3 "3D Triangulations"), then the vertex base class has to
|
||||
fulfill additional geometric requirements, i.e. it has to be a model of the
|
||||
fulfill additional geometric requirements, i.e.\ it has to be a model of the
|
||||
concept `TriangulationVertexBase_3`.
|
||||
|
||||
This base class can be used directly or can serve as a base to derive
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ Thus, a 3D-triangulation data structure can store a triangulation of a
|
|||
topological sphere \f$ S^d\f$ of \f$ \R^{d+1}\f$, for any \f$ d \in \{-1,0,1,2,3\}\f$.
|
||||
|
||||
Let us give, for each dimension, the example corresponding to the
|
||||
triangulation data structure having a minimal number of vertices, i.e. a
|
||||
triangulation data structure having a minimal number of vertices, i.e.\ a
|
||||
simplex. These examples are illustrated by presenting their usual
|
||||
geometric embedding.
|
||||
<UL>
|
||||
|
|
@ -88,7 +88,7 @@ being incident to an infinite cell. See \cgalFigureRef{TDS3figtoposimplex4}.
|
|||
\cgalFigureEnd
|
||||
|
||||
<LI><I>dimension 2.</I> We have 4 vertices forming one 3-dimensional
|
||||
simplex, i.e. the boundary of a tetrahedron. The geometric embedding in
|
||||
simplex, i.e.\ the boundary of a tetrahedron. The geometric embedding in
|
||||
the plane results from choosing one of these vertices to be infinite,
|
||||
then the geometric triangulation has one finite triangle whose edges are
|
||||
incident to the infinite triangles. See \cgalFigureRef{TDS3figtoposimplex3}.
|
||||
|
|
|
|||
|
|
@ -226,11 +226,11 @@ between `p` and the power circle of the <I>finite</I> facet of `c`
|
|||
is greater than \f$ \pi/2\f$.
|
||||
|
||||
- `ON_BOUNDARY` if p is orthogonal to the power sphere of `c`
|
||||
i.e. \f$ \Pi({p}^{(w)}-{z(c)}^{(w)})=0\f$. For an infinite cell this means
|
||||
i.e.\ \f$ \Pi({p}^{(w)}-{z(c)}^{(w)})=0\f$. For an infinite cell this means
|
||||
that `p` is orthogonal to the power circle of its <I>finite</I> facet.
|
||||
|
||||
- `ON_UNBOUNDED_SIDE` if \f$ \Pi({p}^{(w)}-{z(c)}^{(w)})>0\f$
|
||||
i.e. the angle between the weighted point `p` and the power sphere
|
||||
i.e.\ the angle between the weighted point `p` and the power sphere
|
||||
of `c` is less than \f$ \pi/2\f$ or if these two spheres do not
|
||||
intersect. For an
|
||||
infinite cell this means that `p` does not satisfy either of the
|
||||
|
|
|
|||
|
|
@ -503,7 +503,7 @@ public:
|
|||
|
||||
/*!
|
||||
Returns the in-degree of the vertex,
|
||||
i.e. the number of halfedges that have `v` as their target.
|
||||
i.e.\ the number of halfedges that have `v` as their target.
|
||||
*/
|
||||
size_type degree();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue