diff --git a/AABB_tree/doc_tex/AABB_tree/performances.tex b/AABB_tree/doc_tex/AABB_tree/performances.tex index 246e09dd93e..b118c086ddf 100644 --- a/AABB_tree/doc_tex/AABB_tree/performances.tex +++ b/AABB_tree/doc_tex/AABB_tree/performances.tex @@ -119,7 +119,7 @@ The experiments described above are neither exhaustive nor conclusive as we have \item Primitives: Although the number of input primitives plays an obvious role in the final performance, their distribution in space is at least equally important in order to obtain a well-balanced AABB tree. Ideally the primitives must be evenly distributed in space and the long primitives spanning the bounding box of the tree root node must be avoided as much as possible. It is often beneficial to split these long primitives into smaller ones before constructing the tree, e.g., through recursive longest edge bisection for triangle surface meshes. -\item Function: The type of function queried plays another important role. Obviously the "exhaustive" functions, which list all intersections, are slower than the ones stopping after the first intersection. Within each of these functions the ones which call only intersection tests (do\_intersect(), number\_of\_intersected\_primitives(), any\_intersected\_primitive(), all\_intersected\_primitives()) are faster than the ones which explicitly construct the intersections (any\_intersection() and all\_intersections()). +\item Function: The type of function queried plays another important role. Obviously the ``exhaustive'' functions, which list all intersections, are slower than the ones stopping after the first intersection. Within each of these functions the ones which call only intersection tests (do\_intersect(), number\_of\_intersected\_primitives(), any\_intersected\_primitive(), all\_intersected\_primitives()) are faster than the ones which explicitly construct the intersections (any\_intersection() and all\_intersections()). \item Query: The type of query (e.g., line, ray, segment or plane used above) plays another role, strongly correlated with the type of function (exhaustive or not, and whether or not it constructs the intersections). When all intersection constructions are needed, the final execution times highly depend on the complexity of the general intersection object. For example a plane query generally intersects a surface triangle mesh into many segments while a segment query generally intersects a surface triangle mesh into few points. Finally, the location of the query in space also plays an obvious role in the performances, especially for the distance queries. Assuming the internal KD-tree constructed through the function \ccc{tree.accelerate_distance_queries()}, it is preferable to specify a query point already close to the surface triangle mesh so that the query traverses only few AABBs of the tree. For a large number of primitive data (greater than 2M faces in our experiments) however we noticed that it is not necessary (and sometimes even slower) to use all reference points when constructing the KD-tree. In these cases we recommend to specify trough the function \ccc{tree.accelerate_distance_queries(begin,end)} fewer reference points (typically not more than 100K) evenly distributed over the input primitives. diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h index 2d7f445a431..43503dad783 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/Field.h @@ -15,7 +15,7 @@ Moreover, `CGAL::Algebraic_structure_traits< Field >` is a model of - `CGAL::Algebraic_structure_traits< Field >::Algebraic_type` derived from `Field_tag` -- `CGAL::Algebraic_structure_traits< FieldWithSqrt >::Inverse` +- `CGAL::Algebraic_structure_traits< FieldWithSqrt >::Inverse` which is a model of `AlgebraicStructureTraits::Inverse` \cgalRefines `IntegralDomain` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h index 01ba807ed73..3bbf330afe1 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/FieldWithKthRoot.h @@ -9,7 +9,7 @@ Moreover, `CGAL::Algebraic_structure_traits< FieldWithKthRoot >` is a model of ` - `CGAL::Algebraic_structure_traits< FieldWithKthRoot >::Algebraic_type` derived from `Field_with_kth_root_tag` -- `CGAL::Algebraic_structure_traits< FieldWithKthRoot >::Kth_root` +- `CGAL::Algebraic_structure_traits< FieldWithKthRoot >::Kth_root` which is a model of `AlgebraicStructureTraits::KthRoot` \cgalRefines `FieldWithSqrt` diff --git a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h index 22d4ec965bf..50473b069cd 100644 --- a/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h +++ b/Algebraic_foundations/doc/Algebraic_foundations/Concepts/RealEmbeddable.h @@ -16,21 +16,21 @@ with: and functors : -- `CGAL::Real_embeddable_traits< RealEmbeddable >::Is_zero` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::Is_zero` which is a model of `AlgebraicStructureTraits::IsZero` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::Abs` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::Abs` which is a model of `AlgebraicStructureTraits::Abs` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::Sgn` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::Sgn` which is a model of `AlgebraicStructureTraits::Sgn` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::Is_positive` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::Is_positive` which is a model of `AlgebraicStructureTraits::IsPositive` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::Is_negative` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::Is_negative` which is a model of `AlgebraicStructureTraits::IsNegative` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::Compare` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::Compare` which is a model of `AlgebraicStructureTraits::Compare` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::To_double` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::To_double` which is a model of `AlgebraicStructureTraits::ToDouble` -- `CGAL::Real_embeddable_traits< RealEmbeddable >::To_interval` +- `CGAL::Real_embeddable_traits< RealEmbeddable >::To_interval` which is a model of `AlgebraicStructureTraits::ToInterval` Remark: diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Inverse.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Inverse.tex index 1c6e06e8f2f..71024b6d0aa 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Inverse.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_Inverse.tex @@ -20,7 +20,7 @@ respect to multiplication of a \ccc{Field}. \ccCreationVariable{inverse} \ccMethod{result_type operator()(argument_type x) const;} { returns the inverse element of $x$ with respect to multiplication. - \ccPrecond{$x \neq 0$.} + \ccPrecond $x \neq 0$ } %\ccHasModels diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IsSquare.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IsSquare.tex index 8c4d7878c55..cd8f9e3d8d7 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IsSquare.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_IsSquare.tex @@ -35,7 +35,7 @@ $y$ is uniquely defined up to multiplication by units. \\ \ccMethod{result_type operator()(first_argument_type x, second_argument_type y);} { returns {\tt true} in case $x$ is a square, i.e. $x = y*y$. - \ccPostcond{$unit\_part(y) == 1$. } + \ccPostcond $unit\_part(y) == 1$. } \ccMethod{result_type operator()(first_argument_type x);} { returns {\tt true} in case $x$ is a square. diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_RootOf.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_RootOf.tex index f8e22669d84..4580346b906 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_RootOf.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/AlgebraicStructureTraits_RootOf.tex @@ -23,8 +23,8 @@ result_type operator() (int k, InputIterator begin, InputIterator end);} {returns the k-th real root of the univariate polynomial, which is defined by the iterator range, where begin refers to the constant term. - \ccPrecond{The polynomial is square-free.} - \ccPrecond{The value type of the InputIterator is \ccc{AlgebraicStructureTraits::Type}.} } + \ccPrecond The polynomial is square-free. + \ccPrecond The value type of the InputIterator is \ccc{AlgebraicStructureTraits::Type}\\ } %\begin{ccAdvanced} %\ccMethod{ @@ -36,8 +36,8 @@ result_type operator() (int k, InputIterator begin, InputIterator end);} % {returns the only real root within the interval [lower,upper] % of the univariate polynomial, which is defined by the iterator % range, where begin refers to the constant term. -% \ccPrecond{The polynomial is square-free.} -% \ccPrecond{The value type of the InputIterator is \ccc{AlgebraicStructureTraits::Type}.} +% \ccPrecond The polynomial is square-free. +% \ccPrecond The value type of the InputIterator is \ccc{AlgebraicStructureTraits::Type}\\ %} %\end{ccAdvanced} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex index a20f225ba2a..ba69261decb 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/inverse.tex @@ -10,7 +10,7 @@ is a model of the \ccc{Field} concept. \ccInclude{CGAL/number_utils.h} \ccFunction{template NT inverse(const NT& x);} -{\ccPrecond{$x \neq 0$.}} +{\ccPrecond $x \neq 0$} diff --git a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex index 53c2e8b7216..07fb85f56ee 100644 --- a/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex +++ b/Algebraic_foundations/doc_tex/Algebraic_foundations_ref/root_of.tex @@ -16,7 +16,7 @@ of the iterator range is a model of the \ccc{FieldWithRootOf} concept. returns the k-th real root of the univariate polynomial, which is defined by the iterator range, where begin refers to the constant term. - \ccPrecond{The polynomial is square-free.} + \ccPrecond The polynomial is square-free. } diff --git a/Algebraic_kernel_for_circles/doc_tex/Algebraic_kernel_for_circles_ref/intro.tex b/Algebraic_kernel_for_circles/doc_tex/Algebraic_kernel_for_circles_ref/intro.tex index 8dae44ff647..9dfa385f7fd 100644 --- a/Algebraic_kernel_for_circles/doc_tex/Algebraic_kernel_for_circles_ref/intro.tex +++ b/Algebraic_kernel_for_circles/doc_tex/Algebraic_kernel_for_circles_ref/intro.tex @@ -3,10 +3,10 @@ \textbf{Submission - Monique - with Sylvain's help...} \begin{ccAdvanced} -As in Curved-kernel, I use the "Advanced" environment in this +As in Curved-kernel, I use the ``Advanced'' environment in this document to distinguish between my current submission to the \cgal\ editorial board and plans for the future, related to ACS. The -"Advanced" parts will disappear if/when this is released. +``Advanced'' parts will disappear if/when this is released. \end{ccAdvanced} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/Alpha_shapes_2/doc_tex/Alpha_shapes_2/alpha2.tex b/Alpha_shapes_2/doc_tex/Alpha_shapes_2/alpha2.tex index 79583002470..a6e119d002d 100644 --- a/Alpha_shapes_2/doc_tex/Alpha_shapes_2/alpha2.tex +++ b/Alpha_shapes_2/doc_tex/Alpha_shapes_2/alpha2.tex @@ -11,7 +11,7 @@ Assume we are given a set $S$ of points in 2D or 3D and we'd like to -have something like "the shape formed by these points." This is +have something like ``the shape formed by these points.'' This is quite a vague notion and there are probably many possible interpretations, the $\alpha$-shape being one of them. Alpha shapes can be used for shape reconstruction from a dense unorganized set of @@ -21,13 +21,13 @@ which is a linear approximation of the original shape \cite{bb-srmua-97t}. As mentioned in Edelsbrunner's and M\"ucke's paper \cite{em-tdas-94}, one can intuitively think of an $\alpha$-shape as the following. Imagine a huge mass of ice-cream making up the space $\R^3$ -and containing the points as "hard" chocolate pieces. Using one of +and containing the points as ``hard'' chocolate pieces. Using one of these sphere-formed ice-cream spoons we carve out all parts of the ice-cream block we can reach without bumping into chocolate pieces, thereby even carving out holes in the inside (e.g. parts not reachable by simply moving the spoon from the outside). We will eventually end up with a (not necessarily convex) object bounded by caps, arcs and -points. If we now straighten all "round" faces to triangles and line +points. If we now straighten all ``round'' faces to triangles and line segments, we have an intuitive description of what is called the $\alpha$-shape of $S$. Here's an example for this process in 2D (where our ice-cream spoon is simply a circle): @@ -42,7 +42,7 @@ it's way too large. So we will never spoon up ice-cream lying in the inside of the convex hull of $S$, and hence the $\alpha$-shape for $\alpha \rightarrow \infty$ is the convex hull of $S$.\footnote{ice cream, ice cream!!! The wording of this introductory paragraphs is borrowed from Kaspar Fischer's -" Introduction to Alpha Shapes" which can be found at +`` Introduction to Alpha Shapes'' which can be found at http://people.inf.ethz.ch/fischerk/pubs/as.pdf. The picture has been taken from Walter Luh's homepage at http://www.stanford.edu/\~wluh/cs448b/alphashapes.html.} diff --git a/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/AlphaShapeTraits_2.tex b/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/AlphaShapeTraits_2.tex index a05efa79580..ce8c67d8e1b 100644 --- a/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/AlphaShapeTraits_2.tex +++ b/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/AlphaShapeTraits_2.tex @@ -74,7 +74,7 @@ The type must provide a copy constructor, assignment, comparison operators, negation, multiplication, division and allow the declaration and initialization with a small integer constant (cf. requirements for number types). -\ccPrecond{An obvious choice would be coordinate type of the point class.}} +\ccPrecond An obvious choice would be coordinate type of the point class.} \ccCreation diff --git a/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/Alpha_shape_2.tex b/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/Alpha_shape_2.tex index 4b131159525..adc2926bbf2 100644 --- a/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/Alpha_shape_2.tex +++ b/Alpha_shapes_2/doc_tex/Alpha_shapes_2_ref/Alpha_shape_2.tex @@ -101,15 +101,15 @@ For example \ccc{Dt::Point} is a Point class. \ccNestedType{Alpha_iterator}{A bidirectional and non-mutable iterator that allow to traverse the increasing sequence of different $\alpha$-values. -\ccPrecond{Its \ccc{value_type} is \ccc{FT}.}} +\ccPrecond Its \ccc{value_type} is \ccc{FT}} \ccNestedType{Alpha_shape_vertices_iterator}{A bidirectional and non-mutable iterator that allow to traverse the vertices which belongs to the $\alpha$-shape for the current $\alpha$. -\ccPrecond{Its \ccc{value_type} is \ccc{Dt::Vertex_handle}.}} +\ccPrecond Its \ccc{value_type} is \ccc{Dt::Vertex_handle}} \ccNestedType{Alpha_shape_edges_iterator}{A bidirectional and non-mutable iterator that allow to traverse the edges which belongs to the $\alpha$-shape for the current $\alpha$. -\ccPrecond{Its \ccc{value_type} is \ccc{Dt::Edge}.}} +\ccPrecond Its \ccc{value_type} is \ccc{Dt::Edge}.} \ccEnum{enum Classification_type {EXTERIOR, SINGULAR, REGULAR, INTERIOR};} {Distinguishes the different cases for classifying a $k$-dimensional face @@ -134,7 +134,7 @@ and their vertices.} Mode m = GENERAL);} {Introduces an empty $\alpha$-shape \ccVar\ for a positive $\alpha$-value \ccc{alpha}. -\ccPrecond{\ccc{alpha}~$\geq~0$.}} +\ccPrecond \ccc{alpha}~$\geq~0$.} \ccConstructor{Alpha_shape_2( Dt& dt, @@ -143,7 +143,7 @@ and their vertices.} {Builds an alpha shape of mode \ccc{m} from the triangulation \ccc{dt} for a positive $\alpha$-value \ccc{alpha}. Be careful that this operation destroys the triangulation. -\ccPrecond{\ccc{alpha}~$\geq~0$.}} +\ccPrecond \ccc{alpha}~$\geq~0$.} \ccConstructor{template < class InputIterator > Alpha_shape_2( @@ -155,9 +155,9 @@ Be careful that this operation destroys the triangulation. $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$ and introduces an $\alpha$-shape \ccVar\ for a positive $\alpha$-value \ccc{alpha}. -\ccPrecond{The \ccc{value_type} of \ccc{first} and +\ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} is \ccc{Point}.\\ -\ccc{alpha} $\geq 0$.}} +\ccc{alpha} $\geq 0$.} \ccOperations @@ -170,8 +170,8 @@ $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. Returns the number of inserted points. \\ If the function is applied to an non-empty family of alpha-shape, it is cleared before initialization. -\ccPrecond{The \ccc{value_type} of \ccc{first} and -\ccc{last} is \ccc{Point}.}} +\ccPrecond The \ccc{value_type} of \ccc{first} and +\ccc{last} is \ccc{Point}.} \ccMethod{void clear();} @@ -181,7 +181,7 @@ before initialization. set_alpha(const FT& alpha);} {Sets the $\alpha$-value to \ccc{alpha}. Returns the previous $\alpha$-value. -\ccPrecond{\ccc{alpha} $\geq 0$.}} +\ccPrecond \ccc{alpha} $\geq 0$.} \ccMethod{const FT& get_alpha(void) const;} @@ -189,7 +189,7 @@ before initialization. \ccMethod{const FT& get_nth_alpha(size_type n) const;} {Returns the $n$-th alpha-value, sorted in an increasing order. - \ccPrecond{\ccc{n} $<$ number of alphas.}} + \ccPrecond \ccc{n} $<$ number of alphas.} \ccMethod{size_type number_of_alphas() const;} {Returns the number of different alpha-values.} @@ -323,7 +323,7 @@ is an internal format. \ccFunction{ostream& operator<<(ostream& os, const Alpha_shape_2
& A);} {Inserts the alpha shape \ccVar\ for the current $\alpha$-value into the stream \ccc{os}. -\ccPrecond{The insert operator must be defined for \ccc{Point}.}} +\ccPrecond The insert operator must be defined for \ccc{Point}.} \ccImplementation diff --git a/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex b/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex index 58650d7a80a..80c62f61857 100644 --- a/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex +++ b/Alpha_shapes_3/doc_tex/Alpha_shapes_3/alpha3.tex @@ -10,7 +10,7 @@ \end{ccHtmlOnly} Assume we are given a set $S$ of points in 2D or 3D and we'd like to -have something like "the shape formed by these points." This is +have something like ``the shape formed by these points.'' This is quite a vague notion and there are probably many possible interpretations, the alpha shape being one of them. Alpha shapes can be used for shape reconstruction from a dense unorganized set of @@ -20,13 +20,13 @@ which is a linear approximation of the original shape \cite{bb-srmua-97t}. As mentioned in Edelsbrunner's and M\"ucke's paper \cite{em-tdas-94}, one can intuitively think of an alpha shape as the following. Imagine a huge mass of ice-cream making up the space $\R^3$ -and containing the points as "hard" chocolate pieces. Using one of +and containing the points as ``hard'' chocolate pieces. Using one of those sphere-formed ice-cream spoons we carve out all parts of the ice-cream block we can reach without bumping into chocolate pieces, thereby even carving out holes in the inside (e.g. parts not reachable by simply moving the spoon from the outside). We will eventually end up with a (not necessarily convex) object bounded by caps, arcs and -points. If we now straighten all "round" faces to triangles and line +points. If we now straighten all ``round'' faces to triangles and line segments, we have an intuitive description of what is called the alpha shape of $S$. Here's an example for this process in 2D (where our ice-cream spoon is simply a circle): @@ -43,7 +43,7 @@ it's way too large. So we will never spoon up ice-cream lying in the inside of the convex hull of $S$, and hence the alpha shape for $\alpha \rightarrow \infty$ is the convex hull of $S$.\footnote{ice cream, ice cream!!! The wording of this introductory paragraphs is borrowed from Kaspar Fischer's -" Introduction to Alpha Shapes" which can be found at +`` Introduction to Alpha Shapes'' which can be found at http://people.inf.ethz.ch/fischerk/pubs/as.pdf. The picture has been taken from Walter Luh's homepage at http://www.stanford.edu/\~wluh/cs448b/alphashapes.html.} @@ -73,7 +73,7 @@ of the Delaunay triangulation. For a given value of $\alpha$, the alpha complex includes all the simplices in the Delaunay triangulation which have an empty circumscribing sphere with squared radius equal or smaller than $\alpha$. -Here "empty" means that the open sphere +Here ``empty'' means that the open sphere do not include any points of $S$. The alpha shape is then simply the domain covered by the simplices of the alpha complex (see \cite{em-tdas-94}). diff --git a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_shape_3.tex b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_shape_3.tex index aab28ebe098..83b92df5e7b 100644 --- a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_shape_3.tex +++ b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_shape_3.tex @@ -104,15 +104,15 @@ For convenience, classical comparison operators are provided for the type \ccc{F \ccNestedType{Alpha_iterator}{A bidirectional and non-mutable iterator that allow to traverse the increasing sequence of different alpha values. -\ccPrecond{Its \ccc{value_type} is \ccc{FT}.}} +\ccPrecond Its \ccc{value_type} is \ccc{FT}} %\ccNestedType{Alpha_shape_vertices_iterator}{A bidirectional and non-mutable iterator that allow to traverse %the vertices which belongs to the alpha shape for a fixed $\alpha$. -%\ccPrecond{Its \ccc{value_type} is \ccc{Dt::Vertex_handle}}} +%\ccPrecond Its \ccc{value_type} is \ccc{Dt::Vertex_handle}} %\ccNestedType{Alpha_shape_facets_iterator}{A bidirectional and non-mutable iterator that allow to traverse %the facets which belongs to the alpha shape for a fixed $\alpha$. -%\ccPrecond{Its \ccc{value_type} is \ccc{Dt::Facet}}} +%\ccPrecond Its \ccc{value_type} is \ccc{Dt::Facet}} \ccEnum{enum Mode {GENERAL, REGULARIZED};} @@ -171,9 +171,9 @@ Be careful that this operation destroys the triangulation.} for the points in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$ and set the current alpha value to \ccc{alpha}. -\ccPrecond{The \ccc{value_type} of \ccc{first} and +\ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} is \ccc{Point} (the type point of the underlying -triangulation.)}} +triangulation.)} \ccModifiers @@ -189,8 +189,8 @@ Returns the number of data points inserted in the underlying triangulation. \\ If the function is applied to an non-empty alpha shape data structure, it is cleared before initialization. -\ccPrecond{The \ccc{value_type} of \ccc{first} and -\ccc{last} is \ccc{Point}.}} +\ccPrecond The \ccc{value_type} of \ccc{first} and +\ccc{last} is \ccc{Point}.} \ccMethod{void clear();} @@ -200,7 +200,7 @@ before initialization. set_alpha(const FT& alpha);} {Sets the $\alpha$-value to \ccc{alpha}. Returns the previous $\alpha$-value. -\ccPrecond{\ccc{alpha} $\geq 0$.}} +\ccPrecond \ccc{alpha} $\geq 0$.} \ccMethod{Mode set_mode(Mode m = REGULARIZED );} @@ -257,7 +257,7 @@ entails a partial re-computation of the data structure.} \ccMethod{const FT& get_nth_alpha(int n) const;} {Returns the $n$-th alpha-value, sorted in an increasing order. - \ccPrecond{\ccc{n} < number of alphas.}} + \ccPrecond \ccc{n} < number of alphas.} \ccMethod{size_type number_of_alphas() const;} {Returns the number of different alpha-values.} @@ -391,7 +391,7 @@ is an internal format. \ccFunction{ostream& operator<<(ostream& os, const Alpha_shape_3& A);} {Inserts the alpha shape \ccVar\ for the current alpha value into the stream \ccc{os}. -\ccPrecond{The insert operator must be defined for \ccc{Point}.}} +\ccPrecond The insert operator must be defined for \ccc{Point}.} \ccInclude{CGAL/IO/Geomview_stream.h} @@ -400,7 +400,7 @@ is an internal format. \ccFunction{Geomview_stream& operator<<(Geomview_stream& W, const Alpha_shape_3& A);} {Inserts the alpha shape \ccVar\ for the current alpha value into the Geomview stream \ccc{W}. -\ccPrecond{The insert operator must be defined for \ccc{GT::Point} and \ccc{GT::Triangle}.}} +\ccPrecond The insert operator must be defined for \ccc{GT::Point} and \ccc{GT::Triangle}.} \ccImplementation diff --git a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_status.tex b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_status.tex index 273bf86d7db..13137fb98c3 100644 --- a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_status.tex +++ b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Alpha_status.tex @@ -65,13 +65,13 @@ The class \ccRefName\ is parameterized by a number type \ccc{NT}. \ccGlue \ccMethod{ NT alpha_min() const;} { Returns the \ccc{alpha_min} -\ccPrecond{\ccc{is_Gabriel()} returns false;}} +\ccPrecond \ccc{is_Gabriel()} returns false;} \ccGlue \ccMethod{ NT alpha_mid() const;} { Returns the \ccc{alpha_mid};} \ccGlue \ccMethod{ NT alpha_max() const; } { Returns \ccc{alpha_max}. -\ccPrecond{\ccc{is_on_chull()} returns false.}} +\ccPrecond \ccc{is_on_chull()} returns false.} \ccSeeAlso \ccc{AlphaShapeCellBase_3} \\ diff --git a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Fixed_alpha_shape_3.tex b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Fixed_alpha_shape_3.tex index 49c75ee0239..fed34cf3bf9 100644 --- a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Fixed_alpha_shape_3.tex +++ b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/Fixed_alpha_shape_3.tex @@ -39,11 +39,11 @@ For example \ccc{Dt::Point} is a Point class. %\ccNestedType{Alpha_shape_vertices_iterator}{A bidirectional and non-mutable iterator that allow to traverse %the vertices which belongs to the alpha shape for a fixed $\alpha$. -%\ccPrecond{Its \ccc{value_type} is \ccc{Dt::Vertex_handle}}} +%\ccPrecond Its \ccc{value_type} is \ccc{Dt::Vertex_handle}} %\ccNestedType{Alpha_shape_facets_iterator}{A bidirectional and non-mutable iterator that allow to traverse %the facets which belongs to the alpha shape for a fixed $\alpha$. -%\ccPrecond{Its \ccc{value_type} is \ccc{Dt::Facet}}} +%\ccPrecond Its \ccc{value_type} is \ccc{Dt::Facet}} \ccEnum{enum Classification_type {EXTERIOR, SINGULAR, REGULAR, INTERIOR};} {Enum to classify the simplices of the underlying @@ -80,9 +80,9 @@ Be careful that this operation destroys the triangulation.} for the points in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$ and set the alpha value to \ccc{alpha}. -\ccRequire{ The \ccc{value_type} of \ccc{first} and +\ccRequire The \ccc{value_type} of \ccc{first} and \ccc{last} is \ccc{Point} (the type point of the underlying -triangulation.)}} +triangulation.)} \ccModifiers @@ -173,7 +173,7 @@ is an internal format. \ccFunction{ostream& operator<<(ostream& os, const Fixed_alpha_shape_3
& A);} {Inserts the alpha shape \ccVar\ into the stream \ccc{os}. -\ccRequire{ The insert operator must be defined for \ccc{GT::Point}.}} +\ccRequire The insert operator must be defined for \ccc{GT::Point}.} diff --git a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/intro.tex b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/intro.tex index 178a9bfa6a7..8fc6d041c1c 100644 --- a/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/intro.tex +++ b/Alpha_shapes_3/doc_tex/Alpha_shapes_3_ref/intro.tex @@ -68,7 +68,7 @@ of the Delaunay triangulation. For a given value of $\alpha$, the alpha complex includes all the simplices in the Delaunay triangulation which have an empty circumscribing sphere with squared radius equal or smaller than $\alpha$. -Here "empty" means that the open sphere +Here ``empty'' means that the open sphere do not include any points of $S$. The alpha shape is then simply the domain covered by the simplices of the alpha complex (see \cite{em-tdas-94}). diff --git a/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/ApolloniusGraphVertexBase_2.tex b/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/ApolloniusGraphVertexBase_2.tex index a7de9666990..f3913c6cf2f 100644 --- a/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/ApolloniusGraphVertexBase_2.tex +++ b/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/ApolloniusGraphVertexBase_2.tex @@ -56,7 +56,7 @@ define the type \ccc{Site_2}.}} \ccNestedType{Hidden_sites_iterator}{An iterator that iterates over the hidden sites in the hidden sites container of the vertex. -\ccPrecond{Must be a model of \ccc{Iterator}.}} +\ccPrecond Must be a model of \ccc{Iterator}.} \ccCreation diff --git a/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_graph_2.tex b/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_graph_2.tex index a74fd0a1a0a..68be6b8015d 100644 --- a/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_graph_2.tex +++ b/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_graph_2.tex @@ -353,7 +353,7 @@ to \ccc{v}.} \ccGlue \ccMethod{Face_circulator incident_faces(Vertex_handle v, Face_handle f);} {Starts at face \ccc{f}. -\ccPrecond{Face \ccc{f} is incident to vertex \ccc{v}.}} +\ccPrecond Face \ccc{f} is incident to vertex \ccc{v}.} \ccGlue \ccMethod{Edge_circulator incident_edges(Vertex_handle v);} {Starts at an arbitrary edge incident @@ -362,7 +362,7 @@ to \ccc{v}.} \ccMethod{Edge_circulator incident_edges(Vertex_handle v, Face_handle f);} {Starts at the first edge of \ccc{f} incident to \ccc{v}, in counterclockwise order around \ccc{v}. -\ccPrecond{Face \ccc{f} is incident to vertex \ccc{v}.}} +\ccPrecond Face \ccc{f} is incident to vertex \ccc{v}.} \ccGlue \ccMethod{Vertex_circulator incident_vertices(Vertex_handle v);} {Starts at an arbitrary vertex incident @@ -371,7 +371,7 @@ to \ccc{v}.} \ccMethod{Vertex_circulator incident_vertices(Vertex_handle v, Face_handle f);} {Starts at the first vertex of \ccc{f} adjacent to \ccc{v} in counterclockwise order around \ccc{v}. -\ccPrecond{Face \ccc{f} is incident to vertex \ccc{v}.}} +\ccPrecond Face \ccc{f} is incident to vertex \ccc{v}.} diff --git a/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_site_2.tex b/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_site_2.tex index 4d46aa42395..c61d50625e3 100644 --- a/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_site_2.tex +++ b/Apollonius_graph_2/doc_tex/Apollonius_graph_2_ref/Apollonius_site_2.tex @@ -48,15 +48,15 @@ The I/O operators are defined for \ccc{iostream}. \ccFunction{std::ostream& operator<<(std::ostream& os, const Apollonius_site_2& s);}{Inserts the Apollonius site \ccVar\ into the stream \ccc{os}. -\ccPrecond{The insert operator must be defined for \ccc{Point_2} and -\ccc{Weight}.}} +\ccPrecond The insert operator must be defined for \ccc{Point_2} and +\ccc{Weight}.} \ccFunction{std::istream& operator>>(std::istream& is, const Apollonius_site_2& s);} {Reads an Apollonius site from the stream \ccc{is} and assigns it to \ccVar. -\ccPrecond{The extract operator must be defined for \ccc{Point_2} and - \ccc{Weight}.}} +\ccPrecond The extract operator must be defined for \ccc{Point_2} and + \ccc{Weight}.} The information output in the \ccc{iostream} is: the point of the Apollonius site and its weight. diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt index 4399b51248e..063a61e32a9 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Arrangement_on_surface_2.txt @@ -951,7 +951,7 @@ selected point-location strategy. \subsection arr_sssecpl_ex An Example \cgalFigureBegin{arr_figex_8,ex_5.gif} -The arrangement of line segments, as constructed in `point_location.cpp`, `vertical_ray_shooting.cpp`, and `batched_point_location.cpp`. The arrangement vertices are drawn as small discs, while the query points \f$ q_1, \ldots, q_6\f$ are marked with crosses. +The arrangement of line segments, as constructed in `point_location_example.cpp`, `vertical_ray_shooting.cpp`, and `batched_point_location.cpp`. The arrangement vertices are drawn as small discs, while the query points \f$ q_1, \ldots, q_6\f$ are marked with crosses. \cgalFigureEnd The following program constructs a simple arrangement of five line @@ -963,7 +963,7 @@ can be found in `point_location_utils.h`). It then employs the naive and the landmark strategies to issue several point-location queries on this arrangement: -\cgalExample{Arrangement_on_surface_2/point_location.cpp} +\cgalExample{Arrangement_on_surface_2/point_location_example.cpp} Note that the program uses the auxiliary `point_location_query()` function template to nicely print the @@ -1039,7 +1039,7 @@ void vertical_ray_shooting_query The following program uses the auxiliary function listed above to perform vertical ray-shooting queries on an arrangement. The arrangement and the query points are exactly the same as in -`point_location.cpp` (see \cgalFigureRef{arr_figex_5}): +`point_location_example.cpp` (see \cgalFigureRef{arr_figex_5}): \cgalExample{Arrangement_on_surface_2/vertical_ray_shooting.cpp} @@ -1082,7 +1082,7 @@ additional data structures. The following program issues a batched point-location query, which is essentially equivalent to the six separate queries performed in -`point_location.cpp` (see Section \ref arr_ssecpl): +`point_location_example.cpp` (see Section \ref arr_ssecpl): \cgalExample{Arrangement_on_surface_2/batched_point_location.cpp} @@ -3500,10 +3500,12 @@ For example, when we compute the shortest paths from a given source vertex \f$ s\f$ to all other vertices we can obtain a map of distances and a map of predecessors - namely for each \f$ v\f$ vertex we have its distance from \f$ s\f$ and a descriptor of the vertex that precedes \f$ v\f$ in the shortest path from \f$ s\f$. -If the vertex descriptors are simply indices, one can use vectors to -efficiently represent the property maps. As this is not the case with the -arrangement graph, we offer the `Arr_vertex_property_map` -template allows for an efficient mapping of `Vertex_handle` objects to + +If the vertex descriptors are simply indices, boost supplies tools to +easily represent property maps using vectors. +\ccc{Arr_vertex_index_map} class allows create such +indices, and together with `boost::vector_property_map` +allows for an efficient mapping of `Vertex_handle` objects to properties of type `Type`. Note however that unlike the `Arr_vertex_index_map` class, the vertex property-map class is not kept synchronized with the number of vertices in the arrangement, so it @@ -3518,7 +3520,7 @@ In the following example we construct an arrangement of 7 line segments, as shown in \cgalFigureRef{arr_figex_bgl}, then use Dijkstra's shortest-paths algorithm from the bgl to compute the graph distance of all vertices from the leftmost vertex in the -arrangement \f$ v_0\f$. Note the usage of the `Arr_vertex_index_map` and +arrangement \f$ v_0\f$. Note the usage of the `boost::vector_property_map` and the `Arr_vertex_property_map` classes. The latter one, instantiated by the type `double` is used to map vertices to their distances from \f$ v_0\f$. @@ -3547,17 +3549,17 @@ arrangement graph is also a model of the concepts `VertexListGraph`, Since we use `Face_handle` objects as the vertex descriptors, we define the `Arr_face_index_map` class-template, which maintains an -efficient mapping of face handles to indices. We also provide the template -`Arr_face_property_map` for associating arbitrary -data with the arrangement faces. +efficient mapping of face handles to indices. +Like vertices, `boost::vector_property_map` can be +used for associating arbitrary data with the arrangement faces. In the following example we construct the same arrangement as in example `bgl_primal_adapter.cpp` (see \cgalFigureRef{arr_figex_bgl}), and perform breadth-first search on the graph faces, starting from the unbounded face. We extend the \sc{Dcel} faces -with an unsigned integer, marking the discover time of the face and use a -breadth-first-search visitor to obtain these times and update the faces -accordingly: +with an unsigned integer, marking the discover time of the face +using `boost` visitors and a property-map class that directly accesses +the extended data of the faces: \cgalExample{Arrangement_on_surface_2/bgl_dual_adapter.cpp} diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h new file mode 100644 index 00000000000..e54c6bf5abd --- /dev/null +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_face_index_map.h @@ -0,0 +1,80 @@ +namespace CGAL { + +/*! +\ingroup PkgArrangement2 + +`Arr_face_index_map` maintains a mapping of face handles of an +attached arrangement object to indices (of type `unsigned int`). +This class template is a model of the `boost` concept +`ReadablePropertyMap`. A mapping between face handles and indices +enables convenient usage of property-map classes supplied by `boost`. +For example, the property-map class templates +`boost::vector_property_map`, which is based on `std::vector`, +and `boost::iterator_property_map`, which can be used to implement +a property map based on a native \CC array, require the +user to supply a mapping such as `Arr_face_index_map`. + +As new faces might be inserted into the attached arrangement, and +existing faces might be removed, the notification mechanism is used +to dynamically maintain the mapping of face handles to indices. + + +\cgalModels DefaultConstructible +\cgalModels CopyConstructible +\cgalModels Assignable +\cgalModels `boost::ReadablePropertyMap` + +\sa `Arr_observer` +\sa `Arr_vertex_index_map` +*/ + +template< typename Arrangement > +class Arr_face_index_map: public Arr_observer { +public: + +/// \name Types +/// @{ + +/*! +the type of the attached arrangement. +*/ +typedef Arrangement Arrangement_2; + +typedef boost::readable_property_map_tag; + +typedef unsigned int value_type; + +typedef unsigned int reference; + +typedef Face_handle key_type; + +/*! +The face handle type. +*/ +typedef typename Arrangement_2::Face_handle Face_handle; + +/*! +The type of mapping of faces to indices. +*/ +typedef Unique_hash_map Index_map; + +/// @} + +/// \name Creation +/// @{ + +/*! +constructs a map that is unattached to any arrangement instance. +*/ +Arr_face_index_map(); + +/*! +constructs a map and attaches it to the given arrangement `arr`. +*/ +Arr_face_index_map(Arrangement_2& arr); + +/// @} + +}; /* end Arr_accessor */ +} /* end namespace CGAL */ + diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h index a347a26302b..af599dc909e 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_linear_traits_2.h @@ -5,9 +5,10 @@ namespace CGAL { \ingroup PkgArrangement2TraitsClasses The traits class `Arr_linear_traits_2` is a model of the - `ArrangementTraits_2` concept that allows for the construction and - maintenance of arrangements of linear objects which may be bounded - (line segments) or unbounded (rays and lines). The traits class is + `ArrangementTraits_2` concept, which enables the construction and maintenance of arrangements of + linear objects. The linear objects may be bounded (line segments) or + unbounded (rays and lines). Thus, it is also a model of the concept + `ArrangementOpenBoundaryTraits_2`. The traits class is parameterized parameterized with a \cgal-kernel model; see the reference page of `Arr_segment_traits_2` for further explanations and recommendations on choosing a kernel. @@ -24,6 +25,7 @@ namespace CGAL { \cgalModels `ArrangementTraits_2` \cgalModels `ArrangementLandmarkTraits_2` + \cgalModels `ArrangementOpenBoundaryTraits_2` */ template< typename Kernel > class Arr_linear_traits_2 { diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h index 0dcac29824b..14f81828812 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_rational_function_traits_2.h @@ -6,9 +6,11 @@ namespace CGAL { The traits class `Arr_rational_function_traits_2` is a model of the `ArrangementTraits_2` concept. It handles bounded and unbounded arcs of rational functions, - referred to as rational arcs (in particular, such an arc may - correspond to the entire graph of a rational function), and enables the - construction and maintenance of arrangements of such arcs. + referred to as rational arcs (in particular, such an arc may correspond to the + entire graph of a rational function). It supports bounded and + unbounded arcs. Thus, it is also a model of the concept + `ArrangementOpenBoundaryTraits_2`. The traits class enables + the construction and maintenance of arrangements of such arcs. A rational function \f$ y = \frac{P(x)}{Q(x)}\f$ is defined by two polynomials \f$ P\f$ and \f$ Q\f$ of arbitrary degrees. diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h new file mode 100644 index 00000000000..6975b155ba0 --- /dev/null +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arr_vertex_index_map.h @@ -0,0 +1,85 @@ +namespace CGAL { + +/*! +\ingroup PkgArrangement2 + +`Arr_vertex_index_map` maintains a mapping of vertex handles of an +attached arrangement object to indices (of type `unsigned int`). +This class template is a model of the `boost` concept +`ReadablePropertyMap`. A mapping between vertex handles and indices +enables convenient usage of property-map classes supplied by `boost`. +For example, the property-map class templates +`boost::vector_property_map`, which is based on `std::vector`, +and `boost::iterator_property_map`, which can be used to implement +a property map based on a native \CC array, require the +user to supply a mapping such as `Arr_vertex_index_map`. + +As new vertices might be inserted into the attached arrangement, and +existing vertices might be removed, the notification mechanism is used +to dynamically maintain the mapping of vertex handles to indices. + + +\cgalModels DefaultConstructible +\cgalModels CopyConstructible +\cgalModels Assignable +\cgalModels `boost::ReadablePropertyMap` + +\sa `Arr_observer` +\sa `Arr_face_index_map` +*/ + +template< typename Arrangement > +class Arr_vertex_index_map: public Arr_observer { +public: + +/// \name Types +/// @{ + +/*! +the type of the attached arrangement. +*/ +typedef Arrangement Arrangement_2; + +typedef boost::readable_property_map_tag; + +typedef unsigned int value_type; + +typedef unsigned int reference; + +typedef Vertex_handle key_type; + +/*! +The vertex handle type. +*/ +typedef typename Arrangement_2::Vertex_handle Vertex_handle; + +/*! +The type of mapping of vertices to indices. +*/ +typedef Unique_hash_map Index_map; + +/// @} + +/// \name Creation +/// @{ + +/*! +constructs a map that is unattached to any arrangement instance. +*/ +Arr_vertex_index_map(); + +/*! +constructs a map and attaches it to the given arrangement `arr`. +*/ +Arr_vertex_index_map(Arrangement_2& arr); + +/// @} + +}; /* end Arr_accessor */ +} /* end namespace CGAL */ + + + + + + diff --git a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arrangement_2.h b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arrangement_2.h index 27ec5f301cb..5147a577a7d 100644 --- a/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arrangement_2.h +++ b/Arrangement_on_surface_2/doc/Arrangement_on_surface_2/CGAL/Arrangement_2.h @@ -172,7 +172,7 @@ public: An object \f$ e\f$ of the class `Halfedge` represents a halfedge in the arrangement. A halfedge is directed from its source vertex to its target vertex, and has an incident face lying to - its right. Each halfedge has a twin halfedge directed in the + its left. Each halfedge has a twin halfedge directed in the opposite direction, where the pair of twin halfedges form together an arrangement edge, that is - a \f$ 1\f$-dimensional cell, associated with planar \f$ x\f$-monotone curve. diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_class.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_class.tex index 318d027d413..77b914e351f 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_class.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_class.tex @@ -432,7 +432,7 @@ vertex (we distinguish between a vertex that corresponds to the left endpoint of the inserted curve and a vertex corresponding to its right endpoint), we have to create a new vertex that corresponds to the other endpoint of the curve and to connect the two vertices by a pair of -twin halfedges that form an "antenna" emanating from the boundary +twin halfedges that form an ``antenna'' emanating from the boundary of an existing connected component (note that if the existing vertex used to be isolated, this operation is actually equivalent to forming a new hole inside the face that contains this vertex). diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_free.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_free.tex index 20cd887bba7..d82627b6b12 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_free.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_free.tex @@ -218,7 +218,7 @@ zone computation terminates when an intersection with an arrangement's edge/vertex is found or when the right endpoint is reached. A given point-location object is used for locating the left endpoint of the given curve in the existing arrangement. By default, the function -uses the "walk along line" point-location strategy --- namely an +uses the ``walk along line'' point-location strategy --- namely an instance of the class \ccc{Arr_walk_along_line_point_location}. If the given curve is $x$-monotone then the traits @@ -233,7 +233,7 @@ intersects in the order that they are discovered when traversing the $x$-monotone curve from left to right. The function uses a given point-location object to locate the left endpoint of the given $x$-monotone curve. By default, the function -uses the "walk along line" point-location strategy. +uses the ``walk along line'' point-location strategy. The function requires that the traits class will model the \ccc{ArrangementXMonotoneTraits_2} concept. diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_intro.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_intro.tex index 7749496b184..c56c9f6e9b9 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_intro.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_intro.tex @@ -7,7 +7,7 @@ one-dimensional and two-dimensional cells, called {\em vertices}, {\em edges} and {\em faces}, respectively induced by the curves in $\calC$. Arrangements are ubiquitous in the computational-geometry literature and have many applications; -see, e.g.,~\cite{as-aa-00}, \cite{cgal:h-a-04}. +see, e.g.,~\cite{as-aa-00,cgal:h-a-04}. The curves in $\calC$ can intersect each other (a single curve may also be self-intersecting or may be comprised of several disconnected branches) diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_notif.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_notif.tex index f119c9d5b73..157f2f53afd 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_notif.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_notif.tex @@ -39,7 +39,7 @@ topological structure. Most notifier functions belong to this category. The relevant local changes include: \begin{itemize} \item A new vertex is constructed and associated with a point. -\item An edge\footnote{The term "edge" refers here to a pair of twin +\item An edge\footnote{The term ``edge'' refers here to a pair of twin half-edges.} is constructed and associated with an $x$-monotone curve. \item An edge is split into two edges. diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex index 39a6839a65d..546559e867b 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_queries.tex @@ -111,7 +111,7 @@ arrangement and moves downward toward the query point until locating the arrangement cell containing it. % \item \ccc{Arr_landmarks_point_location} -uses a set of "landmark" points whose location in the +uses a set of ``landmark'' points whose location in the arrangement is known. Given a query point, it uses a \kdtree\ to find the nearest landmark and then traverses the straight line segment connecting this landmark to the query point. @@ -142,7 +142,7 @@ pointer to an arrangement object and operate directly on it. Attaching such point-location objects to an existing arrangement has virtually no running-time cost at all, but the query time is linear in the size of the arrangement (the performance of the -"walk" strategy is much better in practice, but its worst-case +``walk'' strategy is much better in practice, but its worst-case performance is linear). Using these strategies is therefore recommended only when a relatively small number of point-location queries are issued by the application, or when the arrangement is diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_traits.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_traits.tex index 8020e3c76f1..be439a64e2e 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_traits.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_traits.tex @@ -438,7 +438,7 @@ segment-traits class. This kernel use interval arithmetic to filter the exact computations. The program reads a set of line segments with integer coordinates from a file and computes their arrangement. By default it opens the \ccc{fan_grids.dat} input-file, located in the examples folder, -which contains $104$ line segments that form four "fan-like" grids and +which contains $104$ line segments that form four ``fan-like'' grids and induce a dense arrangement, as illustrated in Figure~\ref{arr_fig:predef_kernels}(a): @@ -953,9 +953,9 @@ The following example demonstrates the construction of an arrangement of six rational arcs---four unbounded arcs and two bounded ones---as depicted in Figure~\ref{arr_fig:ex_unb_rat}. Note the usage of the constructors of an entire rational function and of -an infinite "ray" of such a function. Also observe that the hyperbolas +an infinite ``ray'' of such a function. Also observe that the hyperbolas $y = \pm\frac{1}{x}$ and $y = \pm\frac{1}{2x}$ never intersect, although -they have common vertical and horizontal asymptotes, so very "thin" +they have common vertical and horizontal asymptotes, so very ``thin'' unbounded faces are created between them: \ccIncludeExampleCode{Arrangement_on_surface_2/unbounded_rational_functions.cpp} @@ -1043,7 +1043,7 @@ of a polynomial $f(x,y)$ in two variables. The curve is uniquely defined by $f$ (although several polynomials might define the same curve). We call $f$ a \emph{defining polynomial} of $C$. -% When talking about algebraic curves, we use the term "segment" for a +% When talking about algebraic curves, we use the term ``segment'' for a % closed continuous subset of an algebraic curve % such that each interior point can be parameterized uniquely, as a function in % $x$ or $y$. In other words, there is no self-intersection in the interior @@ -1054,7 +1054,7 @@ or by (weakly) $x$-monotone segments for algebraic curves (Such a segment is not necessarily the maximal possible (weakly) x-monotone segment; see below.) When talking about algebraic curves, -we use the term "segment" for a continuous, possibly non-linear subset +we use the term ``segment'' for a continuous, possibly non-linear subset of an algebraic curve~-- see the definition below. There are no restrictions on the algebraic curve, that means, we support unbounded curves, vertical curves or segments, and isolated points. diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_unbounded.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_unbounded.tex index ebc8ddf020f..fc7cbcfc1c8 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_unbounded.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2/arr_unbounded.tex @@ -151,7 +151,7 @@ Halfedges are drawn as thin arrows. The vertices $v_1, \ldots, v_8$ lie at infinity, and are not associated with valid points. The halfedges that connect them are fictitious, and are not associated with concrete curves. The face denoted $f_0$ (lightly shaded) -is the fictitious "unbounded face" which lies outside the bounding +is the fictitious ``unbounded face'' which lies outside the bounding rectangle (dashed) that bounds the actual arrangement. The four fictitious vertices $v_{\rm bl}, v_{\rm tl}, v_{\rm br}$ and $v_{\rm tr}$ represent the four corners of the bounding @@ -211,7 +211,7 @@ bounding bounding rectangle: general the curve end also goes to $y = \pm\infty$ (see for instance the vertices $v_1$, $v_3$, $v_6$ and $v_8$ in Figure~\ref{arr_fig:unb_dcel}). For our convenience, we will always - take a "tall" enough bounding rectangle and treat such vertices as + take a ``tall'' enough bounding rectangle and treat such vertices as lying on either the left or right rectangle edges (that is, if a curve is defined at $x = -\infty$, its left end will be represented by a vertex on the left edge of the bounding rectangle, and if it is diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_landmarks_point_location.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_landmarks_point_location.tex index 3c30806a30d..3640ebca1bf 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_landmarks_point_location.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_landmarks_point_location.tex @@ -12,11 +12,11 @@ \label{arr_ref:lm_pl} The \ccRefName\ class implements a Jump \& Walk algorithm, where special -points, referred to as "landmarks", are chosen in a preprocessing stage, +points, referred to as ``landmarks'', are chosen in a preprocessing stage, their place in the arrangement is found, and they are inserted into a data-structure that enables efficient nearest-neighbor search (a {\sc Kd}-tree). Given a query point, the nearest landmark is located and a -"walk" strategy is applied from the landmark to the query point. +``walk'' strategy is applied from the landmark to the query point. There are various strategies to select the landmark set in the arrangement, where the strategy is determined by the diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_rational_function_traits.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_rational_function_traits.tex index 6ed48bee00c..47f2043aece 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_rational_function_traits.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_rational_function_traits.tex @@ -46,7 +46,7 @@ using \ccc{Make_x_monotone_2}. %does not have any real roots in this interval (thus the arc does not %contain any vertical asymptotes). Our traits class is also capable of %representing functions defined over an unbounded $x$-range, namely -%a "ray" defined over $(-\infty, x_{\rm max}]$ or over $[x_{\rm min}, \infty)$, +%a ``ray'' defined over $(-\infty, x_{\rm max}]$ or over $[x_{\rm min}, \infty)$, %or a function defined over the entire real $x$-range. Note that a %rational arc may be unbounded even if it is defined over some bounded interval. %In these cases $Q$ has zeros in this interval. That is, the user is able to construct diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_vertical_ray_shoot.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_vertical_ray_shoot.tex index 6f383309363..7200eb6b1fc 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_vertical_ray_shoot.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_vertical_ray_shoot.tex @@ -17,7 +17,7 @@ A model of the \ccRefName\ concept can be attached to an \ccc{Arrangement_2} instance and answer vertical ray-shooting queries on this arrangement. Namely, given a \ccc{Arrangement_2::Point_2} object, representing a point in the plane, it returns the arrangement feature (edge or vertex) that lies -strictly above it (or below it). By "strictly" we mean that if the +strictly above it (or below it). By ``strictly'' we mean that if the query point lies on an arrangement edge (or on an arrangement vertex) this edge will {\em not} be the query result, but the feature lying above or below it. (An exception to this rule is the degenerate situation where the diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_walk_along_a_line_point_location.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_walk_along_a_line_point_location.tex index 20d98a50483..53b30785ef2 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_walk_along_a_line_point_location.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arr_walk_along_a_line_point_location.tex @@ -27,7 +27,7 @@ The walk-along-a-line point-location object (just like the na\"{i}ve one) does not use any auxiliary data structures. Thus, attaching it to an existing arrangement takes constant time, and any ongoing updates to this arrangement do not affect the point-location object. -It is therefore recommended to use the "walk" point-location strategy +It is therefore recommended to use the ``walk'' point-location strategy for arrangements that are constantly changing, especially if the number of issued queries is not large. diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arrangement_2.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arrangement_2.tex index bc97ee861fb..f194864820a 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arrangement_2.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/Arrangement_2.tex @@ -259,7 +259,7 @@ a mutable handle. For example, the result of a point-location query is a non-mutable handle for the arrangement cell containing the query point. Assume that the query point lies on a edge, so we obtain a \ccc{Halfedge_const_handle}; if we wish to use this handle and remove the -edge, we first need to cast away its "constness". +edge, we first need to cast away its ``constness''. \ccMethod{Vertex_handle non_const_handle (Vertex_const_handle v);} {casts the given constant vertex handle to an equivalent mutable handle.} diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_do_intersect.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_do_intersect.tex index af5690c6f65..d4d5cb2c3bc 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_do_intersect.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_do_intersect.tex @@ -18,7 +18,7 @@ edge/vertex is found or when the right endpoint is reached. A given point-location object is used for locating the left endpoint of the given curve in the existing arrangement. By default, the function -uses the "walk along line" point-location strategy --- namely an +uses the ``walk along line'' point-location strategy --- namely an instance of the class \ccc{Arr_walk_along_line_point_location >}. diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert.tex index d2dbbb7d382..cb8cda5def6 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert.tex @@ -26,7 +26,7 @@ its left endpoint and computing its zone until reaching the right endpoint. The given point-location object \ccc{pl} is used to locate the left endpoints of the $x$-monotone curves. By default, the function uses the -"walk along line" point-location strategy --- namely an instance of +``walk along line'' point-location strategy --- namely an instance of the class \ccc{Arr_walk_along_line_point_location >}. \ccPrecond{If provided, \ccc{pl} must be attached to the given arrangement @@ -74,7 +74,7 @@ computing its zone until reaching the right endpoint. The given point-location object \ccc{pl} is used to locate the left endpoints of the $x$-monotone curves. By default, the function uses the -"walk along line" point-location strategy --- namely an instance of +``walk along line'' point-location strategy --- namely an instance of the class \ccc{Arr_walk_along_line_point_location >}. \ccPrecond{If provided, \ccc{pl} is attached to the given arrangement diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_non_intersecting.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_non_intersecting.tex index e9221b447e2..71d4094bb51 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_non_intersecting.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_non_intersecting.tex @@ -16,7 +16,7 @@ left to right). A given point-location object is used for answering the two point-location queries on the given curve endpoints. By default, the function uses the -"walk along line" point-location strategy --- namely, an instance of the +``walk along line'' point-location strategy --- namely, an instance of the class \ccc{Arr_walk_along_line_point_location >}. \ccInclude{CGAL/Arrangement_2.h} diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_vertex.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_vertex.tex index 48d7e8d6b1a..ee4e4f153ed 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_vertex.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_insert_vertex.tex @@ -10,7 +10,7 @@ point in the given arrangement. If the point conincides with an existing vertex, there is nothing left to do; if it lies on an edge, the edge is split at the point. Otherwise, the point is contained inside a face, and is inserted as an isolated vertex inside this face. -By default, the function uses the "walk along line" point-location +By default, the function uses the ``walk along line'' point-location strategy --- namely, an instance of the class \ccc{Arr_walk_along_line_point_location >}. In either case, the function returns a handle for the vertex associated diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_overlay.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_overlay.tex index 6c0b410c988..7b5aa02ba77 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_overlay.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_overlay.tex @@ -30,7 +30,7 @@ construct the overlaid \dcel{} that represents the resulting arrangement. Computes the overlay of two arrangements \ccc{arr1} and \ccc{arr2}, and sets the output arrangement \ccc{res} to represent the overlaid arrangement. \ccPrecond{\ccc{res} does not refer to either \ccc{arr1} or \ccc{arr2} -(that is, "self overlay" is not supported).} +(that is, ``self overlay'' is not supported).} \ccGlobalFunction{template @@ -75,7 +75,7 @@ represent the overlaid arrangement. The function also constructs a consolidated set of curves that induce \ccc{res}. It employs the default overlay-traits, which practically does nothing. \ccPrecond{\ccc{res} does not refer to either \ccc{arr1} or \ccc{arr2} -(that is, "self overlay" is not supported).} +(that is, ``self overlay'' is not supported).} \ccRequirements \begin{itemize} diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_vert_decomp.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_vert_decomp.tex index 2348c34c7f2..2f4cb237430 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_vert_decomp.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_vert_decomp.tex @@ -14,7 +14,7 @@ and physically decomposing the arrangement into pseudo-trapezoids. To do this, it is convenient to process the vertices in an ascending $xy$-lexicographic order. The visible objects are therefore returned through an output iterator, which pairs each finite arrangement vertex with the two -features it "sees", such that the vertices are given in ascending +features it ``sees'', such that the vertices are given in ascending $xy$-lexicographic order. \ccInclude{CGAL/Arr_vertical_decomposition_2.h} diff --git a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_zone.tex b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_zone.tex index 15618acdf36..385960ac238 100644 --- a/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_zone.tex +++ b/Arrangement_on_surface_2/doc_tex/Arrangement_on_surface_2_ref/arr_zone.tex @@ -12,7 +12,7 @@ discovered when traversing the $x$-monotone curve from left to right. A given point-location object is used for answering point-location queries during the insertion process. By default, the function uses the -"walk along line" point-location strategy --- namely an instance of the +``walk along line'' point-location strategy --- namely an instance of the class \ccc{Arr_walk_along_line_point_location >}. %%%% diff --git a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/Basic_sweep_line_2.tex b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/Basic_sweep_line_2.tex index 985f208ed58..3cd430eef23 100644 --- a/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/Basic_sweep_line_2.tex +++ b/Arrangement_on_surface_2/doc_tex/Sweep_line_2_ref/Basic_sweep_line_2.tex @@ -71,7 +71,7 @@ {Run the sweep-line algorithm on a given range of x-monotone curves. \ccc{curves_begin} is an iterator for the first curve in the range. \ccc{curves_end} is a past-the-end iterator for the range. - \ccPrecond{The value-type of CurveInputIterator is X_monotone_curve_2.}} + \ccPrecond {The value-type of CurveInputIterator is X_monotone_curve_2.}} \ccMethod{template diff --git a/BGL/doc_tex/BGL/BGL.tex b/BGL/doc_tex/BGL/BGL.tex index 5dc4d005a4f..9b5d07da033 100644 --- a/BGL/doc_tex/BGL/BGL.tex +++ b/BGL/doc_tex/BGL/BGL.tex @@ -88,7 +88,7 @@ property map. The data themselves may be stored in the vertex or edge, or they may be stored in an external data structure, or they may be computed on -the fly. This is an "implementation detail" of the particular property map. +the fly. This is an ``implementation detail'' of the particular property map. \smallskip Property maps in the Boost manuals: \path|http://www.boost.org/libs/property_map/doc/property_map.html| diff --git a/BGL/doc_tex/BGL_ref/graph_traits_Triangulation_2.tex b/BGL/doc_tex/BGL_ref/graph_traits_Triangulation_2.tex index b8211b28853..3b877abc4a8 100644 --- a/BGL/doc_tex/BGL_ref/graph_traits_Triangulation_2.tex +++ b/BGL/doc_tex/BGL_ref/graph_traits_Triangulation_2.tex @@ -27,7 +27,7 @@ the edge weight is not well defined for infinite edges. For algorithms that make use of the edge weight the user must therefore define a \ccAnchor{http://www.boost.org/libs/graph/doc/filtered_graph.html} {\ccc{boost::filtered_graph}} or pass a property map to the -algorithm that returns "infinity" for infinite edges. +algorithm that returns ``infinity'' for infinite edges. Note also that when you derive from the class \ccc{CGAL::Triangulation_2} diff --git a/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_d.tex b/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_d.tex index 8b412ed6b81..127f2fe7623 100644 --- a/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_d.tex +++ b/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_d.tex @@ -87,13 +87,13 @@ and also automatically with\\ \ccConstructor{Box_d(NT lo[D], NT hi[D]);}{initializes the box intervals to [\ccc{lo[i]},\ccc{hi[i]}], $0 \leq i < D$. - \ccPrecond{\ccc{lo[i]} $<$ \ccc{hi[i]} for $0 \leq i < D$.}} + \ccPrecond \ccc{lo[i]} $<$ \ccc{hi[i]} for $0 \leq i < D$.} \ccConstructor{Box_d( const Bbox_2& bbox);}{constructs from bbox - \ccRequire{ $D=2$ and \ccc{NT}$ \equiv $\ccc{double}.}} + \ccRequire $D=2$ and \ccc{NT}$ \equiv $\ccc{double}.} \ccGlue \ccConstructor{Box_d( const Bbox_3& bbox);}{constructs from bbox - \ccRequire{ $D=3$ and \ccc{NT}$ \equiv $\ccc{double}.}} + \ccRequire $D=3$ and \ccc{NT}$ \equiv $\ccc{double}.} \ccModifiers @@ -113,21 +113,21 @@ and also automatically with\\ \ccMethod{std::size_t id();} {returns a unique box id, see the \ccc{IdPolicy} template parameter above for the different choices. - \ccRequire{ \ccc{IdPolicy}$ \neq $\ccc{ID_NONE}}} + \ccRequire \ccc{IdPolicy}$ \neq $\ccc{ID_NONE}} \ccMethod{NT min_coord(int d) const;}{% returns the lower boundary in dimension \ccc{d} - \ccPrecond{$0 \leq $\ccc{d}$ < D$}.} + \ccPrecond $0 \leq $\ccc{d}$ < D$} \ccMethod{NT max_coord(int d) const;}{% returns the upper boundary in dimension \ccc{d} - \ccPrecond{$0 \leq $\ccc{d}$ < D$}.} + \ccPrecond $0 \leq $\ccc{d}$ < D$} \ccMethod{const Bbox_2& bbox() const;}{returns the bounding box - \ccRequire{ $D=2$ and \ccc{NT}$ \equiv $\ccc{double}}} + \ccRequire $D=2$ and \ccc{NT}$ \equiv $\ccc{double}} \ccGlue \ccMethod{const Bbox_3& bbox() const;}{returns the bounding box - \ccRequire{ $D=3$ and \ccc{NT}$ \equiv $\ccc{double}}} + \ccRequire $D=3$ and \ccc{NT}$ \equiv $\ccc{double}} \ccMethod{void extend(NT p[N]);}{extends \ccVar\ to the smallest box that additionally contains the point represented by coordinates in \ccc{p}.} diff --git a/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_with_handle_d.tex b/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_with_handle_d.tex index e95e16d8ce3..9e949fe31cf 100644 --- a/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_with_handle_d.tex +++ b/Box_intersection_d/doc_tex/Box_intersection_d_ref/Box_with_handle_d.tex @@ -104,7 +104,7 @@ and also automatically with\\ \ccConstructor{Box_with_handle_d(NT lo[D], NT hi[D], Handle h);}{initializes the box intervals to [\ccc{lo[i]},\ccc{hi[i]}], $0 \leq i < D$ and sets the handle to $h$. - \ccPrecond{\ccc{lo[i]} $<$ \ccc{hi[i]} for $0 \leq i < D$.}} + \ccPrecond \ccc{lo[i]} $<$ \ccc{hi[i]} for $0 \leq i < D$.} \ccConstructor{Box_with_handle_d( const Bbox_2& bbox, Handle h);}{constructs from bbox and sets the handle to $h$, exists iff $D=2$ and \ccc{NT}$ diff --git a/Circular_kernel_2/doc_tex/Circular_kernel_2/CK.tex b/Circular_kernel_2/doc_tex/Circular_kernel_2/CK.tex index db8f9ce917e..80a11f48578 100644 --- a/Circular_kernel_2/doc_tex/Circular_kernel_2/CK.tex +++ b/Circular_kernel_2/doc_tex/Circular_kernel_2/CK.tex @@ -82,7 +82,7 @@ numbers of degree~2, written by Olivier Devillers \cite{cgal:dfmt-amafe-00,cgal:dfmt-amafe-02}, and that are still used in the current implementation of \ccc{CGAL::Root_of_2}. -Some work was then done in the direction of a "kernel" for +Some work was then done in the direction of a ``kernel'' for \cgal.\footnote{Monique Teillaud, First Prototype of a \cgal\ Geometric Kernel with Circular Arcs, Technical Report ECG-TR-182203-01, 2002\\Sylvain Pion and Monique Teillaud, diff --git a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex index cfc0d4760fb..2ebb8a6f757 100644 --- a/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex +++ b/Circular_kernel_2/doc_tex/Circular_kernel_2_ref/intro.tex @@ -24,7 +24,7 @@ \ccRefConceptPage{CircularKernel::ConstructCircularTargetVertex_2} %\footnote{technical remark: the previous functors have a different name -%"Circular" because the operators() don't have the same return type +%``Circular'' because the operators() don't have the same return type %as the existing CGAL functors... it would be nice to find a way to avoid %this, but I don't know any technique for this.} diff --git a/Circulator/doc_tex/Circulator_ref/Circulator_from_container.tex b/Circulator/doc_tex/Circulator_ref/Circulator_from_container.tex index b7d3d5e49d1..fc06b79f60b 100644 --- a/Circulator/doc_tex/Circulator_ref/Circulator_from_container.tex +++ b/Circulator/doc_tex/Circulator_ref/Circulator_from_container.tex @@ -57,8 +57,8 @@ All types required for circulators are provided. \ccConstructor{Circulator_from_container(C* container, C::iterator i);}{% a circulator \ccVar\ initialized to refer to the element \ccStyle{*i} in - \ccStyle{container}. \ccPrecond{\ccStyle{*i} is dereferenceable and refers - to \ccStyle{container}.} + \ccStyle{container}. \ccPrecond \ccStyle{*i} is dereferenceable and refers + to \ccStyle{container}. } \ccOperations diff --git a/Circulator/doc_tex/Circulator_ref/is_empty_range.tex b/Circulator/doc_tex/Circulator_ref/is_empty_range.tex index 52e927e3f0e..c3ba6e7040f 100644 --- a/Circulator/doc_tex/Circulator_ref/is_empty_range.tex +++ b/Circulator/doc_tex/Circulator_ref/is_empty_range.tex @@ -31,8 +31,8 @@ the range is empty or not. bool is_empty_range( const IC& i, const IC& j);}{% is \ccc{true} if the range [\ccc{i, j}) is empty, \ccc{false} otherwise. - \ccPrecond{\ccc{IC} is either a circulator or an iterator - type. The range [\ccc{i, j}) is valid.} + \ccPrecond \ccc{IC} is either a circulator or an iterator + type. The range [\ccc{i, j}) is valid. } \ccExample diff --git a/Combinatorial_map/doc_tex/Combinatorial_map/Combinatorial_map.tex b/Combinatorial_map/doc_tex/Combinatorial_map/Combinatorial_map.tex index 2bd1f255a38..96a07e9947e 100644 --- a/Combinatorial_map/doc_tex/Combinatorial_map/Combinatorial_map.tex +++ b/Combinatorial_map/doc_tex/Combinatorial_map/Combinatorial_map.tex @@ -402,7 +402,7 @@ of the combinatorial map. % the set of \cells{i} form a partition of the set of darts D, i.e. % % Je le dis ici a titre d'exemple, c'est a dire je recommende -% que tu fasse un passe pour obtenir plus de "phrases sans $..$" +% que tu fasse un passe pour obtenir plus de ``phrases sans $..$'' A last important property of cells is that for all dimensions \emph{i} the set of \cells{i} forms a partition of the set of darts \emph{D}, i.e. for @@ -1605,9 +1605,9 @@ four 2-attributes having respectively 2, 2, 5 and 10 as values. \section{Mathematical Definitions}\label{sec_definition} The initial definition of combinatorial map in any dimension is given -in \cite{cgal:l-tmbrc-91}, \cite{l-ndgcm-94}. But it allows only to represent +in \cite{cgal:l-tmbrc-91,l-ndgcm-94}. But it allows only to represent objects without boundaries. This definition was extended -\cite{cgal:pabl-cco-07}, \cite{cgal:d-ccccg-10} in order to allow to represent +\cite{cgal:pabl-cco-07,cgal:d-ccccg-10} in order to allow to represent objects with boundaries, based on the notions of partial permutations and partial involutions. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_akl_toussaint.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_akl_toussaint.tex index ede62a1f479..22d24a895b9 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_akl_toussaint.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_akl_toussaint.tex @@ -30,9 +30,9 @@ points from a given set of input points. \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. It is not specified at which point the cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond{ %\ccIndexSubitem[C]{ch_akl_toussaint}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_akl_toussaint}{preconditions} The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.}} + \ccc{result}.} The default traits class \ccc{Default_traits} is the kernel in which the diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_bykat.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_bykat.tex index 5c7969da16d..2faef5a130c 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_bykat.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_bykat.tex @@ -31,9 +31,9 @@ points from a given set of input points. \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. It is not specified at which point the cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond{ %\ccIndexSubitem[C]{ch_bykat}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_bykat}{preconditions} The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.}} + \ccc{result}.} The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{ForwardIterator::value_type} is defined. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_eddy.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_eddy.tex index 2b9a87cf072..5099890da2a 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_eddy.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_eddy.tex @@ -31,9 +31,9 @@ points from a given set of input points. \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. It is not specified at which point the cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond{ %\ccIndexSubitem[C]{ch_eddy}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_eddy}{preconditions} The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.}} + \ccc{result}.} The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{ForwardIterator::value_type} is defined. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew.tex index 3f3e7db9e10..f79e1e37f29 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew.tex @@ -31,9 +31,9 @@ points from a given set of input points. \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. It is not specified at which point the cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond{ %\ccIndexSubitem[C]{ch_graham_andrew}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_graham_andrew}{preconditions} The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.}} + \ccc{result}.} The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{InputIterator::value_type} is defined. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew_scan.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew_scan.tex index 5186a915ead..207e1e2ded8 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew_scan.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_graham_andrew_scan.tex @@ -32,13 +32,13 @@ by the first and last points in this sequence. the value of \ccc{beyond} $-1$. The resulting sequence is placed starting at \ccc{result} with $p$; point $q$ is omitted. The past-the-end iterator for the sequence is returned. - \ccPrecond{ %\ccIndexSubitem[C]{ch_graham_andrew_scan}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_graham_andrew_scan}{preconditions} The range [\ccc{first},\ccc{beyond}) contains at least two different points. - The points in [\ccc{first},\ccc{beyond}) are "sorted" with respect + The points in [\ccc{first},\ccc{beyond}) are ``sorted'' with respect to $pq$, {\it i.e.}, the sequence of points in [\ccc{first},\ccc{beyond}) define a counterclockwise polygon, - for which the Graham-Sklansky-procedure \cite{s-mcrm-72} works.}} + for which the Graham-Sklansky-procedure \cite{s-mcrm-72} works.} The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{BidirectionalIterator::value_type} is defined. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_jarvis.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_jarvis.tex index d488915c076..24179345b39 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_jarvis.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_jarvis.tex @@ -32,9 +32,9 @@ points from a given set of input points. \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. It is not specified at which point the cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond{ %\ccIndexSubitem[C]{ch_jarvis}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_jarvis}{preconditions} The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.}} + \ccc{result}.} The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{InputIterator::value_type} is defined. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_melkman.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_melkman.tex index 5756c3bc13b..b81be91a4bd 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_melkman.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/ch_melkman.tex @@ -28,10 +28,10 @@ extreme points of a sequence of points that forms a simple polyline or polygon. The resulting sequence is placed starting at position \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. - \ccPrecond{ %\ccIndexSubitem[C]{ch_melkman}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{ch_melkman}{preconditions} The source range [\ccc{first},\ccc{beyond}) corresponds to a simple polyline. - [\ccc{first},\ccc{beyond}) does not contain \ccc{result}}.} + [\ccc{first},\ccc{beyond}) does not contain \ccc{result}}. The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{InputIterator::value_type} is defined. diff --git a/Convex_hull_2/doc_tex/Convex_hull_2_ref/convex_hull_2.tex b/Convex_hull_2/doc_tex/Convex_hull_2_ref/convex_hull_2.tex index f0696c8d887..7dc84257a6f 100644 --- a/Convex_hull_2/doc_tex/Convex_hull_2_ref/convex_hull_2.tex +++ b/Convex_hull_2/doc_tex/Convex_hull_2_ref/convex_hull_2.tex @@ -28,9 +28,9 @@ points from a given set of input points. \ccc{result}, and the past-the-end iterator for the resulting sequence is returned. It is not specified at which point the cyclic sequence of extreme points is cut into a linear sequence. - \ccPrecond{ %\ccIndexSubitem[C]{convex_hull_2}{preconditions} + \ccPrecond %\ccIndexSubitem[C]{convex_hull_2}{preconditions} The source range [\ccc{first},\ccc{beyond}) does not contain - \ccc{result}.}} + \ccc{result}.} The default traits class \ccc{Default_traits} is the kernel in which the type \ccc{InputIterator::value_type} is defined. diff --git a/Convex_hull_d/doc_tex/Convex_hull_d_ref/Convex_hull_d.tex b/Convex_hull_d/doc_tex/Convex_hull_d_ref/Convex_hull_d.tex index bd5b3ecf8a2..3e43a1dfc98 100644 --- a/Convex_hull_d/doc_tex/Convex_hull_d_ref/Convex_hull_d.tex +++ b/Convex_hull_d/doc_tex/Convex_hull_d_ref/Convex_hull_d.tex @@ -124,20 +124,20 @@ returns the point associated with vertex $v$.} \ccMethod{Vertex_handle vertex_of_simplex(Simplex_handle s, int i) ;}{returns the vertex corresponding to the $i$-th vertex of $s$.\\ -\ccPrecond{$0 \leq i \leq \ccc{dcur}$. }} +\ccPrecond $0 \leq i \leq \ccc{dcur}$. } \ccMethod{Point_d point_of_simplex(Simplex_handle s,int i) ;}{same as \ccc{C.associated_point(C.vertex_of_simplex(s,i))}. } \ccMethod{Simplex_handle opposite_simplex(Simplex_handle s,int i) ;}{returns the simplex opposite to the $i$-th vertex of $s$ -(\ccc{Simplex_handle()} if there is no such simplex). \ccPrecond{ $0 -\leq i \leq \ccc{dcur}$.} } +(\ccc{Simplex_handle()} if there is no such simplex). \ccPrecond $0 +\leq i \leq \ccc{dcur}$. } \ccMethod{int index_of_vertex_in_opposite_simplex(Simplex_handle s,int i) ;}{returns the index of the vertex opposite to the $i$-th vertex of -$s$. \ccPrecond{$0 \leq i \leq \ccc{dcur}$ and there is a simplex -opposite to the $i$-th vertex of $s$.} } +$s$. \ccPrecond $0 \leq i \leq \ccc{dcur}$ and there is a simplex +opposite to the $i$-th vertex of $s$. } \ccMethod{Simplex_handle simplex(Vertex_handle v) ;}{returns a simplex of which $v$ is a node. Note that this simplex is not unique. } @@ -147,24 +147,24 @@ of which $v$ is a node. Note that this simplex is not unique. } \ccMethod{Vertex_handle vertex_of_facet(Facet_handle f, int i) ;}{returns the vertex corresponding to the $i$-th vertex of $f$. -\ccPrecond{$0 \leq i < \ccc{dcur}$.} } +\ccPrecond $0 \leq i < \ccc{dcur}$. } \ccMethod{Point_d point_of_facet(Facet_handle f, int i) ;}{same as \ccc{C.associated_point(C.vertex_of_facet(f,i))}. } \ccMethod{Facet_handle opposite_facet(Facet_handle f, int i) ;}{returns the facet opposite to the $i$-th vertex of $f$ -(\ccc{Facet_handle()} if there is no such facet). \ccPrecond{$0 \leq i -< \ccc{dcur}$ and \ccc{dcur > 1}.} } +(\ccc{Facet_handle()} if there is no such facet). \ccPrecond $0 \leq i +< \ccc{dcur}$ and \ccc{dcur > 1}. } \ccMethod{int index_of_vertex_in_opposite_facet(Facet_handle f, int i) ;}{returns the index of the vertex opposite to the $i$-th vertex of -$f$. \ccPrecond{$0 \leq i < \ccc{dcur}$ and \ccc{dcur > 1}.} } +$f$. \ccPrecond $0 \leq i < \ccc{dcur}$ and \ccc{dcur > 1}. } \ccMethod{Hyperplane_d hyperplane_supporting(Facet_handle f) ;}{returns a hyperplane supporting facet \ccc{f}. The hyperplane is oriented such that the interior of \ccc{C} is on the negative side of -it. \ccPrecond{\ccc{f} is a facet of \ccc{C} and \ccc{dcur > 1}.} } +it. \ccPrecond \ccc{f} is a facet of \ccc{C} and \ccc{dcur > 1}. } \ccMethod{Vertex_handle insert(const Point_d& x);}{adds point \ccc{x} to the underlying set of points. If $x$ is equal to (the point @@ -188,13 +188,13 @@ $x$ is not contained in the affine hull of \ccc{S}. } \ccMethod{std::list facets_visible_from(const Point_d& x);}{returns the list of all facets that are visible from \ccc{x}.\\ -\ccPrecond{\ccc{x} is contained in the affine hull of \ccc{S}.} } +\ccPrecond \ccc{x} is contained in the affine hull of \ccc{S}. } \ccMethod{Bounded_side bounded_side(const Point_d& x);}{returns \ccc{ON_BOUNDED_SIDE} (\ccc{ON_BOUNDARY},\ccc{ON_UNBOUNDED_SIDE}) if \ccc{x} is contained in the interior (lies on the boundary, is -contained in the exterior) of \ccc{C}. \ccPrecond{\ccc{x} is contained -in the affine hull of \ccc{S}.} } +contained in the exterior) of \ccc{C}. \ccPrecond \ccc{x} is contained +in the affine hull of \ccc{S}. } \ccMethod{void clear(int d) ;}{re-initializes \ccc{C} to an empty hull in $d$-dimensional space. } @@ -323,7 +323,7 @@ include \ccc{} \ccFunction{template void convex_hull_d_to_polyhedron_3( const Convex_hull_d& C, Polyhedron_3& P) ;}{converts the convex hull \ccc{C} to polyhedral surface stored in - \ccc{P}.\\ \ccPrecond{\ccc{dim == 3} and \ccc{dcur == 3}.} + \ccc{P}.\\ \ccPrecond \ccc{dim == 3} and \ccc{dcur == 3}. } \ccHeading{Low Dimensional Output Routines} @@ -331,7 +331,7 @@ void convex_hull_d_to_polyhedron_3( const Convex_hull_d& C, Polyhedron_3 void d3_surface_map(const Convex_hull_d& C, GRAPH< typename Convex_hull_d::Point_d ,int>& G);}{constructs the representation of the surface of \ccc{C} as a -bidirected LEDA graph \ccc{G}.\\ \ccPrecond{\ccc{dim == 3}. } +bidirected LEDA graph \ccc{G}.\\ \ccPrecond \ccc{dim == 3}. } \end{ccRefClass} diff --git a/Convex_hull_d/doc_tex/Convex_hull_d_ref/Delaunay_d.tex b/Convex_hull_d/doc_tex/Convex_hull_d_ref/Delaunay_d.tex index 614cb00e283..87afeef28e5 100644 --- a/Convex_hull_d/doc_tex/Convex_hull_d_ref/Delaunay_d.tex +++ b/Convex_hull_d/doc_tex/Convex_hull_d_ref/Delaunay_d.tex @@ -144,23 +144,23 @@ triangulation. } \ccMethod{ Vertex_handle vertex_of_simplex(Simplex_handle s, int i) ;}{returns the vertex associated with the $i$-th node of $s$. -\ccPrecond{$0 \leq i \leq \ccc{dcur}$.} +\ccPrecond $0 \leq i \leq \ccc{dcur}$. } \ccMethod{Point_d associated_point(Vertex_handle v) ;}{returns the point associated with vertex $v$. } \ccMethod{Point_d point_of_simplex(Simplex_handle s,int i) ;}{returns the point associated with the $i$-th vertex of $s$. -\ccPrecond{$0 \leq i \leq \ccc{dcur}$.} +\ccPrecond $0 \leq i \leq \ccc{dcur}$. } \ccMethod{Simplex_handle opposite_simplex(Simplex_handle s, int i) ;}{returns the simplex opposite to the $i$-th vertex of $s$ (\ccc{Simplex_handle()} if there is no such simplex). -\ccPrecond{$0 \leq i \leq \ccc{dcur}$.} +\ccPrecond $0 \leq i \leq \ccc{dcur}$. } \ccMethod{int index_of_vertex_in_opposite_simplex(Simplex_handle s,int i) ;}{returns the index of the vertex opposite to the $i$-th vertex -of $s$. \ccPrecond{$0 \leq i \leq \ccc{dcur}$.} +of $s$. \ccPrecond $0 \leq i \leq \ccc{dcur}$. } \ccMethod{Simplex_handle simplex(Vertex_handle v) ;}{returns a simplex of the nearest site triangulation incident @@ -209,8 +209,8 @@ sphere $C$. \ccMethod{std::list range_search(const std::vector& A) ;}{returns the list of all vertices contained in the closure of the simplex whose corners are given by \ccc{A}. -\ccPrecond{\ccc{A} must consist of $d+1$ affinely independent points -in base space.} +\ccPrecond \ccc{A} must consist of $d+1$ affinely independent points +in base space. } \ccMethod{std::list all_simplices(Delaunay_voronoi_kind k = NEAREST) ;}{returns a list of all simplices of either the nearest or the @@ -327,7 +327,7 @@ and uses the following function objects from the kernel traits \ccc{R}: \ccFunction{template template void d2_map(const Delaunay_d& D, GRAPH< typename Delaunay_d::Point_d, int >& DTG, typename Delaunay_d::Delaunay_voronoi_kind k = Delaunay_d::NEAREST) ;}{constructs a LEDA graph representation of the nearest (\ccc{kind = NEAREST} or the furthest (\ccc{kind = FURTHEST}) site -Delaunay triangulation. \ccPrecond{\ccc{dim() == 2}.} +Delaunay triangulation.\\ \ccPrecond \ccc{dim() == 2}. } \ccIndexMainItemEnd{Delaunay triangulation, dD} diff --git a/Developers_manual/doc_tex/Developers_manual/checks.tex b/Developers_manual/doc_tex/Developers_manual/checks.tex index 6199dcc2d53..4757a116866 100644 --- a/Developers_manual/doc_tex/Developers_manual/checks.tex +++ b/Developers_manual/doc_tex/Developers_manual/checks.tex @@ -81,7 +81,7 @@ attributes: \begin{itemize} \item \textbf{Expensive}\ccIndexSubitemDef{checks}{expensive} checks take considerable time to compute. - "Considerable" is an imprecise phrase. Checks that add less than 10 + ``Considerable'' is an imprecise phrase. Checks that add less than 10 percent to the execution time of their routine are not expensive. Checks that can double the execution time are. Somewhere in between lies the border line. diff --git a/Developers_manual/doc_tex/Developers_manual/code_format.tex b/Developers_manual/doc_tex/Developers_manual/code_format.tex index 8d92e730539..dfd7d608a6d 100644 --- a/Developers_manual/doc_tex/Developers_manual/code_format.tex +++ b/Developers_manual/doc_tex/Developers_manual/code_format.tex @@ -59,13 +59,13 @@ there are \emph{convincing} reasons. \ccIndexSubitem{naming scheme}{abbreviations} ({\em e.g.}, use \ccc{Triangulation} instead of \ccc{Tri}). The only exceptions - might be standard geometric abbreviations (such as "CH" for "convex - hull") and standard data structure abbreviations (such as "DS" for - "data structure"). Unfortunately, the long names that result from + might be standard geometric abbreviations (such as ``CH'' for ``convex + hull'') and standard data structure abbreviations (such as ``DS'' for + ``data structure''). Unfortunately, the long names that result from the absence of abbreviations are known to cause problems with some compilers.\ccIndexMainItem{long-name problem} % See Section~\ref{sec:long_name_problem} -% for further information about the so-called "long-name problem." +% for further information about the so-called ``long-name problem.'' \ccIndexSubitemBegin{naming scheme}{capitalization} \item Names of constants are uppercase ({\em e.g.}, \ccc{ORIGIN}). \ccModifierCrossRefOff @@ -112,7 +112,7 @@ there are \emph{convincing} reasons. \ccIndexSubitemBegin{data structures}{naming} \begin{itemize} \item Names for geometric data structures and algorithms should follow - the "spirit" of the rules given so far, \eg~a data structure for + the ``spirit'' of the rules given so far, \eg~a data structure for triangulations in the plane is named \ccc{Triangulation_2}, and a convex hull algorithm in 3-space is named \ccc{convex_hull_3}. \item Member functions realizing predicates should start with \ccc{is_} or @@ -186,7 +186,7 @@ Here are the naming rules: objects like \ccc{Has_on_bounded_side_2}, \ccc{Is_degenerate_2}, and \ccc{Is_horizontal_2}. According to the current kernel we also have \ccc{Left_turn_2}. For reasons of consistency with - \stl, all "less-than"-objects start with \ccc{Less_}, + \stl, all ``less-than''-objects start with \ccc{Less_}, \eg,~\ccc{Less_xy_2}. Further examples are \ccc{Less_distance_to_point_2} and \ccc{Less_distance_to_line_2}. However, we have \ccc{Equal_2}, @@ -250,7 +250,7 @@ For example, the function that returns an instance of the \ccIndexSubitemBegin{source files}{naming scheme} \begin{itemize} -\item File names should be chosen in the "spirit" of the naming rules given +\item File names should be chosen in the ``spirit'' of the naming rules given above. \item If a single geometric object, data structure, or algorithm is provided in a single file, its name (and its capitalization) should be used for @@ -266,7 +266,7 @@ For example, the function that returns an instance of the rejected by the submission script. \item The names of files should not contain any characters not allowed by all the platforms the library supports. In particular, it should not - contain the characters ':', '*', or '\ '. + contain the characters `:', `*', or `\ '. \item Internal header files -- which are not documented to the user -- should have {\tt /internal/} as a directory higher up in their hierarchy. For example {\tt CGAL/internal/foo.h} or diff --git a/Developers_manual/doc_tex/Developers_manual/handles.tex b/Developers_manual/doc_tex/Developers_manual/handles.tex index f5efc67632d..5afa2444ba1 100644 --- a/Developers_manual/doc_tex/Developers_manual/handles.tex +++ b/Developers_manual/doc_tex/Developers_manual/handles.tex @@ -146,7 +146,7 @@ class My_geo_object : public Handle \end{verbatim} The class \ccc{My_geo_object} is responsible for allocating and constructing -the \ccc{My_rep} object "on the heap". +the \ccc{My_rep} object ``on the heap''. Typically, a constructor call is forwarded to a corresponding constructor of \ccc{My_rep}. The address of the new \ccc{My_rep} is assigned to \ccc{PTR} inherited from \ccc{Handle}, e.g.: diff --git a/Developers_manual/doc_tex/Developers_manual/portability.tex b/Developers_manual/doc_tex/Developers_manual/portability.tex index f6c799266e5..c48e0380d89 100644 --- a/Developers_manual/doc_tex/Developers_manual/portability.tex +++ b/Developers_manual/doc_tex/Developers_manual/portability.tex @@ -35,9 +35,9 @@ assume. Especially you may assume that the compiler \item supports member templates \item support for \texttt{std::iterator\_traits}. \end{itemize} -Still, there are many bugs (sometimes known as "features") left in the +Still, there are many bugs (sometimes known as ``features'') left in the compilers. Have a look at the list of (non-obsolete) workarounds in -Section~\ref{sec:workaround_flags} to get an idea of which "features" are +Section~\ref{sec:workaround_flags} to get an idea of which ``features'' are still present. \ccIndexMainItemBegin{configuration} @@ -167,11 +167,11 @@ operating system and compiler that is defined as follows. \begin{description} \item[$<$arch$>$] is the system architecture as defined by ``{\tt - uname -p}" or "\texttt{uname -m}", + uname -p}'' or ``\texttt{uname -m}'', \item[$<$os$>$] is the operating system as defined by ``\texttt{uname -s}'', \item[$<$os-version$>$] is the operating system version as defined by - "\texttt{uname -r}", + ``\texttt{uname -r}'', \item[$<$comp$>$] is the basename of the compiler executable (if it contains spaces, these are replaced by "-"), and \item[$<$comp-version$>$] is the compiler's version number (which @@ -196,12 +196,12 @@ These test programs reside in the directory where \verb|$(CGAL_ROOT)| represents the installation directory for the library. The names of all testfiles, which correspond to the names of the flags, \ccIndexSubitem{workaround flags}{names} -start with "\texttt{CGAL\_CFG\_}" followed by +start with ``\texttt{CGAL\_CFG\_}'' followed by \begin{itemize} \item \textit{either} a description of a bug ending with - "\texttt{\_BUG}" + ``\texttt{\_BUG}'' \item \textit{or} a description of a feature starting with - "\texttt{NO\_}". + ``\texttt{NO\_}''. \end{itemize} For any of these files a corresponding flag is set in the platform-specific configuration file, iff either compilation or execution diff --git a/Developers_manual/doc_tex/Developers_manual/robustness.tex b/Developers_manual/doc_tex/Developers_manual/robustness.tex index 81a5bf3fd8f..478de42fbab 100644 --- a/Developers_manual/doc_tex/Developers_manual/robustness.tex +++ b/Developers_manual/doc_tex/Developers_manual/robustness.tex @@ -34,9 +34,9 @@ Nevertheless, the generic implementation of the kernel primitives that are parameterized by the arithmetic (more precisely, by a number type) assumes that the arithmetic plugged in does behave as real arithmetic. The generic code does not and should not (otherwise it would slow down -"exact" number types) deal with any potential imprecision. There are -a number of (third-party provided) "exact" number types available for use -with \cgal, where "exact" means +``exact'' number types) deal with any potential imprecision. There are +a number of (third-party provided) ``exact'' number types available for use +with \cgal, where ``exact'' means that all decisions (comparison operations) are correct and that the representation of the numbers allows for refinement to an arbitrary precision, if needed. @@ -48,7 +48,7 @@ If roots of polynomials are needed, then the solution is to use % Most notably, \ccc{leda_real}s provide easy-to-use adaptive -% "exact" arithmetic for the basic operations and $\sqrt[k]{\ }$ operations. +% ``exact'' arithmetic for the basic operations and $\sqrt[k]{\ }$ operations. % \lcTex{ % \begin{center} % \includegraphics[width=8cm]{Developers_manual/fig/use_real} @@ -79,7 +79,7 @@ in the constructed objects was already part of the input. An example is computing the lexicographically smaller point for two given points. \cgal\ provides generic implementations of geometric primitives. These assume -"exact computation". This may or may not work, depending on the actual +``exact computation''. This may or may not work, depending on the actual numerical input data. \cgal\ also provides\footnote{at present, for the dimension 2/3 Cartesian kernel(s) only.} % The homogeneous counterpart still needs revision.} diff --git a/Developers_manual/doc_tex/Developers_manual/specification.tex b/Developers_manual/doc_tex/Developers_manual/specification.tex index 722f9fc06c8..9675bfde82f 100644 --- a/Developers_manual/doc_tex/Developers_manual/specification.tex +++ b/Developers_manual/doc_tex/Developers_manual/specification.tex @@ -867,15 +867,15 @@ regarding the organization are provided: that the entire description was contained in the introduction. \item The section describing software design should be labeled (you guessed - it) "Software Design." + it) ``Software Design.'' \item Example programs should have entries in the table of contents and the user should be able to figure out quite easily what this example illustrated from the table of contents. This means, examples should be in sections of their own and the sections should have descriptive - names (\textit{i.e.}, "Example Constructing a Vanilla Cone" instead - of just "Example", unless this is a subsection of a section - entitled "Vanilla Cone"). + names (\textit{i.e.}, ``Example Constructing a Vanilla Cone'' instead + of just ``Example'', unless this is a subsection of a section + entitled ``Vanilla Cone''). \item The examples should appear near the things of which they are examples. So for chapters describing more than one class (such as @@ -1140,7 +1140,7 @@ The name of the concept is provided as the argument to this environment. Under the \verb|\ccDefinition| heading, the concept should be described followed by the set of required functions (one or more \ccc{operator()} methods). Under the heading \verb|\ccRefines| -you should list concepts that this one "inherits" from and +you should list concepts that this one ``inherits'' from and under \verb|\ccHasModels| list the classes that are models of this concept. \ccIndexSubitemEnd{reference manual}{function object concepts} @@ -1367,7 +1367,7 @@ any problems. \subsection*{Problem --- Unresolved figure references in HTML} \ccIndexSubsubitemBegin{manuals}{HTML}{figure references} -%Figure references in the HTML manual appear as "[ref:fig:xxx]" +%Figure references in the HTML manual appear as ``[ref:fig:xxx]'' %instead of as a link to the figure. \begin{description} diff --git a/Developers_manual/doc_tex/Developers_manual/traits_classes.tex b/Developers_manual/doc_tex/Developers_manual/traits_classes.tex index 7d03692bc22..7a89c488c27 100644 --- a/Developers_manual/doc_tex/Developers_manual/traits_classes.tex +++ b/Developers_manual/doc_tex/Developers_manual/traits_classes.tex @@ -250,7 +250,7 @@ have to observe when you design a traits class yourself. \ccc{Less_xy_2}, there is no reason to require \ccc{Greater_xy_2}, because the latter can be constructed from the former. In general, designing a good traits class requires a deep understanding of the - algorithm it is made for. Finding the "right" set of geometric + algorithm it is made for. Finding the ``right'' set of geometric primitives required by the algorithm can be a nontrivial task. However, spending effort on that task decreases the effort needed later to implement traits classes and increases the ease of use of diff --git a/Documentation/doc/Installation.txt b/Documentation/doc/Installation.txt index 7488696dfff..d39aaaff2fa 100644 --- a/Documentation/doc/Installation.txt +++ b/Documentation/doc/Installation.txt @@ -117,7 +117,7 @@ contains the following subdirectories: `auxiliary` -precompiled \sc{Gmp}, \sc{Mpfr} and \sc{Taucs} for Windows +precompiled \sc{Gmp} and \sc{Mpfr} for Windows `cmake/modules` @@ -553,9 +553,11 @@ your own demos you might need these \cgal-libraries. \section secoptional3rdpartysoftware Optional Third Party Libraries -Optional 3rd party software is only required to build examples and -demos shipped with \cgal or to build your own project using \cgal. In order -to simplify these builds, various libraries can be prepared to be +Optional 3rd party software can be used by \cgal for various reasons: +Usually certain optional libraries are required to build examples and +demos shipped with \cgal\ or to build your own project using \cgal. +Another reason is to speed up basic tasks. +In order to support these goals, all optional libraries can be prepared to be used with \cgal while configuring \cgal, just in the same way as essential libraries are configured. Whenever building an example or a demo (or your own executable), these preconfigured libraries @@ -602,8 +604,8 @@ Mainly parts in \cgal's algebraic kernel require Rs3. \sc{Ntl} provides data structures and algorithms for signed, arbitrary length integers, and for vectors, matrices, and polynomials over the -integers and over finite fields. In \cgal \sc{Ntl} is used to speed up -polynomial operations such as GCDs. It is recommended to install \sc{Ntl} with support from \sc{Gmp}. +integers and over finite fields. The optional library \sc{Ntl} is used by \cgal +to speed up operations of the Polynomial package, such as GCDs. It is recommended to install \sc{Ntl} with support from \sc{Gmp}. \sc{Ntl} can be downloaded from `http://www.shoup.net/ntl/`. Version 5.1 or higher is recommended. @@ -614,14 +616,10 @@ matrix sizes, various matrix decomposition methods and sparse linear solvers. In \cgal, \sc{Eigen} provides sparse linear solvers in the \ref PkgSurfaceReconstructionFromPointSets and the \ref PkgSurfaceParameterization packages. -Since \cgal version 4.0, \sc{Eigen} is recommended over \sc{Taucs} that is not longer maintained. In addition, \sc{Eigen} also provides singular value decomposition for the \ref PkgJet_fitting_3 and the \ref PkgRidges_3 packages. -The usage of \sc{Eigen} allows to remove \sc{lapack}, \sc{blas} and \sc{Taucs} from the list of third party libraries -required by some \cgal packages. Note that the version 3.1 (or greater) of \sc{Eigen} is required. - The \sc{Eigen} web site is `http://eigen.tuxfamily.org`. \subsection thirdpartylibQGLViewer libQGLViewer @@ -1068,8 +1066,7 @@ source file. "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 that it only make sense to either pick "Qt3" or "Qt4") and all -preconfigured 3rd party software, such as "MPFI", "RS3", -or "LAPACK"). An example is `-c Core:GMP:RS3:MPFI` +preconfigured 3rd party software, such as "MPFI", "RS3"). An example is `-c Core:GMP:RS3:MPFI`
`-b boost1:boost2:...`
Lists components ("boost1", "boost2") of \sc{Boost} to which the executable(s) should be @@ -1103,8 +1100,8 @@ link with \cgal and essential third party libraries. Beyond, `find_package` can demand for `COMPONENTS` of \cgal, that is, all \cgal libraries libCGAL_Core (``Core''), libCGAL_ImageIO (``ImageIO'') , libCGAL_Qt3 (``Qt3'') and libCGAL_Qt4 -(``Qt4'') or optional 3rd party software such as ``MPFI'', ``RS3'' or -``LAPACK''. A user is free to create the `CMakeLists.txt` +(``Qt4'') or optional 3rd party software such as ``MPFI'', ``RS3''. +A user is free to create the `CMakeLists.txt` without calling the script (manual creation). \subsection installation_custom Custom flags in the programs using CGAL @@ -1503,6 +1500,13 @@ Indicates whether to search and use \sc{Gmp}/\sc{Mpfr} or not CMake +`GMP_DIR` + +Directory of \sc{Gmp} default installation + +Environment + + `GMP_INCLUDE_DIR` Directory containing the `gmp.h` file @@ -1588,6 +1592,13 @@ Under Linux, the \sc{Gmpxx} is also searched for, and you may specify the follow Type +`GMPXX_DIR` + +Directory of \sc{gmpxx} default installation + +Environment + + `GMPXX_INCLUDE_DIR` Directory containing the `gmpxx.h` file @@ -1764,6 +1775,13 @@ Indicates whether to search and use \leda or not CMake +`LEDA_DIR` + +Directory of \sc{LEDA} default installation + +Environment + + `LEDA_INCLUDE_DIR` Directory containing the file `LEDA/system/basic.h` @@ -1849,6 +1867,13 @@ and library files must be specified by using environment variables. Type +`MPFI_DIR` + +Directory of \sc{MPFI} default installation + +Environment + + `MPFI_INCLUDE_DIR` Directory containing the `mpfi.h` file @@ -1910,6 +1935,13 @@ related to the latter library may also need to be defined. Type +`RS_DIR` + +Directory of \sc{RS} default installation + +Environment + + `RS_INCLUDE_DIR` Directory containing the `rs_exports.h` file @@ -1960,6 +1992,13 @@ Similar variables exist for Rs3. Type +`RS3_DIR` + +Directory of \sc{RS3} default installation + +Environment + + `RS3_INCLUDE_DIR` Directory containing the `rs_exports.h` file @@ -2019,6 +2058,13 @@ headers and library files must be specified using environment variables. Type +`NTL_DIR` + +Directory of \sc{NTL} default installation + +Environment + + `NTL_INCLUDE_DIR` Directory containing the `NTL/ZZX.h` file @@ -2072,6 +2118,13 @@ Only the directory containing the header files of \sc{Eigen} 3.1 (or grea Type +`EIGEN3_DIR` + +Directory of \sc{EIGEN} default installation + +Environment + + `EIGEN3_INCLUDE_DIR` Directory containing the file `signature_of_eigen3_matrix_library` @@ -2155,6 +2208,13 @@ environment variable is sufficient. Type +`ESBTL_DIR` + +Directory of \sc{ESBTL} default installation + +Environment + + `ESBTL_INC_DIR` Directory containing the `ESBTL/default.h` file diff --git a/Documentation/doc/Preliminaries.txt b/Documentation/doc/Preliminaries.txt index 2b6824b23ef..a8447744239 100644 --- a/Documentation/doc/Preliminaries.txt +++ b/Documentation/doc/Preliminaries.txt @@ -139,13 +139,14 @@ to force its definition on the command line, and it is possible to prevent its d definition by setting `CGAL_HAS_NO_THREADS` from the command line. -\section Preliminaries_cc0x C++0x Support +\section Preliminaries_cc0x \cpp11 Support \cgal is based on the \CC standard released in 1998 (and later refined in 2003). -A new major version of this standard is being prepared, and is refered to as C++0x. +A new major version of this standard has been released, and is refered to as \cpp11. Some compilers and standard library implementations already provide some of the functionality of this new standard, as a preview. For example, \gcc provides -a command-line switch `-std=c++0x` which enables some of those features. +a command-line switch (`-std=c++0x` or or `-std=c++11` depending on the compiler version) +which enables some of those features. \cgal attempts to support this mode progressively, and already makes use of some of these features if they are available, although no extensive support has diff --git a/Envelope_3/doc_tex/Envelope_3_ref/EnvelopeTraits_3.tex b/Envelope_3/doc_tex/Envelope_3_ref/EnvelopeTraits_3.tex index 7f176368f37..b471b8218d4 100644 --- a/Envelope_3/doc_tex/Envelope_3_ref/EnvelopeTraits_3.tex +++ b/Envelope_3/doc_tex/Envelope_3_ref/EnvelopeTraits_3.tex @@ -134,7 +134,7 @@ Note however, that these operations usually involve the projection of is in the $x$-range of $c$, and lies to its left when the curve is traversed from its $xy$-lexicographically smaller endpoint to its larger endpoint). We have the precondition that both surfaces are - defined "above" $c$, and their relative $z$-order is the same for + defined ``above'' $c$, and their relative $z$-order is the same for some small enough neighborhood of points above $c$. \end{itemize}} @@ -150,7 +150,7 @@ Note however, that these operations usually involve the projection of is in the $x$-range of $c$, and lies to its right when the curve is traversed from its $xy$-lexicographically smaller endpoint to its larger endpoint). We have the precondition that both surfaces are - defined "below" $c$, and their relative $z$-order is the same for + defined ``below'' $c$, and their relative $z$-order is the same for some small enough neighborhood of points below $c$. \end{itemize}} diff --git a/Generator/doc/Generator/CGAL/Combination_enumerator.h b/Generator/doc/Generator/CGAL/Combination_enumerator.h new file mode 100644 index 00000000000..b90fad232f9 --- /dev/null +++ b/Generator/doc/Generator/CGAL/Combination_enumerator.h @@ -0,0 +1,108 @@ +namespace CGAL { + +/// \addtogroup PkgGenerators +/// @{ + +/*! + The class `Combination_enumerator` is used to enumerate all fixed-size combinations + (subsets) of a source range of elements. For example, it can + enumerate all the combinations of 2 elements from the source range `[3,7)` + (`7` excluded) which gives the enumeration `{3,4}, {3,5}, {3,6}, {4,5}, + {4,6}, {5,6}`. The source range consists of elements of type + `CombinationElement` and is specified by its first element and the element + just beyond its last one. + + \tparam CombinationElement should be a model of the concept `CombinationElement`. + + Each combination is uniquely represented as an increasing sequence of elements. + Thus, the combinations can be lexicographically ordered. They are enumerated in + that order, so that we can talk about the first or last combination. +*/ +template +class Combination_enumerator{ +public: +/// \name Creation +/// @{ + +/*! + This constructor initializes the object to +enumerate the combinations of `k` elements from the source range +`[first, beyond)`. The current combination is set to the first combination +of the enumeration. +\pre `1 <= k <= beyond - first` +*/ +Combination_enumerator(int k, const CombinationElement & first, const CombinationElement & beyond); + +/*! +The copy constructor. +*/ +Combination_enumerator(const Combination_enumerator & combi); + +/// @} + +/// \name Access to the current combination +/// @{ + +/*! +Returns the `i`-th element of the current combination. +\pre `0 <= i < number_of_elements()` +*/ +const CombinationElement & operator[](int i); + +/// @} + + +/// \name Access to the enumeration +///@{ + +/*! +Returns the size of the enumerated combinations (the parameter `k` from the class' constructor). +*/ +int number_of_elements(); + +/*! +Returns the smallest element of the source range. (the parameter `first` of the +constructor of the class). +*/ +const CombinationElement & min_element(); + +/*! +Returns the successor to the largest element of the source range (the parameter `beyond` of +the constructor of the class). +*/ +const CombinationElement & beyond_element(); + + +/*! +Returns `true` if and only if all combinations have been enumerated. +*/ +bool finished(); + + +/// @} + + +/// /name Operations +/// @{ + +/*! +Resets the enumerator. The current combination is set to the first one of the enumeration. +*/ +void reset(); + +/*! +Moves *this to the next combination. +*/ +void operator++(); + + +/*! +Post-incrementation. Same as the pre-incrementation above, but returns the original value of `*this`. +*/ +Combination_enumerator operator++(int); +/// @} + +}; /*end of class Combination_enumerator*/ +} /* end namespace CGAL */ + +/// @} diff --git a/Generator/doc/Generator/Concepts/CombinationElement.h b/Generator/doc/Generator/Concepts/CombinationElement.h new file mode 100644 index 00000000000..8e7e104ff3d --- /dev/null +++ b/Generator/doc/Generator/Concepts/CombinationElement.h @@ -0,0 +1,83 @@ +/*! +\cgalConcept + +A CombinationElement can be used as template parameter for the class +`Combination_enumerator`. + +\cgalHasModel Any integer type (`char`, `short`, `int`, `long`, etc.) +\cgalHasModel Pointers +\cgalHasModel Random access iterators + +\sa `Combination_enumerator` + + +*/ + +class CombinationElement { +public: + +/// \name Creation +/// @{ + +/*! +Copy constructor +*/ +CombinationElement(const CombinationElement & e2); + +/// @} + + +/// \name Types +/// @{ + +/*! +the type of point being generated. +*/ +typedef Hidden_type value_type; + +/// @} + +/// \name Operations +/// @{ + +/*! +Incrementation +*/ +void operator++(); + +/*! +Decrementation +*/ +void operator--(); + +/*! +Total order comparison +*/ +bool operator<(const CombinationElement & e2); + +/*! +Equality test +*/ +bool operator==(const CombinationElement & e2); + + +/*! +Equivalent to calling `++(*this)` `i` times if i is positive. +Equivalent to calling `--(*this)` `-i` times if i is negative. +*/ +CombinationElement operator+(int i); + +/*! +Equivalent to calling ++(*this) `i` times if i is positive. +Equivalent to calling --(*this) `-i` times if i is negative. +*/ +int operator-(const CombinationElement & e2); + +/// @} + +}; /* end CombinationElement */ + + + + + diff --git a/Generator/doc/Generator/Generator.txt b/Generator/doc/Generator/Generator.txt index fc50e5e5a7c..be9b98d94b9 100644 --- a/Generator/doc/Generator/Generator.txt +++ b/Generator/doc/Generator/Generator.txt @@ -80,6 +80,11 @@ The function `random_selection()` chooses `n` items at random from a random access iterator range which is useful to produce degenerate input data sets with multiple entries of identical items. +The class `Combination_enumerator` is used to enumerate +all fixed-size combinations (subsets) of a range of elements. It is useful +in the context of high-dimensional triangulations, e.g., for enumerating the +faces of a simplex. + \section GeneratorExample_1 Example Generating Degenerate Point Sets We want to generate a test set of 1000 points, where 60% are chosen @@ -200,6 +205,32 @@ Generating 20 grid points in 4D \image html hypergrid.gif +\section GeneratorExGenCombi Example Generating Combinations + +\subsection GeneratorFromRangeInt From a Range of Integers + +The following example enumerates and outputs all subsets of 3 elements from the +range \f$ [10, 15]\f$. Accordingly, it outputs \f$ \frac{6!}{3! 3!}=20\f$ +triples. + + +\cgalExample{Generator/combination_enumerator.cpp} + +The output of this example is: +\verbatim +Taking 3 distinct integers in the range [10, 15]: {10 11 12} {10 11 13} {10 11 14} +{10 11 15} {10 12 13} {10 12 14} {10 12 15} {10 13 14} {10 13 15} {10 14 15} +{11 12 13} {11 12 14} {11 12 15} {11 13 14} {11 13 15} {11 14 15} {12 13 14} +{12 13 15} {12 14 15} {13 14 15} +Enumerated 20 combinations. +\endverbatim + +\subsection GeneratorFromArrayStr From an Array of Strings +The following example generates all pairs of names from a set of names stored +in an array of strings. + +\cgalExample{Generator/name_pairs.cpp} + \section GeneratorDesign Design and Implementation History Lutz Kettner coded generators in 2D and 3D diff --git a/Generator/doc_tex/Generator/generators.tex b/Generator/doc_tex/Generator/generators.tex index 9c3d2aeb0e1..377fec8ac82 100644 --- a/Generator/doc_tex/Generator/generators.tex +++ b/Generator/doc_tex/Generator/generators.tex @@ -280,7 +280,7 @@ generated points have the same last coordinate $-5$. \ccIncludeExampleCode{Generator/grid_d.cpp} The output of previous example corresponds to the points of this -figure depicted in red or pink (pink points are "inside" the cube). +figure depicted in red or pink (pink points are ``inside'' the cube). The output is: \begin{verbatim} Generating 20 grid points in 4D diff --git a/Generator/doc_tex/Generator_ref/Points_on_segment_2_functor.tex b/Generator/doc_tex/Generator_ref/Points_on_segment_2_functor.tex index 23ac415c07b..b748b855fa2 100644 --- a/Generator/doc_tex/Generator_ref/Points_on_segment_2_functor.tex +++ b/Generator/doc_tex/Generator_ref/Points_on_segment_2_functor.tex @@ -36,10 +36,10 @@ spaced segment defined by $p$ and $q$. Values of the index parameter $i$ larger than 0 indicate starting points for the sequence further from $p$. Point $p$ has index value 0 and $q$ has index value $n-1$. - \ccRequire{ The expressions \ccc{to_double(p.x())} and + \ccRequire The expressions \ccc{to_double(p.x())} and \ccc{to_double(p.y())} must result in the respective \ccc{double} representation of the coordinates of $p$, and similarly - for $q$.}} + for $q$.} \ccOperations diff --git a/Generator/doc_tex/Generator_ref/Random_points_on_segment_2.tex b/Generator/doc_tex/Generator_ref/Random_points_on_segment_2.tex index 4833b7811d0..32a14fc8e9f 100644 --- a/Generator/doc_tex/Generator_ref/Random_points_on_segment_2.tex +++ b/Generator/doc_tex/Generator_ref/Random_points_on_segment_2.tex @@ -35,10 +35,10 @@ InputIterator \\ distributed on the segment from $p$ to $q$ (excluding $q$), i.e.~$\ccc{*g} == (1-\lambda)\, p + \lambda q$ where $0 \le \lambda < 1$~. A single random number is needed from \ccc{rnd} for each point. - \ccRequire{ The expressions \ccc{to_double(p.x())} and + \ccRequire The expressions \ccc{to_double(p.x())} and \ccc{to_double(p.y())} must result in the respective \ccc{double} representation of the coordinates of $p$, - and similarly for $q$.}} + and similarly for $q$.} \ccSeeAlso diff --git a/Generator/doc_tex/Generator_ref/random_convex_set.tex b/Generator/doc_tex/Generator_ref/random_convex_set.tex index 4b38ecfa3e2..11ed8224042 100644 --- a/Generator/doc_tex/Generator_ref/random_convex_set.tex +++ b/Generator/doc_tex/Generator_ref/random_convex_set.tex @@ -33,7 +33,7 @@ computes a random convex \ccc{n}-gon by writing its vertices (oriented counterclockwise) to \ccc{o}. The resulting polygon is scaled such that it fits into the bounding box as specified by \ccc{pg}. Therefore we cannot easily describe the resulting distribution. -\ccPrecond{$n \ge 3$.} +\ccPrecond $n \ge 3$. } \ccHeading{Requirements} diff --git a/Generator/doc_tex/Generator_ref/random_polygon.tex b/Generator/doc_tex/Generator_ref/random_polygon.tex index b72f21ecbab..90ee0c56110 100644 --- a/Generator/doc_tex/Generator_ref/random_polygon.tex +++ b/Generator/doc_tex/Generator_ref/random_polygon.tex @@ -49,7 +49,7 @@ The default traits class \ccc{Default_traits} is the kernel in which \ccImplementation 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 +a polygon by using so-called ``2-opt'' moves. Such a move eliminates an intersection between two edges by reversing the order of the vertices between the edges. No more than $O(n^3)$ such moves are required to simplify a polygon defined on $n$ points \cite{ls-utstp-82}. diff --git a/Generator/doc_tex/Generator_ref/random_selection.tex b/Generator/doc_tex/Generator_ref/random_selection.tex index 19a452af4d9..042c3e9e21a 100644 --- a/Generator/doc_tex/Generator_ref/random_selection.tex +++ b/Generator/doc_tex/Generator_ref/random_selection.tex @@ -19,8 +19,8 @@ sets with multiple entries of identical items. \ccc{result}. A single random number is needed from \ccc{rnd} for each item. Returns the value of \ccc{result} after inserting the $n$ items. - \ccPrecond{\ccc{Random} is a random number generator type as provided - by the STL or by \ccc{Random}.} + \ccPrecond \ccc{Random} is a random number generator type as provided + by the STL or by \ccc{Random}. } \ccSeeAlso diff --git a/Geomview/doc_tex/Geomview_ref/Geomview_stream.tex b/Geomview/doc_tex/Geomview_ref/Geomview_stream.tex index fe0cbb86841..5834b6aeca4 100644 --- a/Geomview/doc_tex/Geomview_ref/Geomview_stream.tex +++ b/Geomview/doc_tex/Geomview_ref/Geomview_stream.tex @@ -247,7 +247,7 @@ from Geomview and to read data sent back by Geomview. \ccMethod{Geomview_stream& operator>>(char* s);} {Extracts a string \ccc{s} from the stream. -\ccPrecond{You have to allocate enough memory.}} +\ccPrecond You have to allocate enough memory.} \ccMethod{Geomview_stream& operator<<(int i);} {Inserts \ccc{i} into the stream. Puts whitespace around if the diff --git a/GraphicsView/doc/GraphicsView/GraphicsView.txt b/GraphicsView/doc/GraphicsView/GraphicsView.txt index eb39863c8b2..f458cb45553 100644 --- a/GraphicsView/doc/GraphicsView/GraphicsView.txt +++ b/GraphicsView/doc/GraphicsView/GraphicsView.txt @@ -8,17 +8,17 @@ namespace CGAL { \cgalAutoToc \authors Andreas Fabri and Laurent Rineau -Qt is a Gui toolkit for +Qt is a Gui toolkit for cross-platform application development. \section GraphicsViewIntroduction Introduction This chapter describes classes that help to visualize two dimensional \cgal objects -with the Qt Graphics View Framework. +with the Qt Graphics View Framework. -This framework uses the model view paradigm. `QGraphicsItem`s are stored in a -`QGraphicsScene` -and are displayed in a `QGraphicsView`. The items +This framework uses the model view paradigm. `QGraphicsItem`s are stored in a +`QGraphicsScene` +and are displayed in a `QGraphicsView`. The items have a paint method which is called when an item is in the visible area of a view. The framework is also responsible for dispatching events from the view via the scene to the items. The framework is extensible in the sense @@ -50,14 +50,14 @@ classes that have to override member functions adhering to this naming scheme. \section GraphicsViewOverall Overall Design In \cgalFigureRef{graphicsviewuml} you see four classes depicted in grey, -that come from the Qt Graphics View Framework. The `QGraphicsScene` -contains `QGraphicsItem`s, which get displayed in any number -of `QGraphicsView`s. The views are widgets, that is they take screen space +that come from the Qt Graphics View Framework. The `QGraphicsScene` +contains `QGraphicsItem`s, which get displayed in any number +of `QGraphicsView`s. The views are widgets, that is they take screen space in an application. -The fourth class is the `QObject`. It plays an important role in Qt for -event handling and memory management. First, it allows to add signals and -slots, and to connect them. Second, it allows to install event filters. +The fourth class is the `QObject`. It plays an important role in Qt for +event handling and memory management. First, it allows to add signals and +slots, and to connect them. Second, it allows to install event filters. \cgalFigureBegin{graphicsviewuml,uml-design.png} UML Class Diagram with the Qt classes (blue), CGAL classes for using the framework (yellow), CGAL data structures (red), and application classes (green). diff --git a/GraphicsView/doc/GraphicsView/PackageDescription.txt b/GraphicsView/doc/GraphicsView/PackageDescription.txt index 2a7268f586b..7103ef3a555 100644 --- a/GraphicsView/doc/GraphicsView/PackageDescription.txt +++ b/GraphicsView/doc/GraphicsView/PackageDescription.txt @@ -8,7 +8,7 @@ \cgalPkgPicture{detail.png} \cgalPkgSummaryBegin \cgalPkgAuthors{Andreas Fabri and Laurent Rineau} -\cgalPkgDesc{This package provides classes for displaying \cgal objects and data structures in the Qt 4 Graphics View Framework.} +\cgalPkgDesc{This package provides classes for displaying \cgal objects and data structures in the Qt 4 Graphics View Framework.} \cgalPkgManuals{Chapter_CGAL_and_the_Qt_Graphics_View_Framework,PkgGraphicsView} \cgalPkgSummaryEnd \cgalPkgShortInfoBegin @@ -21,7 +21,7 @@ This package provides some classes which allow to use \cgal classes in Qt applications which make use of the Qt Graphics +HREF="http://doc.qt.digia.com/latest/graphicsview.html">Qt Graphics View Framework. */ diff --git a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex index 6604971d66b..25f5e75b63b 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS.tex @@ -266,18 +266,18 @@ arises. \ccTagDefaults \ccConstructor{HalfedgeDS( const HalfedgeDS& hds2);} - {copy constructor. \ccPrecond{\ccc{hds2} contains no dangling handles.}} + {copy constructor. \ccPrecond \ccc{hds2} contains no dangling handles.} \ccMethod{HalfedgeDS& operator=( const HalfedgeDS& hds2);} - {assignment operator. \ccPrecond{\ccc{hds2} contains no dangling handles.}} + {assignment operator. \ccPrecond \ccc{hds2} contains no dangling handles.} \ccMethod{void reserve( size_type v, size_type h, size_type f);} {reserves storage for $v$ vertices, $h$ halfedges, and $f$ faces. If all capacities are already greater or equal than the requested sizes nothing happens. Otherwise, \ccVar\ will be resized and all handles, - iterators and circulators invalidate. \ccPrecond{If resizing is - necessary \ccVar\ contains no dangling handles.}} + iterators and circulators invalidate. \ccPrecond If resizing is + necessary \ccVar\ contains no dangling handles.} % +-----------------------------------+ @@ -336,7 +336,7 @@ faces respectively. \ccMethod{Halfedge_handle edges_push_back( const Halfedge& h);} {appends a copy of $h$ and a copy of $h->opposite()$ to \ccc{hds} and makes them opposite to each other. Returns a handle of the copy of $h$. - \ccPrecond{\ccc{h->opposite()} denotes a halfedge.}} + \ccPrecond \ccc{h->opposite()} denotes a halfedge.} \ccMethod{Face_handle faces_push_back( const Face& f);} {appends a copy of $f$ to \ccc{hds}. Returns a handle of the new face.} @@ -445,17 +445,17 @@ a halfedge. There is no automatic update required. \ccMethod{Size size_of_border_halfedges() const;} {number of border halfedges. An edge with no incident face counts as two border halfedges. - \ccPrecond{\ccc{normalize_border()} has been called and no + \ccPrecond \ccc{normalize_border()} has been called and no halfedge insertion or removal and no change in border - status of the halfedges have occurred since then.}} + status of the halfedges have occurred since then.} \ccMethod{Size size_of_border_edges() const;} {number of border edges. If \ccc{size_of_border_edges()} is equal to \ccc{size_of_border_halfedges()} all border edges are incident to a face on one side and to an open region on the other side. - \ccPrecond{\ccc{normalize_border()} has been called and no + \ccPrecond \ccc{normalize_border()} has been called and no halfedge insertion or removal and no change in border - status of the halfedges have occurred since then.}} + status of the halfedges have occurred since then.} \ccMethod{Halfedge_iterator border_halfedges_begin();} {halfedge iterator starting with the border edges. The range @@ -463,9 +463,9 @@ a halfedge. There is no automatic update required. all non-border edges. The range [\ccStyle{border_halfedges_begin(), halfedges_end()}) denotes all border edges. - \ccPrecond{\ccc{normalize_border()} has been called and no + \ccPrecond \ccc{normalize_border()} has been called and no halfedge insertion or removal and no change in border - status of the halfedges have occurred since then.}} + status of the halfedges have occurred since then.} \vspace*{-4mm} \end{ccAdvanced} diff --git a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_decorator.tex b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_decorator.tex index eb3b1938132..02866f93ad5 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_decorator.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_decorator.tex @@ -130,14 +130,14 @@ incidence relations except if mentioned otherwise. halfedge data structure if they were already border edges. If this creates isolated vertices they get removed as well. See \ccc{make_hole(h)} for a more specialized variant. - \ccPrecond{\ccc{h->is_border() == false}.} + \ccPrecond \ccc{h->is_border() == false}. \ccCommentHeading{Requirement} If faces are supported, \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} \ccMethod{void erase_connected_component( Halfedge_handle h);} {removes the vertices, halfedges, and faces that belong to the - connected component of $h$. \ccPrecond{For all halfedges $g$ in the - connected component \ccc{g.next() != Halfedge_handle()}.} + connected component of $h$. \ccPrecond For all halfedges $g$ in the + connected component \ccc{g.next() != Halfedge_handle()}. \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -154,19 +154,19 @@ incidence relations except if mentioned otherwise. \ccMethod{void make_hole( Halfedge_handle h);} {removes the face incident to \ccc{h} from \ccc{hds} and creates a hole. - \ccPrecond{\ccc{h != Halfedge_handle()} and \ccc{!(h->is_border())}.} + \ccPrecond \ccc{h != Halfedge_handle()} and \ccc{!(h->is_border())}. \ccCommentHeading{Requirement} If faces are supported, \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} \ccMethod{Halfedge_handle fill_hole( Halfedge_handle h);} {fills the hole incident to \ccc{h} with a new face from \ccc{hds}. Returns \ccc{h}. - \ccPrecond{\ccc{h != Halfedge_handle()} and \ccc{h->is_border()}.}} + \ccPrecond \ccc{h != Halfedge_handle()} and \ccc{h->is_border()}.} \ccMethod{Halfedge_handle fill_hole( Halfedge_handle h, const Face& f);} {fills the hole incident to \ccc{h} with a copy of face $f$. Returns \ccc{h}. - \ccPrecond{\ccc{h != Halfedge_handle()} and \ccc{h->is_border()}.}} + \ccPrecond \ccc{h != Halfedge_handle()} and \ccc{h->is_border()}.} \ccMethod{Halfedge_handle add_face_to_border( Halfedge_handle h, Halfedge_handle g);} @@ -175,9 +175,9 @@ incidence relations except if mentioned otherwise. denoted by $g$ with the vertex denoted by $h$ and fills this separated part of the hole with a new face, such that the new face is incident to $g$. Returns the new halfedge that is incident to the new face. - \ccPrecond{\ccc{h != Halfedge_handle()}, \ccc{g != Halfedge_handle()}, + \ccPrecond \ccc{h != Halfedge_handle()}, \ccc{g != Halfedge_handle()}, \ccc{h->is_border()}, \ccc{g->is_border()} and $g$ can be reached - along the hole starting with $h$.}} + along the hole starting with $h$.} \ccMethod{Halfedge_handle add_face_to_border( Halfedge_handle h, Halfedge_handle g, @@ -187,9 +187,9 @@ incidence relations except if mentioned otherwise. $g$ with the tip of $h$ and fills this separated part of the hole with a copy of face $f$, such that the new face is incident to $g$. Returns the new halfedge that is incident to the new face. - \ccPrecond{\ccc{h != Halfedge_handle()}, \ccc{g != Halfedge_handle()}, + \ccPrecond \ccc{h != Halfedge_handle()}, \ccc{g != Halfedge_handle()}, \ccc{h->is_border()}, \ccc{g->is_border()} and $g$ can be reached - along the hole starting with $h$.}} + along the hole starting with $h$.} % ----------------------------------------- \ccHeading{Modifying Functions (Euler Operators)} @@ -293,7 +293,7 @@ the halfedge \ccc{h->next} with a new face in-between. are copies of this face. Returns the halfedge \ccc{h->next()} after the operation, i.e., a halfedge pointing to the new vertex. The time is proportional to the size of the face. - \ccPrecond{\ccc{h} is not a border halfedge.}} + \ccPrecond \ccc{h} is not a border halfedge.} \ccMethod{Halfedge_handle erase_center_vertex( Halfedge_handle g);} {reverses \ccc{create_center_vertex}. Erases the @@ -304,12 +304,12 @@ the halfedge \ccc{h->next} with a new face in-between. Thus, the invariant \ccc{h == erase_center_vertex( create_center_vertex(h))} holds if \ccc{h} is not a border halfedge. The time is proportional to the sum of the size of all incident faces. - \ccPrecond{None of the incident faces of \ccc{g->vertex()} is + \ccPrecond None of the incident faces of \ccc{g->vertex()} is a hole. There are at least two distinct faces incident to the faces that are incident to \ccc{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.)} + happen with any vertex of a tetrahedron.) \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -339,10 +339,10 @@ the halfedge \ccc{h->next} with a new face in-between. triangles are created. $h,i,j$ will be incident to the first new triangle. The return value will be the halfedge incident to the second new triangle which is the copy of \ccc{h-opposite()}. - \ccPrecond{$h,i,j$ denote distinct, consecutive vertices of the + \ccPrecond $h,i,j$ denote distinct, consecutive vertices of the halfedge data structure and form a cycle: i.e., \ccc{h->vertex() == i->opposite()->vertex()}, \ldots, \ccc{j->vertex() == - h->opposite()->vertex()}.}} + h->opposite()->vertex()}.} \ccMethod{Halfedge_handle join_loop( Halfedge_handle h, Halfedge_handle g);} {glues the boundary of the two faces denoted by $h$ and $g$ together @@ -350,8 +350,8 @@ the halfedge \ccc{h->next} with a new face in-between. by $g$ gets removed. Both faces may be holes. The invariant \ccc{join_loop( h, split_loop( h, i, j))} returns $h$ and keeps the data structure unchanged. - \ccPrecond{The faces denoted by $h$ and $g$ are different and have - equal degree (i.e., number of edges).} + \ccPrecond The faces denoted by $h$ and $g$ are different and have + equal degree (i.e., number of edges). \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -374,7 +374,7 @@ These operations are the same as for \ccHeading{Miscellaneous} \ccMethod{void inside_out();} - {reverses face orientations. \ccPrecond{\ccc{is_valid()} of level three.}} + {reverses face orientations. \ccPrecond \ccc{is_valid()} of level three.} % ----------------------------------------- diff --git a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_items_decorator.tex b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_items_decorator.tex index 386b2f20628..5d80c21c373 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_items_decorator.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_items_decorator.tex @@ -163,18 +163,18 @@ Corresponding member functions for \ccc{const_handle}'s are provided as well. \ccMethod{void set_vertex_in_vertex_loop( Halfedge_handle h, Vertex_handle v) const;} {loops around the vertex incident to $h$ and sets all vertex - pointers to $v$. \ccPrecond{\ccc{h != Halfedge_handle()}.}} + pointers to $v$. \ccPrecond \ccc{h != Halfedge_handle()}.} \vspace*{-1mm} \ccMethod{void set_face_in_face_loop( Halfedge_handle h, Face_handle f) const;} {loops around the face incident to $h$ and sets all face - pointers to $f$. \ccPrecond{\ccc{h != Halfedge_handle()}.}} + pointers to $f$. \ccPrecond \ccc{h != Halfedge_handle()}.} \ccMethod{Halfedge_handle flip_edge( Halfedge_handle h) const;} {performs an edge flip. It returns $h$ after rotating the edge $h$ one vertex in the direction of the face orientation. - \ccPrecond{\ccc{h != Halfedge_handle()} and both incident faces - of $h$ are triangles.}} + \ccPrecond \ccc{h != Halfedge_handle()} and both incident faces + of $h$ are triangles.} % ----------------------------------------- \vspace*{-2mm} diff --git a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_list.tex b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_list.tex index 3ff486a7b2b..37c236e21a6 100644 --- a/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_list.tex +++ b/HalfedgeDS/doc_tex/HalfedgeDS_ref/HalfedgeDS_list.tex @@ -50,27 +50,27 @@ additionally: {inserts elements in the range [\ccc{first, last}) before position \ccc{target} and removes the elements from \ccc{source}. It takes constant time if \ccc{&source == &}\ccVar; otherwise, it takes linear - time in the size of the range. \ccPrecond{[\ccc{first, last}) is a + time in the size of the range. \ccPrecond [\ccc{first, last}) is a valid range in \ccc{source}. \ccc{target} is not in the range - [\ccc{first, last}).}} + [\ccc{first, last}).} \ccMethod{void halfedges_splice( Halfedge_iterator target, Self &source, Halfedge_iterator first, Halfedge_iterator last);} {inserts elements in the range [\ccc{first, last}) before position \ccc{target} and removes the elements from \ccc{source}. It takes constant time if \ccc{&source == &}\ccVar; otherwise, it takes linear - time in the size of the range. \ccPrecond{[\ccc{first, last}) is a + time in the size of the range. \ccPrecond [\ccc{first, last}) is a valid range in \ccc{source}. \ccc{target} is not in the range - [\ccc{first, last}).}} + [\ccc{first, last}).} \ccMethod{void faces_splice( Face_iterator target, Self &source, Face_iterator first, Face_iterator last);} {inserts elements in the range [\ccc{first, last}) before position \ccc{target} and removes the elements from \ccc{source}. It takes constant time if \ccc{&source == &}\ccVar; otherwise, it takes linear - time in the size of the range. \ccPrecond{[\ccc{first, last}) is a + time in the size of the range. \ccPrecond [\ccc{first, last}) is a valid range in \ccc{source}. \ccc{target} is not in the range - [\ccc{first, last}).}} + [\ccc{first, last}).} diff --git a/Installation/doc_tex/Installation/installation.tex b/Installation/doc_tex/Installation/installation.tex index 09f7695cc0c..456c96cae04 100644 --- a/Installation/doc_tex/Installation/installation.tex +++ b/Installation/doc_tex/Installation/installation.tex @@ -215,7 +215,7 @@ In order to build the \cgal\ libraries, you need a \CC\ compiler. \section{Configuring \cgal\ with CMake\label{sec:configwithcmake}} In order to configure, build, and install the \cgal\ libraries, examples and -demos, you need \cmake, a cross-platform "makefile generator". +demos, you need \cmake, a cross-platform ``makefile generator''. If \cmake\ is not installed already you can obtain it from \cmakepage. \cmake\ version~2.6.2 or higher is required. On Windows, \cmake{} version~2.8.6 or higher is required, for a proper support of DLL's @@ -820,7 +820,7 @@ make install # install } If you use a generator that produces IDE files (for Visual Studio for instance) there will be an optional -\texttt{INSTALL} project, which you will be able to \emph{"build"} to execute the installation step. +\texttt{INSTALL} project, which you will be able to \emph{``build''} to execute the installation step. \begin{ccAdvanced} diff --git a/Interpolation/doc_tex/Interpolation/coordinates.tex b/Interpolation/doc_tex/Interpolation/coordinates.tex index 4c1a53df27b..0c3fb67f5e8 100644 --- a/Interpolation/doc_tex/Interpolation/coordinates.tex +++ b/Interpolation/doc_tex/Interpolation/coordinates.tex @@ -6,7 +6,7 @@ a set of data points $\mathcal{P}$, the natural neighbor coordinates associated to $\mathcal{P}$ are defined from the Voronoi diagram of $\mathcal{P}$. When simulating the insertion of a query point $\mathbf{x}$ into the Voronoi diagram of $\mathcal{P}$, the potential -Voronoi cell of $\mathbf{x}$ "steals" some parts from the existing +Voronoi cell of $\mathbf{x}$ ``steals'' some parts from the existing cells. \begin{figure}[ht!] diff --git a/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list.tex b/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list.tex index fda8f46c000..8521fa06530 100644 --- a/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list.tex +++ b/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list.tex @@ -71,8 +71,8 @@ allows to find all members of a set of intervals that overlap a point. InputIterator first, InputIterator last);} {Constructor that inserts the iterator range \ccc{[first, last)} in the interval skip list. -\ccPrecond{The \ccc{value_type} of \ccc{first} and -\ccc{last} is \ccc{Interval}.}} +\ccPrecond The \ccc{value_type} of \ccc{first} and +\ccc{last} is \ccc{Interval}.} \ccOperations @@ -82,8 +82,8 @@ allows to find all members of a set of intervals that overlap a point. InputIterator last);} {Inserts the iterator range \ccc{[first, last)} in the interval skip list, and returns the number of inserted intervals. -\ccPrecond{The \ccc{value_type} of \ccc{first} and -\ccc{last} is \ccc{Interval}.}} +\ccPrecond The \ccc{value_type} of \ccc{first} and +\ccc{last} is \ccc{Interval}.} @@ -102,7 +102,7 @@ the number of inserted intervals. OutputIterator out);} {Writes the intervals \ccc{i} with \ccc{i.inf()} $\leq$ \ccc{v} $\leq$ \ccc{i.sup} to the output iterator \ccc{out}. -\ccPrecond{The \ccc{value_type} of \ccc{out} is \ccc{Interval}.}} +\ccPrecond The \ccc{value_type} of \ccc{out} is \ccc{Interval}.} \ccMethod{void @@ -124,7 +124,7 @@ output iterator \ccc{out}. \ccFunction{ostream& operator<<(ostream& os, const Interval_skip_list& isl);} {Inserts the interval skip list \ccc{isl} into the stream \ccc{os}. -\ccPrecond{The output operator must be defined for \ccc{Interval}.}} +\ccPrecond The output operator must be defined for \ccc{Interval}.} \ccImplementation diff --git a/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list_interval.tex b/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list_interval.tex index 6d6905fb24d..120963ab797 100644 --- a/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list_interval.tex +++ b/Interval_skip_list/doc_tex/Interval_skip_list_ref/Interval_skip_list_interval.tex @@ -85,7 +85,7 @@ The output operator is defined for \ccc{std::ostream}. \ccFunction{ostream& operator<<(ostream& os, const Interval_skip_list_interval& i);} {Inserts the interval \ccc{i} into the stream \ccc{os}.\\ -\ccPrecond{The output operator for \ccc{Value} is defined.}} +\ccPrecond The output operator for \ccc{Value} is defined.} \ccIsModel diff --git a/Interval_skip_list/doc_tex/Interval_skip_list_ref/Level_interval.tex b/Interval_skip_list/doc_tex/Interval_skip_list_ref/Level_interval.tex index 7e6100a1c8e..df48edc172a 100644 --- a/Interval_skip_list/doc_tex/Interval_skip_list_ref/Level_interval.tex +++ b/Interval_skip_list/doc_tex/Interval_skip_list_ref/Level_interval.tex @@ -88,7 +88,7 @@ stored in the vertices of the face \ccc{fh} points to.} \ccFunction{ostream& operator<<(ostream& os, const Level_interval& i);} {Inserts the interval \ccc{i} into the stream \ccc{os}. -\ccPrecond{The output operator for \ccc{*Face_handle} is defined.}} +\ccPrecond The output operator for \ccc{*Face_handle} is defined.} \ccIsModel \ccc{Interval} diff --git a/Jet_fitting_3/doc/Jet_fitting_3/CGAL/Monge_via_jet_fitting.h b/Jet_fitting_3/doc/Jet_fitting_3/CGAL/Monge_via_jet_fitting.h index 6352e17ea7f..221f7854f26 100644 --- a/Jet_fitting_3/doc/Jet_fitting_3/CGAL/Monge_via_jet_fitting.h +++ b/Jet_fitting_3/doc/Jet_fitting_3/CGAL/Monge_via_jet_fitting.h @@ -12,9 +12,8 @@ The results are stored in an instance of the nested class `Monge_form`, the particular information returned depending on the degrees specified for the polynomial fitting and for the Monge form. -The default for the template `LocalKernel` is -`Cartesian` and the default for `SvdTraits` is `Eigen_svd` if `CGAL_EIGEN3_ENABLED` -is defined. +If `CGAL_EIGEN3_ENABLED` is defined, `LocalKernel` and `SvdTraits` +template parameters have defaults, `Cartesian` and `Eigen_svd` respectively. \tparam DataKernel provides the geometric classes and tools corresponding to the input points, and also members of the diff --git a/Jet_fitting_3/doc_tex/Jet_fitting_3_ref/Monge_via_jet_fitting.tex b/Jet_fitting_3/doc_tex/Jet_fitting_3_ref/Monge_via_jet_fitting.tex index 8ec1bdf2e35..f0142006840 100644 --- a/Jet_fitting_3/doc_tex/Jet_fitting_3_ref/Monge_via_jet_fitting.tex +++ b/Jet_fitting_3/doc_tex/Jet_fitting_3_ref/Monge_via_jet_fitting.tex @@ -69,15 +69,15 @@ algebra algorithm required by the fitting method. given by the \ccc{InputIterator} parameters which value-type are \ccc{Data_kernel::Point_3}, \ccc{d} is the degree of the fitted polynomial, \ccc{d'} is the degree of the expected Monge - coefficients. \ccPrecond{$N \geq N_{d}:=(d+1)(d+2)/2$, $1 \leq d' - \leq \min(d,4) $.} } + coefficients. \ccPrecond $N \geq N_{d}:=(d+1)(d+2)/2$, $1 \leq d' + \leq \min(d,4) $. } \ccMethod{FT condition_number();}{condition number of the linear fitting system.} \ccGlue \ccMethod{std::pair pca_basis(size_t i);} {pca eigenvalues and eigenvectors, the pca\_basis has always 3 such pairs. - \ccPrecond{$i$ ranges from 0 to 2.}} + Precondition : $i$ ranges from 0 to 2.} % {\bf NESTED CLASS : Monge\_form} % \ccDefinition diff --git a/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h b/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h index 9c6537fd7e3..e0f1a63ec22 100644 --- a/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h +++ b/Kernel_23/doc/Kernel_23/CGAL/Projection_traits_xy_3.h @@ -29,6 +29,7 @@ and predicates defined in `K`. \cgalModels `DelaunayTriangulationTraits_2` \cgalModels `ConstrainedTriangulationTraits_2` \cgalModels `ConvexHullTraits_2` +\cgalModels `DelaunayMeshTraits_2` */ template< typename K > diff --git a/Kernel_23/doc_tex/Kernel_23/history.tex b/Kernel_23/doc_tex/Kernel_23/history.tex index 814dddef273..47059e252cf 100644 --- a/Kernel_23/doc_tex/Kernel_23/history.tex +++ b/Kernel_23/doc_tex/Kernel_23/history.tex @@ -55,7 +55,7 @@ for 3D triangles and efficient intersection tests for bounding boxes. \subsection{Acknowledgment} This work was supported -by the Graduiertenkolleg 'Algorithmische Diskrete Mathematik', +by the Graduiertenkolleg `Algorithmische Diskrete Mathematik', under grant DFG We 1265/2-1, and by ESPRIT IV Long Term Research Projects No.~21957 (CGAL) and No.~28155 (GALIA). diff --git a/Kernel_23/doc_tex/Kernel_23/introduction.tex b/Kernel_23/doc_tex/Kernel_23/introduction.tex index 7de4f4812e7..2813b73a430 100644 --- a/Kernel_23/doc_tex/Kernel_23/introduction.tex +++ b/Kernel_23/doc_tex/Kernel_23/introduction.tex @@ -31,7 +31,7 @@ There are many approaches to this problem, one of them is to compute exactly (compute so accurate that all decisions made by the algorithm are exact) which is possible in many cases but more expensive than standard floating-point arithmetic. -C.~M.~Hoffmann~\cite{h-gsm-89}, \cite{h-pargc-89} illustrates some +C.~M.~Hoffmann~\cite{h-gsm-89,h-pargc-89} illustrates some of the problems arising in the implementation of geometric algorithms and discusses some approaches to solve them. A more recent overview is given in \cite{s-rpigc-00}. diff --git a/Kernel_23/doc_tex/Kernel_23/kernel_representation.tex b/Kernel_23/doc_tex/Kernel_23/kernel_representation.tex index 4df5dbdfb3c..3ac71180ddc 100644 --- a/Kernel_23/doc_tex/Kernel_23/kernel_representation.tex +++ b/Kernel_23/doc_tex/Kernel_23/kernel_representation.tex @@ -53,7 +53,7 @@ representation. For example, points in 2D have a constructor with three arguments as well (the three homogeneous coordinates of the point). The common interfaces parameterized with a kernel class allow one to develop code independent of the chosen representation. We said -"families" of models, because both families are parameterized too. +``families'' of models, because both families are parameterized too. A user can choose the number type used to represent the coordinates. For reasons that will become evident later, a kernel class provides diff --git a/Kernel_23/doc_tex/Kernel_23/projection_traits.tex b/Kernel_23/doc_tex/Kernel_23/projection_traits.tex index 4ab85ef86a6..eceb625f3f9 100644 --- a/Kernel_23/doc_tex/Kernel_23/projection_traits.tex +++ b/Kernel_23/doc_tex/Kernel_23/projection_traits.tex @@ -9,4 +9,4 @@ or orientation of polygons. For this purpose \cgal\ provides several projection traits classes, which are a model of traits class concepts of 2D triangulations, 2D polygon and 2D convex hull traits classes. The projection traits classes -are listed in the "{\em Is Model for the Concepts}" sections of the concepts. +are listed in the ``{\em Is Model for the Concepts}'' sections of the concepts. diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Aff_transformation_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Aff_transformation_2.tex index da1a4c142d7..1a6bd666f8c 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Aff_transformation_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Aff_transformation_2.tex @@ -49,15 +49,15 @@ therefore do not appear in the constructors. $d$, such that the differences between the sines and cosines of the rotation given by d and the approximating rotation are at most $num/den$ each. - \ccPrecond{$num/den>0$ and $d != 0$.} } + \ccPrecond $num/den>0$ and $d != 0$. } \ccConstructor{Aff_transformation_2(const Rotation, const Kernel::RT &sine_rho, const Kernel::RT &cosine_rho, const Kernel::RT &hw = RT(1));} {introduces a rotation by the angle \ccStyle{rho}. - \ccPrecond{ - $sine\_rho^2 + cosine\_rho^2 == hw^2$.}} + \ccPrecond + $sine\_rho^2 + cosine\_rho^2 == hw^2$.} \ccConstructor{Aff_transformation_2(const Scaling, const Kernel::RT &s, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Circle_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Circle_2.tex index 50f0ab2e105..3d16409b067 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Circle_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Circle_2.tex @@ -27,8 +27,8 @@ circle can be degenerated, i.e.\ the squared radius may be zero. It is initialized to the circle with center \ccc{center}, squared radius \ccc{squared_radius} and \ccHtmlNoLinksFrom{orientation} \ccc{ori}. - \ccPrecond{\ccc{ori} $\neq$ \ccc{COLLINEAR}, and further, - \ccc{squared_radius} $\geq$ 0.}} + \ccPrecond \ccc{ori} $\neq$ \ccc{COLLINEAR}, and further, + \ccc{squared_radius} $\geq$ 0.} \ccConstructor{ Circle_2( Point_2 const& p, Point_2 const& q, @@ -38,7 +38,7 @@ circle can be degenerated, i.e.\ the squared radius may be zero. the points \ccc{p}, \ccc{q} and \ccc{r}. The \ccHtmlNoLinksFrom{orientation} of the circle is the \ccHtmlNoLinksFrom{orientation} of the point triple \ccc{p}, \ccc{q}, \ccc{r}. - \ccPrecond{\ccc{p}, \ccc{q}, and \ccc{r} are not collinear.}} + \ccPrecond \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.} \ccConstructor{ Circle_2( Point_2 const& p, Point_2 const& q, @@ -47,7 +47,7 @@ circle can be degenerated, i.e.\ the squared radius may be zero. introduces a variable \ccVar\ of type \ccClassTemplateName. It is initialized to the circle with diameter $\overline{pq}$ and \ccHtmlNoLinksFrom{orientation} \ccc{ori}. - \ccPrecond{\ccc{ori} $\neq$ \ccc{COLLINEAR}.}} + \ccPrecond \ccc{ori} $\neq$ \ccc{COLLINEAR}.} \ccConstructor{ Circle_2( Point_2 const& center, Orientation const& ori @@ -55,8 +55,8 @@ circle can be degenerated, i.e.\ the squared radius may be zero. introduces a variable \ccVar\ of type \ccClassTemplateName. It is initialized to the circle with center \ccc{center}, squared radius zero and \ccHtmlNoLinksFrom{orientation} \ccc{ori}. - \ccPrecond{\ccc{ori} $\neq$ \ccc{COLLINEAR}.} - \ccPostcond{\ccVar.\ccc{is_degenerate()} = \ccc{true}.}} + \ccPrecond \ccc{ori} $\neq$ \ccc{COLLINEAR}. + \ccPostcond \ccVar.\ccc{is_degenerate()} = \ccc{true}.} \ccHidden \ccConstructor{ Circle_2( Circle_2 const&);}{ @@ -154,7 +154,7 @@ circle can be degenerated, i.e.\ the squared radius may be zero. \ccMemberFunction{ Circle_2 orthogonal_transform( Aff_transformation_2 const& at) const;}{ returns the circle obtained by applying $at$ on \ccVar. - \ccPrecond{\ccc{at} is an orthogonal transformation.}} + \ccPrecond \ccc{at} is an orthogonal transformation.} \ccMemberFunction{ Bbox_2 bbox() const;}{ returns a bounding box containing \ccVar.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Iso_cuboid_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Iso_cuboid_3.tex index 9e8c890b797..595b6ff31b0 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Iso_cuboid_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Iso_cuboid_3.tex @@ -7,7 +7,7 @@ $y$ and $z$ axis of the coordinate system. Although they are represented in a canonical form by only two vertices, namely the lexicographically smallest and largest vertex with respect to Cartesian $xyz$ coordinates, we provide -functions for "accessing" the other vertices as well. +functions for ``accessing'' the other vertices as well. Iso-oriented cuboids and bounding boxes are quite similar. The difference however is that bounding boxes have always double coordinates, @@ -58,7 +58,7 @@ the user. opposite vertices (\ccc{min_hx/hw}, \ccc{min_hy/hw}, \ccc{min_hz/hw}) and (\ccc{max_hx/hw}, \ccc{max_hy/hw}, \ccc{max_hz/hw}). - \ccPrecond{\ccc{hw} $\neq$ 0.}} + \ccPrecond \ccc{hw} $\neq$ 0.} \ccOperations @@ -116,13 +116,13 @@ the user. {returns $i$-th \ccHtmlNoLinksFrom{Cartesian} coordinate of the smallest vertex of \ccVar. % (\ccc{min_coord(0) == xmin()}; \ccc{min_coord{2} == zmin()}) - \ccPrecond{$0 \leq i \leq 2$.}} + \ccPrecond $0 \leq i \leq 2$.} \ccMethod{ Kernel::FT max_coord(int i) const;} {returns $i$-th \ccHtmlNoLinksFrom{Cartesian} coordinate of the largest vertex of \ccVar. % (\ccc{max_coord(0) == xmax()}; \ccc{max_coord{2} == zmax()}) - \ccPrecond{$0 \leq i \leq 2$.}} + \ccPrecond $0 \leq i \leq 2$.} \ccPredicates @@ -157,10 +157,10 @@ the user. \ccMethod{Iso_cuboid_3 transform(const Aff_transformation_3 &t) const;} {returns the iso-oriented cuboid obtained by applying $t$ on the smallest and the largest of \ccVar. - \ccPrecond{The angle at a rotation must be a multiple of $\pi/2$, + \ccPrecond The angle at a rotation must be a multiple of $\pi/2$, otherwise the resulting cuboid does not have the same size. Note that rotating about an arbitrary angle can even result in - a degenerate iso-oriented cuboid.}} + a degenerate iso-oriented cuboid.} \ccSeeAlso diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Iso_rectangle_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Iso_rectangle_2.tex index 50c02788d0f..608f4307725 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Iso_rectangle_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Iso_rectangle_2.tex @@ -6,7 +6,7 @@ $y$ axis of the coordinate system. Although they are represented in a canonical form by only two vertices, namely the lower left and the upper right vertex, we provide -functions for "accessing" the other vertices as well. The vertices +functions for ``accessing'' the other vertices as well. The vertices are returned in counterclockwise order. Iso-oriented rectangles and bounding boxes are quite similar. The @@ -55,7 +55,7 @@ the user. {introduces an iso-oriented rectangle \ccVar\ with diagonal opposite vertices (\ccc{min_hx/hw}, \ccc{min_hy/hw}) and (\ccc{max_hx/hw}, \ccc{max_hy/hw}). - \ccPrecond{\ccc{hw} $\neq$ 0.}} + \ccPrecond \ccc{hw} $\neq$ 0.} \ccOperations \ccHidden \ccMethod{Iso_rectangle_2 & operator=(const Iso_rectangle_2 &q);} @@ -98,13 +98,13 @@ the user. {returns the $i$'th \ccHtmlNoLinksFrom{Cartesian} coordinate of the lower left vertex of \ccVar. % (\ccc{min_coord(0) == xmin()}; \ccc{min_coord(1) == ymin()}) - \ccPrecond{$0 \leq i \leq 1$.}} + \ccPrecond $0 \leq i \leq 1$.} \ccMethod{Kernel::FT max_coord(int i) const;} {returns the $i$'th \ccHtmlNoLinksFrom{Cartesian} coordinate of the upper right vertex of \ccVar. % (\ccc{max_coord(0) == xmin()}; \ccc{max_coord(1) == ymin()}) - \ccPrecond{$0 \leq i \leq 1$.}} + \ccPrecond $0 \leq i \leq 1$.} \ccPredicates @@ -139,10 +139,10 @@ the user. \ccMethod{Iso_rectangle_2 transform(const Aff_transformation_2 &t) const;} {returns the iso-oriented rectangle obtained by applying $t$ on the lower left and the upper right corner of \ccVar. - \ccPrecond{The angle at a rotation must be a multiple of $\pi/2$, + \ccPrecond The angle at a rotation must be a multiple of $\pi/2$, otherwise the resulting rectangle does not have the same side length. Note that rotating about an arbitrary angle can even result in - a degenerate iso-oriented rectangle.}} + a degenerate iso-oriented rectangle.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_2.tex index ec8debd2d9d..7bb892611d7 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_2.tex @@ -7,8 +7,8 @@ A model for this must provide: const Kernel::Point_2&q, const Kernel::Point_2&r);} {returns \ccStyle{true}, iff \ccStyle{q} lies between \ccStyle{p} - and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are - collinear.}} + and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are + collinear.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_3.tex index a646b3afb79..05d79b14248 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreOrderedAlongLine_3.tex @@ -7,8 +7,8 @@ A model for this must provide: const Kernel::Point_3&q, const Kernel::Point_3&r);} {returns \ccStyle{true}, iff \ccStyle{q} lies between \ccStyle{p} - and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are - collinear.}} + and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are + collinear.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_2.tex index 0d0f6f741ea..a31554916bd 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_2.tex @@ -7,8 +7,8 @@ A model for this must provide: const Kernel::Point_2&q, const Kernel::Point_2&r);} {returns \ccStyle{true}, iff \ccStyle{q} lies strictly between - \ccStyle{p} and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and - \ccStyle{r} are collinear.}} + \ccStyle{p} and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and + \ccStyle{r} are collinear.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_3.tex index 607c571bd77..87513743aa3 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CollinearAreStrictlyOrderedAlongLine_3.tex @@ -7,8 +7,8 @@ A model for this must provide: const Kernel::Point_3&q, const Kernel::Point_3&r);} {returns \ccStyle{true}, iff \ccStyle{q} lies strictly between - \ccStyle{p} and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and - \ccStyle{r} are collinear.}} + \ccStyle{p} and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and + \ccStyle{r} are collinear.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareYAtX_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareYAtX_2.tex index 91fd0fea278..31b48ef5c61 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareYAtX_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CompareYAtX_2.tex @@ -9,7 +9,7 @@ A model for this must provide: of \ccStyle{p} on \ccStyle{h}% \ccTexHtml{ (Figure~\ref{fig-compare22} (d))}{, see (d) in the figure below}. - \ccPrecond{\ccStyle{h} is not vertical.} + \ccPrecond \ccStyle{h} is not vertical. } \begin{ccTexOnly} @@ -30,7 +30,7 @@ A model for this must provide: of \ccStyle{p} on \ccStyle{h1} and on \ccStyle{h2}% \ccTexHtml{ (Figure~\ref{fig-compare2} (e))}{, see (e) in the figure below}. -\ccPrecond{\ccStyle{h1} and \ccStyle{h2} are not vertical.}} +\ccPrecond \ccStyle{h1} and \ccStyle{h2} are not vertical.} \ccMemberFunction{Comparison_result operator()(const Kernel::Line_2 &l1, const Kernel::Line_2 &l2, @@ -40,8 +40,8 @@ A model for this must provide: the vertical projection of \ccStyle{p} on \ccStyle{h}% \ccTexHtml{ (Figure~\ref{fig-compare2} (f))}{, see (f) in the figure below}. - \ccPrecond{\ccStyle{l1}, \ccStyle{l2} intersect and \ccStyle{h} is not - vertical.} + \ccPrecond \ccStyle{l1}, \ccStyle{l2} intersect and \ccStyle{h} is not + vertical. } @@ -55,8 +55,8 @@ A model for this must provide: \ccStyle{h1} and on \ccStyle{h2}% \ccTexHtml{ (Figure~\ref{fig-compare2} (g))}{, see (g) in the figure below}. - \ccPrecond{\ccStyle{l1} and \ccStyle{l2} intersect; \ccStyle{h1} and - \ccStyle{h2} are not vertical.} + \ccPrecond \ccStyle{l1} and \ccStyle{l2} intersect; \ccStyle{h1} and + \ccStyle{h2} are not vertical. } \ccMemberFunction{Comparison_result operator()(const Kernel::Point_2 &p, @@ -65,7 +65,7 @@ A model for this must provide: of \ccStyle{p} on \ccStyle{s}. If \ccc{s} is vertical, then return \ccc{EQUAL} when \ccc{p} lies on \ccc{s}, \ccc{SMALLER} when \ccc{p} lies under {s}, and \ccc{LARGER} otherwise. - \ccPrecond{\ccStyle{p} is within the x range of \ccStyle{s}.}} + \ccPrecond \ccStyle{p} is within the x range of \ccStyle{s}.} \ccMemberFunction{Comparison_result operator()(const Kernel::Point_2 &p, const Kernel::Segment_2 &s1, @@ -75,7 +75,7 @@ A model for this must provide: is vertical, then return \ccc{EQUAL} if they intersect, otherwise return \ccc{SMALLER} if \ccc{s1} lies below \ccc{s2}, and return \ccc{LARGER} otherwise. - \ccPrecond{\ccStyle{p} is within the x range of \ccStyle{s1} and \ccStyle{s2}.}} + \ccPrecond \ccStyle{p} is within the x range of \ccStyle{s1} and \ccStyle{s2}.} \begin{ccHtmlOnly} Comparison of y at x diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_2.tex index 6a6cdd7a61e..cd85b3ead2b 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_2.tex @@ -10,7 +10,7 @@ A model for this must provide: const Kernel::Point_2& q, const Kernel::Point_2& r);} {returns the squared radius of the circle passing through $p$, $q$ - and $r$. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are not collinear.}} + and $r$. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are not collinear.} \ccMemberFunction{Kernel::FT operator()(const Kernel::Point_2& p, const Kernel::Point_2& q);} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_3.tex index f30d5b1bd8d..7efa2a5fb40 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeSquaredRadius_3.tex @@ -14,7 +14,7 @@ A model for this must provide: const Kernel::Point_3& r, const Kernel::Point_3& s);} {returns the squared radius of the sphere passing through $p$, $q$, $r$ - and $s$. \ccPrecond{\ccStyle{p, q, r} and \ccStyle{s} are not coplanar.}} + and $s$. \ccPrecond \ccStyle{p, q, r} and \ccStyle{s} are not coplanar.} \ccMemberFunction{Kernel::FT operator()(const Kernel::Point_3& p, const Kernel::Point_3& q, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeYAtX_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeYAtX_2.tex index 7072e9b13f1..49ed39c3cc5 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeYAtX_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ComputeYAtX_2.tex @@ -7,7 +7,7 @@ A model for this must provide: const Kernel::FT &x) const;} {returns the $y$-coordinate of the point at $l$ with given $x$-coordinate. - \ccPrecond{ $l$ is not vertical.}} + \ccPrecond $l$ is not vertical.} \ccRefines \ccc{AdaptableFunctor} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircle_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircle_2.tex index 3a9a0bc5d7e..ed9c105daa7 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircle_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircle_2.tex @@ -17,8 +17,8 @@ A model for this must provide: It is initialized to the circle with center \ccc{center}, squared radius \ccc{squared_radius} and orientation \ccc{orientation}. - \ccPrecond{\ccc{orientation} $\neq$ \ccc{COLLINEAR}, and further, - \ccc{squared_radius} $\geq$ 0.}} + \ccPrecond \ccc{orientation} $\neq$ \ccc{COLLINEAR}, and further, + \ccc{squared_radius} $\geq$ 0.} \ccMemberFunction{Kernel::Circle_2 operator()( Kernel::Point_2 const& p, Kernel::Point_2 const& q, @@ -28,7 +28,7 @@ A model for this must provide: the points \ccc{p}, \ccc{q} and \ccc{r}. The orientation of the circle is the orientation of the point triple \ccc{p}, \ccc{q}, \ccc{r}. - \ccPrecond{\ccc{p}, \ccc{q}, and \ccc{r} are not collinear.}} + \ccPrecond \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.} \ccMemberFunction{Kernel::Circle_2 operator()( Kernel::Point_2 const& p, Kernel::Point_2 const& q, @@ -37,7 +37,7 @@ A model for this must provide: introduces a variable of type \ccc{Kernel::Circle_2}. It is initialized to the circle with diameter $\overline{pq}$ and orientation \ccc{orientation}. - \ccPrecond{\ccc{orientation} $\neq$ \ccc{COLLINEAR}.}} + \ccPrecond \ccc{orientation} $\neq$ \ccc{COLLINEAR}.} \ccMemberFunction{Kernel::Circle_2 operator()( Kernel::Point_2 const& center, Orientation const& orientation @@ -45,8 +45,8 @@ A model for this must provide: introduces a variable of type \ccc{Kernel::Circle_2}. It is initialized to the circle with center \ccc{center}, squared radius zero and orientation \ccc{orientation}. - \ccPrecond{ \ccc{orientation} $\neq$ \ccc{COLLINEAR}.} - \ccPostcond{ .\ccc{is_degenerate()} = \ccc{true}.}} + \ccPrecond \ccc{orientation} $\neq$ \ccc{COLLINEAR}. + \ccPostcond .\ccc{is_degenerate()} = \ccc{true}.} \ccHidden \ccMemberFunction{Kernel::Circle_2 operator()( Kernel::Circle_2 const&);}{copy constructor.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_2.tex index b8b1b6a17e8..5ec1701d4ab 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_2.tex @@ -11,11 +11,11 @@ A model for this must provide: const Kernel::Point_2&q, const Kernel::Point_2&r);} {compute the center of the circle passing through the points $p$, $q$, and $r$. - \ccPrecond{$p$, $q$, and $r$ are not collinear.}} + \ccPrecond $p$, $q$, and $r$ are not collinear.} \ccMemberFunction{Kernel::Point_2 operator()(const Kernel::Triangle_2&t);} {compute the center of the circle passing through the three vertices of $t$. - \ccPrecond{$t$ is not degenerate.}} + \ccPrecond $t$ is not degenerate.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_3.tex index 96954b62ec5..845f1c7bdf2 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructCircumcenter_3.tex @@ -13,21 +13,21 @@ A model for this must provide: const Kernel::Point_3&r, const Kernel::Point_3&s);} {compute the center of the sphere passing through the points $p$, $q$, $r$, - and $s$. \ccPrecond{$p$, $q$, $r$, and $s$ are not coplanar.}} + and $s$. \ccPrecond $p$, $q$, $r$, and $s$ are not coplanar.} \ccMemberFunction{Kernel::Point_3 operator()(const Kernel::Tetrahedron_3&t);} {compute the center of the sphere passing through the vertices of $t$. - \ccPrecond{$t$ is not degenerate.}} + \ccPrecond $t$ is not degenerate.} \ccMemberFunction{Kernel::Point_3 operator()(const Kernel::Point_3&p, const Kernel::Point_3&q, const Kernel::Point_3&r);} {compute the center of the circle passing through the points $p$, $q$ and $r$. - \ccPrecond{$p$, $q$ and $r$ are not collinear.}} + \ccPrecond $p$, $q$ and $r$ are not collinear.} \ccMemberFunction{Kernel::Point_3 operator()(const Kernel::Triangle_3&t);} {compute the center of the circle passing through the vertices of $t$. - \ccPrecond{$t$ is not degenerate.}} + \ccPrecond $t$ is not degenerate.} \ccRefines \ccc{AdaptableFunctor} (with four arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularDirection_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularDirection_2.tex index 349b436b251..faf3eb7b74b 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularDirection_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularDirection_2.tex @@ -8,7 +8,7 @@ A model for this must provide: {introduces a direction orthogonal to \ccc{d}. If \ccc{o} is \ccc{CLOCKWISE}, \ccc{d} is rotated clockwise; if \ccc{o} is \ccc{COUNTERCLOCKWISE}, \ccc{d} is rotated counterclockwise. - \ccPrecond{\ccc{o} is not \ccc{COLLINEAR}.}} + \ccPrecond \ccc{o} is not \ccc{COLLINEAR}.} \ccRefines \ccc{AdaptableFunctor} (with two arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularVector_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularVector_2.tex index a92280a45fc..24f251521c9 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularVector_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPerpendicularVector_2.tex @@ -7,7 +7,7 @@ A model for this must provide: Orientation o);} {returns \ccc{v} rotated clockwise by 90 degrees, if $o$ is \ccc{CLOCKWISE}, and rotated counterclockwise otherwise. -\ccPrecond{$o$ is not \ccc{COLLINEAR}.} +\ccPrecond $o$ is not \ccc{COLLINEAR}. } \ccRefines diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_2.tex index 87534a45d49..8c6cc1d67ce 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_2.tex @@ -14,7 +14,7 @@ A model for this must provide: int i);} {returns a point on \ccc{r}. \ccStyle{point(0)} is the source, \ccStyle{point(i)}, with $i>0$, is different from the - source. \ccPrecond{$i \geq 0$.}} + source. \ccPrecond $i \geq 0$.} \ccMemberFunction{Kernel::Point_2 operator()(const Kernel::Segment_2& s, int i);} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_3.tex index 9585437e584..367be6796dd 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPointOn_3.tex @@ -17,7 +17,7 @@ A model for this must provide: int i);} {returns a point on \ccc{r}. \ccStyle{point(0)} is the source, \ccStyle{point(i)}, with $i>0$, is different from the - source. \ccPrecond{$i \geq 0$.}} + source. \ccPrecond $i \geq 0$.} \ccMemberFunction{Kernel::Point_3 operator()(const Kernel::Segment_3& s, int i);} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_2.tex index c01e1f3b30f..0f45e6211c9 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_2.tex @@ -17,7 +17,7 @@ A model for this must provide: {introduces a point initialized to $(hx/hw,hy/hw)$. If the third argument is not explicitly given, it defaults to \ccStyle{Kernel::RT(1)}. - \ccPrecond{\ccc{hw} $\neq$ \ccc{Kernel::RT(0)}.} } + \ccPrecond \ccc{hw} $\neq$ \ccc{Kernel::RT(0)}. } \ccHidden\ccMemberFunction{Kernel::Point_2 operator()(const Kernel::FT &x, const Kernel::FT &y);} {introduces a point initialized to $(x,y)$.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_3.tex index 698735b7c1c..0a26a516e44 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructPoint_3.tex @@ -16,7 +16,7 @@ A model for this must provide: {introduces a point initialized to $(hx/hw,hy/hw, hz/hw)$. If the third argument is not explicitly given it defaults to \ccStyle{Kernel::RT(1)}. - \ccPrecond{\ccc{hw} $\neq$ \ccc{Kernel::RT(0)}.} } + \ccPrecond \ccc{hw} $\neq$ \ccc{Kernel::RT(0)}. } \ccHidden\ccMemberFunction{Kernel::Point_3 operator()(const Kernel::FT &x, const Kernel::FT &y, const Kernel::FT &z);} {introduces a point initialized to $(x,y,z)$.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructSphere_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructSphere_3.tex index 5d969b88518..810ffe27498 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructSphere_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructSphere_3.tex @@ -9,8 +9,8 @@ A model for this must provide: {introduces a sphere initialized to the sphere with center \ccc{center}, squared radius \ccc{squared_radius} and orientation \ccc{orientation}. - \ccPrecond{\ccc{orientation} $\neq$ \ccc{COPLANAR}, and furthermore, - \ccc{squared_radius} $\geq$ 0.}} + \ccPrecond \ccc{orientation} $\neq$ \ccc{COPLANAR}, and furthermore, + \ccc{squared_radius} $\geq$ 0.} \ccMemberFunction{ Kernel::Sphere_3 operator()( const Kernel::Point_3 & p, const Kernel::Point_3 & q, @@ -20,7 +20,7 @@ A model for this must provide: through the points \ccc{p}, \ccc{q}, \ccc{r} and \ccc{s}. The orientation of the sphere is the orientation of the point quadruple \ccc{p}, \ccc{q}, \ccc{r}, \ccc{s}. - \ccPrecond{\ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are not coplanar.}} + \ccPrecond \ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are not coplanar.} \ccMemberFunction{ Kernel::Sphere_3 operator()(const Kernel::Point_3 & p, @@ -29,24 +29,24 @@ A model for this must provide: const Orientation& o = COUNTERCLOCKWISE);} {introduces a sphere initialized to the smallest sphere which passes through the points \ccc{p}, \ccc{q}, and \ccc{r}. The orientation of - the sphere is \ccc{o}. \ccPrecond{\ccc{o} is not - \ccc{COPLANAR}.}} + the sphere is \ccc{o}. \ccPrecond \ccc{o} is not + \ccc{COPLANAR}.} \ccMemberFunction{ Kernel::Sphere_3 operator()(const Kernel::Point_3 & p, const Kernel::Point_3 & q, const Orientation & o = COUNTERCLOCKWISE);} {introduces a sphere initialized to the smallest sphere which passes through the points \ccc{p} and \ccc{q}. The orientation of - the sphere is \ccc{o}. \ccPrecond{\ccc{o} is not - \ccc{COPLANAR}.}} + the sphere is \ccc{o}. \ccPrecond \ccc{o} is not + \ccc{COPLANAR}.} \ccMemberFunction{ Kernel::Sphere_3 operator()( const Kernel::Point_3 & center, const Orientation & orientation = COUNTERCLOCKWISE);} {introduces a sphere $s$ initialized to the sphere with center \ccc{center}, squared radius zero and orientation \ccc{orientation}. - \ccPrecond{\ccc{orientation} $\neq$ \ccc{COPLANAR}.} - \ccPostcond{\ccc{s.is_degenerate()} = \ccc{true}.}} + \ccPrecond \ccc{orientation} $\neq$ \ccc{COPLANAR}. + \ccPostcond \ccc{s.is_degenerate()} = \ccc{true}.} \ccMemberFunction{ Kernel::Sphere_3 operator()( const Kernel::Circle_3 &c);} {introduces a sphere initialized to the diametral sphere of diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructVector_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructVector_2.tex index 036f25b8ea2..0f77fb5b74b 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructVector_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_ConstructVector_2.tex @@ -37,7 +37,7 @@ A model for this must provide: {introduces a vector initialized to $(hx/hw,hy/hw)$. If the third argument is not explicitly given, it defaults to \ccStyle{Kernel::RT(1)}. - \ccPrecond{$hw\neq 0$.}} + \ccPrecond $hw\neq 0$} \ccHidden\ccMemberFunction{Kernel::Vector_2 operator()(const Kernel::FT &x, const Kernel::FT &y);} {introduces a vector initialized to $(x,y)$.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarOrientation_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarOrientation_3.tex index 0887bb49e70..845a104138c 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarOrientation_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarOrientation_3.tex @@ -14,8 +14,9 @@ A model for this must provide: collinear, \ccc{COLLINEAR} is returned. Iff $P$ and the plane defined by \ccc{p}, \ccc{q}, and \ccc{s} have the same orientation, \ccc{POSITIVE} is returned; otherwise \ccc{NEGATIVE} is returned. - \ccPrecond{\ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and - \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.}} + \ccPrecond \ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and + \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.} + \ccMemberFunction{Orientation operator()(const Kernel::Point_3&p, const Kernel::Point_3&q, const Kernel::Point_3&r);} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarSideOfBoundedCircle_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarSideOfBoundedCircle_3.tex index 90dc567924c..a58566a94d5 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarSideOfBoundedCircle_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_CoplanarSideOfBoundedCircle_3.tex @@ -9,8 +9,8 @@ A model for this must provide: const Kernel::Point_3&s);} {returns the bounded side of the circle defined by \ccc{p}, \ccc{q}, and \ccc{r} on which \ccc{s} lies. - \ccPrecond{\ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and - \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.}} + \ccPrecond \ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and + \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.} \ccRefines \ccc{AdaptableFunctor} (with four arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessRotateCCW_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessRotateCCW_2.tex index 93d957e3039..d0f49d21f51 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessRotateCCW_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessRotateCCW_2.tex @@ -11,8 +11,8 @@ and \ccStyle{r} form a left turn or if they are collinear and the distance of $q$ to $p$ is larger than the distance of $r$ to $p$, where $p$ is the point passed to the object at construction. -\ccPrecond{$p$ does not lie in the interior of the segment $rq$, -i.e.~$p$ is an extreme point with respect to $\{p,q,r\}$.}} +\ccPrecond $p$ does not lie in the interior of the segment $rq$, +i.e.~$p$ is an extreme point with respect to $\{p,q,r\}$.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToLine_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToLine_2.tex index 9ce41e66e70..cf4b711f9fc 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToLine_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToLine_2.tex @@ -18,7 +18,7 @@ is smaller than the signed distance of $q$ and $l$. { returns \ccc{true} if the signed distance from $r$ and the oriented line $l$ defined by $p$ and $q$ is smaller than the signed distance of $s$ and $l$. -\ccPrecond{$p != q$.} +\ccPrecond $p != q$. } \ccRefines diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToPlane_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToPlane_3.tex index f6299cbf463..11b17a5276f 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToPlane_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_LessSignedDistanceToPlane_3.tex @@ -17,7 +17,7 @@ A model for this must provide: {returns true, iff the signed distance from point \ccc{q} to the plane \ccc{p} defined by \ccc{p1, p2, p3} is smaller than the signed distance from point \ccc{r} to \ccc{p}. -\ccPrecond{$p, q$, and $r$ are not collinear.}} +\ccPrecond $p, q$, and $r$ are not collinear.} \ccRefines \ccc{AdaptableFunctor} (with three arguments) diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedCircle_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedCircle_2.tex index b96b37de2eb..8c61b53a785 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedCircle_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedCircle_2.tex @@ -10,7 +10,7 @@ A model for this must provide: {returns the relative position of point \ccStyle{t} to the circle defined by $p$, $q$ and $r$. The order of the points $p$, $q$ and $r$ does not matter. - \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are not collinear.}} + \ccPrecond \ccStyle{p, q} and \ccStyle{r} are not collinear.} \ccMemberFunction{Bounded_side operator()(const Kernel::Point_2&p, const Kernel::Point_2&q, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedSphere_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedSphere_3.tex index 117fe808925..fb9e7c97c87 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedSphere_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Kernel_SideOfBoundedSphere_3.tex @@ -11,7 +11,7 @@ A model for this must provide: {returns the relative position of point \ccStyle{t} to the sphere defined by $p$, $q$, $r$, and $s$. The order of the points $p$, $q$, $r$, and $s$ does not matter. - \ccPrecond{\ccStyle{p, q, r} and \ccStyle{s} are not coplanar.}} + \ccPrecond \ccStyle{p, q, r} and \ccStyle{s} are not coplanar.} \ccMemberFunction{Bounded_side operator()(const Kernel::Point_3&p, const Kernel::Point_3&q, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Line_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Line_2.tex index 816663b0754..c9d22773ad6 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Line_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Line_2.tex @@ -89,12 +89,12 @@ The positive side is to the left of \ccc{l}. \ccMethod{Kernel::FT x_at_y(const Kernel::FT &y) const;} {returns the $x$-coordinate of the point at \ccVar\ with given $y$-coordinate. - \ccPrecond{\ccVar\ is not horizontal.}} + \ccPrecond \ccVar\ is not horizontal.} \ccMethod{Kernel::FT y_at_x(const Kernel::FT &x) const;} {returns the $y$-coordinate of the point at \ccVar\ with given $x$-coordinate. - \ccPrecond{\ccVar\ is not vertical.}} + \ccPrecond \ccVar\ is not vertical.} \ccHeading{Predicates} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Point_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Point_2.tex index 592a86ba73b..4affc509c1a 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Point_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Point_2.tex @@ -41,7 +41,7 @@ to \ccStyle{T}, and \ccStyle{Kernel::FT} is equal to \ccConstructor{Point_2(const Kernel::RT &hx, const Kernel::RT &hy, const Kernel::RT &hw = RT(1));} {introduces a point \ccVar\ initialized to $(hx/hw,hy/hw)$. - \ccPrecond{\ccc{hw} $\neq$ \ccc{Kernel::RT(0)}.} } + \ccPrecond \ccc{hw} $\neq$ \ccc{Kernel::RT(0)} } \ccConstructor{Point_2(const Kernel::FT &x, const Kernel::FT &y);} {introduces a point \ccVar\ initialized to $(x,y)$.} @@ -89,16 +89,16 @@ with higher dimensional points. Again they come in a \ccMethod{Kernel::RT homogeneous(int i) const;} {returns the i'th homogeneous coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{Kernel::FT cartesian(int i) const;} {returns the i'th \ccHtmlNoLinksFrom{Cartesian} coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 1$.}} + \ccPrecond $0\leq i \leq 1$.} \ccMethod{Kernel::FT operator[](int i) const;} {returns \ccStyle{cartesian(i)}. - \ccPrecond{$0\leq i \leq 1$.}} + \ccPrecond $0\leq i \leq 1$.} \ccMethod{Cartesian_const_iterator cartesian_begin() const;} {returns an iterator to the \ccHtmlNoLinksFrom{Cartesian} coordinates diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Point_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Point_3.tex index 0ce3c5cce2f..ddc941246b1 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Point_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Point_3.tex @@ -46,7 +46,7 @@ to \ccStyle{T}, and \ccStyle{Kernel::FT} is equal to \ccConstructor{Point_3(const Kernel::RT &hx, const Kernel::RT &hy, const Kernel::RT &hz, const Kernel::RT &hw = RT(1));} {introduces a point \ccVar\ initialized to $(hx/hw,hy/hw, hz/hw)$. - \ccPrecond{\ccc{hw} $\neq$ 0.}} + \ccPrecond \ccc{hw} $\neq$ 0.} \ccConstructor{Point_3(const Kernel::FT &x, const Kernel::FT &y, const Kernel::FT &z);} {introduces a point \ccVar\ initialized to $(x,y,z)$.} @@ -99,15 +99,15 @@ with code for higher dimensional points. Again they come in a \ccMethod{Kernel::RT homogeneous(int i) const;} {returns the i'th homogeneous coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 3$.}} + \ccPrecond $0\leq i \leq 3$.} \ccMethod{Kernel::FT cartesian(int i) const;} {returns the i'th \ccHtmlNoLinks{Cartesian} coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{Kernel::FT operator[](int i) const;} {returns \ccStyle{cartesian(i)}. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{Cartesian_const_iterator cartesian_begin() const;} {returns an iterator to the \ccHtmlNoLinksFrom{Cartesian} coordinates diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Ray_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Ray_2.tex index 07dc7a9d702..1a84bbe7d14 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Ray_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Ray_2.tex @@ -49,7 +49,7 @@ in a point called the {\em source} of \ccStyle{r} and goes to infinity. \ccMethod{Point_2 point(int i) const;} {returns a point on \ccVar. \ccStyle{point(0)} is the source, \ccStyle{point(i)}, with $i>0$, is different from the - source. \ccPrecond{$i \geq 0$.}} + source. \ccPrecond $i \geq 0$.} \ccMethod{Direction_2 direction() const;} {returns the direction of \ccVar.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Ray_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Ray_3.tex index 40d4e0daa53..0b82abaa311 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Ray_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Ray_3.tex @@ -52,7 +52,7 @@ in a point called the {\em source} of \ccStyle{r} and it goes to infinity. \ccMethod{Point_3 point(int i) const;} {returns a point on \ccVar. \ccStyle{point(0)} is the source. \ccStyle{point(i)}, with $i>0$, is different from the - source. \ccPrecond{$i \geq 0$.}} + source. \ccPrecond $i \geq 0$.} \ccMethod{Direction_3 direction() const;} {returns the direction of \ccVar.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Segment_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Segment_2.tex index 5242c5bc3b8..28fb185bb48 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Segment_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Segment_2.tex @@ -103,7 +103,7 @@ number types, which is expensive, and may not be exact. \ccMethod{bool collinear_has_on(const Point_2 &p) const;} {checks if point $p$ is on segment~\ccVar. This function is faster than function \ccStyle{has_on()}. - \ccPrecond{$p$ is on the supporting line of \ccVar.}} + \ccPrecond $p$ is on the supporting line of \ccVar.} \ccHeading{Miscellaneous} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Segment_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Segment_3.tex index ab9c83f9038..1c427154389 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Segment_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Segment_3.tex @@ -94,7 +94,7 @@ number types, which is expensive, and may not be exact. % \ccMethod{bool collinear_has_on(const Point_3 &p) const;} % {checks if point $p$ is on segment~\ccVar. This function is faster % than function \ccStyle{has_on()}. -% \ccPrecond{$p$ is collinear to \ccVar.}} +% \ccPrecond $p$ is collinear to \ccVar.} % \ccMethod{Bbox_3 bbox() const;} {returns a bounding box containing~\ccVar.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Sphere_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Sphere_3.tex index 99817446494..f66b912d539 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Sphere_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Sphere_3.tex @@ -27,8 +27,8 @@ sphere can be degenerated, i.e.\ the squared radius may be zero. It is initialized to the sphere with center \ccc{center}, squared radius \ccc{squared_radius} and orientation \ccc{orientation}. - \ccPrecond{\ccc{orientation} $\neq$ \ccc{COPLANAR}, and furthermore, - \ccc{squared_radius} $\geq$ 0.}} + \ccPrecond \ccc{orientation} $\neq$ \ccc{COPLANAR}, and furthermore, + \ccc{squared_radius} $\geq$ 0.} \ccConstructor{ Sphere_3( Point_3 const& p, Point_3 const& q, @@ -39,7 +39,7 @@ sphere can be degenerated, i.e.\ the squared radius may be zero. the points \ccc{p}, \ccc{q}, \ccc{r} and \ccc{s}. The orientation of the sphere is the orientation of the point quadruple \ccc{p}, \ccc{q}, \ccc{r}, \ccc{s}. - \ccPrecond{\ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are not coplanar.}} + \ccPrecond \ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are not coplanar.} \ccConstructor{ Sphere_3( Point_3 const& p, @@ -49,8 +49,8 @@ sphere can be degenerated, i.e.\ the squared radius may be zero. introduces a variable \ccVar\ of type \ccRefName. It is initialized to the smallest sphere which passes through the points \ccc{p}, \ccc{q}, and \ccc{r}. The orientation of - the sphere is \ccc{o}. \ccPrecond{\ccc{o} is not - \ccc{COPLANAR}.}} + the sphere is \ccc{o}. \ccPrecond \ccc{o} is not + \ccc{COPLANAR}.} \ccConstructor{ Sphere_3( Point_3 const& p, Point_3 const& q, @@ -58,8 +58,8 @@ sphere can be degenerated, i.e.\ the squared radius may be zero. introduces a variable \ccVar\ of type \ccRefName. It is initialized to the smallest sphere which passes through the points \ccc{p} and \ccc{q}. The orientation of - the sphere is \ccc{o}. \ccPrecond{\ccc{o} is not - \ccc{COPLANAR}.}} + the sphere is \ccc{o}. \ccPrecond \ccc{o} is not + \ccc{COPLANAR}.} \ccConstructor{ Sphere_3( Point_3 const& center, @@ -67,9 +67,8 @@ sphere can be degenerated, i.e.\ the squared radius may be zero. introduces a variable \ccVar\ of type \ccRefName. It is initialized to the sphere with center \ccc{center}, squared radius zero and orientation \ccc{orientation}. - \ccPrecond{\ccc{orientation} $\neq$ \ccc{COPLANAR}.} - \ccPostcond{\ccVar.\ccc{is_degenerate()} = \ccc{true}.}} - + \ccPrecond \ccc{orientation} $\neq$ \ccc{COPLANAR}. + \ccPostcond \ccVar.\ccc{is_degenerate()} = \ccc{true}.} \ccConstructor{ Sphere_3( Circle_3 const& c );}{ introduces a variable \ccVar\ of type \ccRefName. @@ -177,7 +176,7 @@ sphere can be degenerated, i.e.\ the squared radius may be zero. \ccMemberFunction{ Sphere_3 orthogonal_transform( Aff_transformation_3 const& at) const;}{ returns the sphere obtained by applying $at$ on \ccVar. - \ccPrecond{\ccc{at} is an orthogonal transformation.}} + \ccPrecond \ccc{at} is an orthogonal transformation.} \ccMemberFunction{ Bbox_3 bbox() const;}{ returns a bounding box containing \ccVar.} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Triangle_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Triangle_2.tex index 74b17485fbe..ae6ef274ee7 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Triangle_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Triangle_2.tex @@ -61,14 +61,14 @@ two open regions, a bounded one and an unbounded one. or the constant \ccStyle{ON_NEGATIVE_SIDE}, determined by the position of point $p$. - \ccPrecond{\ccVar\ is not degenerate.}} + \ccPrecond \ccVar\ is not degenerate.} \ccMethod{Bounded_side bounded_side(const Point_2 &p) const;} {returns the constant \ccStyle{ON_BOUNDARY}, \ccStyle{ON_BOUNDED_SIDE}, or else \ccStyle{ON_UNBOUNDED_SIDE}, depending on where point $p$ is. - \ccPrecond{\ccVar\ is not degenerate.}} + \ccPrecond \ccVar\ is not degenerate.} For convenience we provide the following Boolean functions: @@ -85,7 +85,7 @@ For convenience we provide the following Boolean functions: {} \ccGlue \ccMethod{bool has_on_unbounded_side(const Point_2 &p) const;} - {\ccPrecond{\ccVar\ is not degenerate.}} + {\ccPrecond \ccVar\ is not degenerate.} \ccHeading{Miscellaneous} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Vector_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Vector_2.tex index 2b3c9753a73..8f3c5240cf3 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Vector_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Vector_2.tex @@ -51,7 +51,7 @@ instead of a vector initialized with zeros. \ccConstructor{Vector_2(const Kernel::RT &hx, const Kernel::RT &hy, const Kernel::RT &hw = RT(1));} {introduces a vector \ccVar\ initialized to $(hx/hw,hy/hw)$. - \ccPrecond{$hw\neq 0$.} } + \ccPrecond $hw\neq 0$ } \ccConstructor{Vector_2(const Kernel::FT &x, const Kernel::FT &y);} {introduces a vector \ccVar\ initialized to $(x,y)$.} @@ -99,15 +99,15 @@ with higher dimensional vectors. Again they come in a \ccMethod{Kernel::RT homogeneous(int i) const;} {returns the i'th homogeneous coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccGlue \ccMethod{Kernel::FT cartesian(int i) const;} {returns the i'th \ccHtmlNoLinksFrom{Cartesian} coordinate of \ccVar, starting at 0. - \ccPrecond{$0\leq i \leq 1$.}} + \ccPrecond $0\leq i \leq 1$.} \ccGlue \ccMethod{Kernel::FT operator[](int i) const;} {returns \ccStyle{cartesian(i)}. - \ccPrecond{$0\leq i \leq 1$.}} + \ccPrecond $0\leq i \leq 1$.} \ccMethod{Cartesian_const_iterator cartesian_begin() const;} {returns an iterator to the \ccHtmlNoLinksFrom{Cartesian} coordinates diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Vector_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Vector_3.tex index d35e6da473a..6a81392cc9c 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Vector_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Vector_3.tex @@ -104,15 +104,15 @@ with higher dimensional vectors. Again they come in a \ccMethod{Kernel::RT homogeneous(int i) const;} {returns the i'th homogeneous coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 3$.}} + \ccPrecond $0\leq i \leq 3$.} \ccMethod{Kernel::FT cartesian(int i) const;} {returns the i'th \ccHtmlNoLinksFrom{Cartesian} coordinate of \ccVar, starting at 0. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{Kernel::FT operator[](int i) const;} {returns \ccStyle{cartesian(i)}. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{Cartesian_const_iterator cartesian_begin() const;} {returns an iterator to the \ccHtmlNoLinksFrom{Cartesian} coordinates diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_2.tex b/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_2.tex index cf339e68144..d2beb74833c 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_2.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_2.tex @@ -26,7 +26,7 @@ the ring type of the defining kernel. const Kernel::RT w = 0);} {introduces a point \ccVar\ initialized to $(hx/hw,hy/hw)$ with weight \ccc{w}. - \ccPrecond{\ccc{hw} $\neq$ \ccc{Kernel::RT(0)}.} } + \ccPrecond \ccc{hw} $\neq$ \ccc{Kernel::RT(0)} } \ccConstructor{Weighted_point_2(const Point_2 &p, const Kernel::RT& w = 0);} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_3.tex b/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_3.tex index ad053562a21..47568ca4ba0 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_3.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/Weighted_point_3.tex @@ -34,7 +34,7 @@ field type of the defining kernel. const Weight& w = 0);} {introduces a point \ccVar\ initialized to $(hx/hw,hy/hw, hz/hw)$ with weight \ccc{w}. - \ccPrecond{\ccc{hw} $\neq$ 0.}} + \ccPrecond \ccc{hw} $\neq$ 0.} \ccConstructor{Weighted_point_3(const Point_3 &p, const Weight& w = 0);} {introduces a variable \ccVar\ with \ccHtmlNoLinksFrom{Cartesian} @@ -87,15 +87,15 @@ with higher dimensional points. Again they come in a \ccMethod{Kernel::RT homogeneous(int i) const;} {returns the i'th homogeneous coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 3$.}} + \ccPrecond $0\leq i \leq 3$.} \ccMethod{Kernel::FT cartesian(int i) const;} {returns the i'th \ccHtmlNoLinks{Cartesian} coordinate of \ccVar, starting with 0. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{Kernel::FT operator[](int i) const;} {returns \ccStyle{cartesian(i)}. - \ccPrecond{$0\leq i \leq 2$.}} + \ccPrecond $0\leq i \leq 2$.} \ccMethod{int dimension() const;} {returns the dimension (the constant 3).} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/circumcenter.tex b/Kernel_23/doc_tex/Kernel_23_ref/circumcenter.tex index f3320c62514..e5741e648b8 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/circumcenter.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/circumcenter.tex @@ -12,12 +12,12 @@ circumcenter( const Point_2& p, const Point_2& q, const Point_2& r);} {compute the center of the circle passing through the points $p$, $q$, and $r$. - \ccPrecond{$p$, $q$, and $r$ are not collinear.}} + \ccPrecond $p$, $q$, and $r$ are not collinear.} \ccFunction{Point_2 circumcenter( const Triangle_2& t);} {compute the center of the circle passing through the vertices of $t$. - \ccPrecond{$t$ is not degenerate.}} + \ccPrecond $t$ is not degenerate.} \ccFunction{Point_3 @@ -32,12 +32,12 @@ circumcenter( const Point_3& p, const Point_3& q, const Point_3& r);} {compute the center of the circle passing through the points $p$, $q$, and $r$. - \ccPrecond{$p$, $q$, and $r$ are not collinear.}} + \ccPrecond $p$, $q$, and $r$ are not collinear.} \ccFunction{Point_3 circumcenter( const Triangle_3& t);} {compute the center of the circle passing through the vertices of $t$. - \ccPrecond{$t$ is not degenerate.}} + \ccPrecond $t$ is not degenerate.} \ccFunction{Point_3 circumcenter( const Point_3& p, @@ -45,12 +45,12 @@ circumcenter( const Point_3& p, const Point_3& r, const Point_3& s);} {compute the center of the sphere passing through the points $p$, $q$, $r$, and $s$. - \ccPrecond{$p$, $q$, $r$, and $s$ are not coplanar.}} + \ccPrecond $p$, $q$, $r$, and $s$ are not coplanar.} \ccFunction{Point_3 circumcenter( const Tetrahedron_3& t);} {compute the center of the sphere passing through the vertices of $t$. - \ccPrecond{$t$ is not degenerate.}} + \ccPrecond $t$ is not degenerate.} \end{ccRefFunction} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_ordered_along_line.tex b/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_ordered_along_line.tex index 52e25d4299a..8fe35aec64f 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_ordered_along_line.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_ordered_along_line.tex @@ -4,15 +4,15 @@ const Point_2 &q, const Point_2 &r);} {returns \ccStyle{true}, iff \ccStyle{q} lies between \ccStyle{p} - and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are - collinear.}} + and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are + collinear.} \ccFunction{bool collinear_are_ordered_along_line(const Point_3 &p, const Point_3 &q, const Point_3 &r);} {returns \ccStyle{true}, iff \ccStyle{q} lies between \ccStyle{p} - and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are - collinear.}} + and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are + collinear.} \ccSeeAlso \ccRefIdfierPage{CGAL::are_ordered_along_line} \\ diff --git a/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_strictly_ordered_along_line.tex b/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_strictly_ordered_along_line.tex index 568fe2db20c..581da27171a 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_strictly_ordered_along_line.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/collinear_are_strictly_ordered_along_line.tex @@ -4,16 +4,16 @@ const Point_2 &q, const Point_2 &r);} {returns \ccStyle{true}, iff \ccStyle{q} lies strictly between - \ccStyle{p} and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are - collinear.}} + \ccStyle{p} and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are + collinear.} \ccFunction{bool collinear_are_strictly_ordered_along_line( const Point_3 &p, const Point_3 &q, const Point_3 &r);} {returns \ccStyle{true}, iff \ccStyle{q} lies strictly between \ccStyle{p} - and \ccStyle{r}. \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are - collinear.}} + and \ccStyle{r}. \ccPrecond \ccStyle{p, q} and \ccStyle{r} are + collinear.} \ccSeeAlso diff --git a/Kernel_23/doc_tex/Kernel_23_ref/compare_x_at_y.tex b/Kernel_23/doc_tex/Kernel_23_ref/compare_x_at_y.tex index ab58a3cff31..0d256e0c56b 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/compare_x_at_y.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/compare_x_at_y.tex @@ -6,7 +6,7 @@ of \ccStyle{p} on \ccStyle{h}% \ccTexHtml{ (Figure~\ref{fig-compare_x_at_y} (a))}{; see (a) in the figure below}. - \ccPrecond{\ccStyle{h} is not horizontal.}} + \ccPrecond \ccStyle{h} is not horizontal.} \begin{ccTexOnly} \begin{figure}[h] @@ -26,7 +26,7 @@ of \ccStyle{p} on \ccStyle{h1} and on \ccStyle{h2}% \ccTexHtml{ (Figure~\ref{fig-compare_x_at_y} (b))}{; see (b) in the figure below}. -\ccPrecond{\ccStyle{h1} and \ccStyle{h2} are not horizontal.} +\ccPrecond \ccStyle{h1} and \ccStyle{h2} are not horizontal. } \ccFunction{Comparison_result compare_x_at_y(const Line_2 &l1, @@ -37,8 +37,8 @@ the horizontal projection of \ccStyle{p} on \ccStyle{h}% \ccTexHtml{ (Figure~\ref{fig-compare_x_at_y} (c))}{; see (c) in the figure below}. - \ccPrecond{\ccStyle{l1} and \ccStyle{l2} intersect and are not - horizontal; \ccStyle{h} is not horizontal.} + \ccPrecond \ccStyle{l1} and \ccStyle{l2} intersect and are not + horizontal; \ccStyle{h} is not horizontal. } @@ -51,8 +51,8 @@ \ccStyle{p} on \ccStyle{h1} and on \ccStyle{h2}% \ccTexHtml{ (Figure~\ref{fig-compare_x_at_y} (d))}{; see (d) in the figure below}. -\ccPrecond{\ccStyle{l1} and \ccStyle{l2} intersect and are not horizontal; - \ccStyle{h1} and \ccStyle{h2} are not horizontal.} +\ccPrecond \ccStyle{l1} and \ccStyle{l2} intersect and are not horizontal; + \ccStyle{h1} and \ccStyle{h2} are not horizontal. } \begin{ccHtmlOnly} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/compare_y_at_x.tex b/Kernel_23/doc_tex/Kernel_23_ref/compare_y_at_x.tex index b4d29946ab1..4ad5f58860e 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/compare_y_at_x.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/compare_y_at_x.tex @@ -13,7 +13,7 @@ described below. of \ccStyle{p} on \ccStyle{h}% \ccTexHtml{ (Figure~\ref{fig-compare2} (d))}{, see (d) in the figure below}. - \ccPrecond\{\ccStyle{h} is not vertical.} + \ccPrecond \ccStyle{h} is not vertical. } \begin{ccTexOnly} @@ -33,7 +33,7 @@ described below. of \ccStyle{p} on \ccStyle{h1} and on \ccStyle{h2}% \ccTexHtml{ (Figure~\ref{fig-compare2} (e))}{, see (e) in the figure below}. -\ccPrecond{\ccStyle{h1} and \ccStyle{h2} are not vertical.} +\ccPrecond \ccStyle{h1} and \ccStyle{h2} are not vertical. } @@ -45,8 +45,8 @@ described below. the vertical projection of \ccStyle{p} on \ccStyle{h}% \ccTexHtml{ (Figure~\ref{fig-compare2} (f))}{, see (f) in the figure below}. - \ccPrecond{\ccStyle{l1}, \ccStyle{l2} intersect and \ccStyle{h} is not - vertical.} + \ccPrecond \ccStyle{l1}, \ccStyle{l2} intersect and \ccStyle{h} is not + vertical. } @@ -59,8 +59,8 @@ described below. \ccStyle{h1} and on \ccStyle{h2}% \ccTexHtml{ (Figure~\ref{fig-compare2} (g))}{, see (g) in the figure below}. - \ccPrecond{\ccStyle{l1} and \ccStyle{l2} intersect; \ccStyle{h1} and - \ccStyle{h2} are not vertical.} + \ccPrecond \ccStyle{l1} and \ccStyle{l2} intersect; \ccStyle{h1} and + \ccStyle{h2} are not vertical. } \ccFunction{Comparison_result compare_y_at_x(const Point_2 &p, @@ -69,7 +69,7 @@ described below. of \ccStyle{p} on \ccStyle{s}. If \ccc{s} is vertical, then return \ccc{EQUAL} when \ccc{p} lies on \ccc{s}, \ccc{SMALLER} when \ccc{p} lies under {s}, and \ccc{LARGER} otherwise. - \ccPrecond{\ccStyle{p} is within the x range of \ccStyle{s}.}} + \ccPrecond \ccStyle{p} is within the x range of \ccStyle{s}.} \ccFunction{Comparison_result compare_y_at_x(const Point_2 &p, const Segment_2 &s1, @@ -79,7 +79,7 @@ described below. is vertical, then return \ccc{EQUAL} if they intersect, otherwise return \ccc{SMALLER} if \ccc{s1} lies below \ccc{s2}, and return \ccc{LARGER} otherwise. - \ccPrecond{\ccStyle{p} is within the x range of \ccStyle{s1} and \ccStyle{s2}.}} + \ccPrecond \ccStyle{p} is within the x range of \ccStyle{s1} and \ccStyle{s2}.} \begin{ccHtmlOnly} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/coplanar_orientation.tex b/Kernel_23/doc_tex/Kernel_23_ref/coplanar_orientation.tex index cc29e56a72b..5d85de81484 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/coplanar_orientation.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/coplanar_orientation.tex @@ -11,8 +11,8 @@ collinear, \ccc{COLLINEAR} is returned. Iff $P$ and the plane defined by \ccc{p}, \ccc{q}, and \ccc{s} have the same orientation, \ccc{POSITIVE} is returned; otherwise \ccc{NEGATIVE} is returned. - \ccPrecond{\ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and - \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.}} + \ccPrecond \ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and + \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.} \ccFunction{Orientation coplanar_orientation(const Point_3& p, const Point_3& q, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/coplanar_side_of_bounded_circle.tex b/Kernel_23/doc_tex/Kernel_23_ref/coplanar_side_of_bounded_circle.tex index 2e87f2febb3..fca8a05a170 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/coplanar_side_of_bounded_circle.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/coplanar_side_of_bounded_circle.tex @@ -6,8 +6,8 @@ const Point_3& s);} {returns the bounded side of the circle defined by \ccc{p}, \ccc{q}, and \ccc{r} on which \ccc{s} lies. - \ccPrecond{\ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and - \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.}} + \ccPrecond \ccc{p}, \ccc{q}, \ccc{r}, and \ccc{s} are coplanar and + \ccc{p}, \ccc{q}, and \ccc{r} are not collinear.} \ccSeeAlso \ccRefIdfierPage{CGAL::coplanar_orientation} \\ diff --git a/Kernel_23/doc_tex/Kernel_23_ref/normal.tex b/Kernel_23/doc_tex/Kernel_23_ref/normal.tex index 0a28f5eb4c8..7926b42ad61 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/normal.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/normal.tex @@ -2,7 +2,7 @@ \ccFunction{Vector_3 normal( const Point_3& p, const Point_3& q, const Point_3& r );} {computes the normal vector for the vectors \ccc{q-p} and \ccc{r-p}. - \ccPrecond{The points \ccc{p}, \ccc{q}, and \ccc{r} must not be collinear.}} + \ccPrecond The points \ccc{p}, \ccc{q}, and \ccc{r} must not be collinear.} \end{ccRefFunction} diff --git a/Kernel_23/doc_tex/Kernel_23_ref/rational_rotation_approximation.tex b/Kernel_23/doc_tex/Kernel_23_ref/rational_rotation_approximation.tex index ec9c82a169a..4dbbcfb8bd8 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/rational_rotation_approximation.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/rational_rotation_approximation.tex @@ -15,7 +15,7 @@ rational_rotation_approximation( const RingNumberType & dirx, that \ccc{sin_num}/\ccc{denom} approximates the sine of direction $($\ccc{dirx},\ccc{diry}$)$. The difference between the sine and the approximating rational is bounded by \ccc{eps_num}/\ccc{eps_den}. -\ccPrecond{\ccc{eps_num} $\neq 0$.}} +\ccPrecond \ccc{eps_num} $\neq 0$.} \ccImplementation The approximation is based on Farey sequences as described in diff --git a/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_circle.tex b/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_circle.tex index afe4bd99629..84c40cf39d0 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_circle.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_circle.tex @@ -8,7 +8,7 @@ {returns the relative position of point \ccStyle{t} to the circle defined by $p$, $q$ and $r$. The order of the points $p$, $q$ and $r$ does not matter. - \ccPrecond{\ccStyle{p, q} and \ccStyle{r} are not collinear.}} + \ccPrecond \ccStyle{p, q} and \ccStyle{r} are not collinear.} \ccFunction{Bounded_side side_of_bounded_circle( const Point_2 &p, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_sphere.tex b/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_sphere.tex index a41dced07bc..418e1ef2956 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_sphere.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/side_of_bounded_sphere.tex @@ -9,7 +9,7 @@ {returns the relative position of point \ccStyle{t} to the sphere defined by $p$, $q$, $r$, and $s$. The order of the points $p$, $q$, $r$, and $s$ does not matter. - \ccPrecond{\ccStyle{p, q, r} and \ccStyle{s} are not coplanar.}} + \ccPrecond \ccStyle{p, q, r} and \ccStyle{s} are not coplanar.} \ccFunction{Bounded_side side_of_bounded_sphere( const Point_3 &p, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/squared_radius.tex b/Kernel_23/doc_tex/Kernel_23_ref/squared_radius.tex index a67bf66a27f..e461eb1d70b 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/squared_radius.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/squared_radius.tex @@ -5,7 +5,7 @@ squared_radius( const Point_2& p, const Point_2& q, const Point_2& r);} {compute the squared radius of the circle passing through the points - $p$, $q$, and $r$. \ccPrecond{$p$, $q$, and $r$ are not collinear.}} + $p$, $q$, and $r$. \ccPrecond $p$, $q$, and $r$ are not collinear.} \ccFunction{FT squared_radius( const Point_2& p, @@ -24,7 +24,7 @@ squared_radius( const Point_3& p, const Point_3& r, const Point_3& s);} {compute the squared radius of the sphere passing through the points $p$, - $q$, $r$ and $s$. \ccPrecond{$p$, $q$, $r$ and $s$ are not coplanar.}} + $q$, $r$ and $s$. \ccPrecond $p$, $q$, $r$ and $s$ are not coplanar.} \ccFunction{FT squared_radius( const Point_3& p, diff --git a/Kernel_23/doc_tex/Kernel_23_ref/unit_normal.tex b/Kernel_23/doc_tex/Kernel_23_ref/unit_normal.tex index 10aea4f2ca0..4245482a8b4 100644 --- a/Kernel_23/doc_tex/Kernel_23_ref/unit_normal.tex +++ b/Kernel_23/doc_tex/Kernel_23_ref/unit_normal.tex @@ -2,7 +2,7 @@ \ccFunction{Vector_3 unit_normal( const Point_3& p, const Point_3& q, const Point_3& r );} {computes the unit normal vector for the vectors \ccc{q-p} and \ccc{r-p}. - \ccPrecond{The points \ccc{p}, \ccc{q}, and \ccc{r} must not be collinear.}} + \ccPrecond The points \ccc{p}, \ccc{q}, and \ccc{r} must not be collinear.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d/introduction_d.tex b/Kernel_d/doc_tex/Kernel_d/introduction_d.tex index 2111290c8e4..63f101079ed 100644 --- a/Kernel_d/doc_tex/Kernel_d/introduction_d.tex +++ b/Kernel_d/doc_tex/Kernel_d/introduction_d.tex @@ -28,7 +28,7 @@ unexpected failures for some correct input data. There are many approaches to this problem, one of them is to compute exactly (compute so accurate that all decisions made by the algorithm are exact) which is possible in many cases but more expensive than standard -floating-point arithmetic. C.~M.~Hoffmann~\cite{h-gsm-89}, \cite{h-pargc-89} +floating-point arithmetic. C.~M.~Hoffmann~\cite{h-gsm-89,h-pargc-89} illustrates some of the problems arising in the implementation of geometric algorithms and discusses some approaches to solve them. A more recent overview is given in \cite{s-rpigc-00}. The exact diff --git a/Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex b/Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex index 6862c2457df..bd0daf32851 100644 --- a/Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex +++ b/Kernel_d/doc_tex/Kernel_d/kernel_representation_d.tex @@ -51,7 +51,7 @@ example, points have a constructor with a range of coordinates plus a common denominator (the $d+1$ homogeneous coordinates of the point). The common interfaces parameterized with a representation class allow one to develop code independent of the chosen representation. We said -"families" of models, because both families are parameterized too. +``families'' of models, because both families are parameterized too. A user can choose the number type used to represent the coordinates and the linear algebra module used to calculate the result of predicates and constructions. diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Aff_transformation_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Aff_transformation_d.tex index 17fbfb36667..54739a74602 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Aff_transformation_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Aff_transformation_d.tex @@ -37,32 +37,32 @@ transformation.} $d$-dimensional space. } \ccConstructor{Aff_transformation_d(Matrix M)}{introduces the - transformation of $d$-space specified by matrix $M$. \ccPrecond{ + transformation of $d$-space specified by matrix $M$. \ccPrecond \ccc{M} is a square matrix of dimension $d + 1$ where entries in the last row of \ccc{M} except the diagonal entry must be zero; the - diagonal entry must be non-zero.}} + diagonal entry must be non-zero.} \ccConstructor{template Aff_transformation_d(Scaling, Forward_iterator start, Forward_iterator end)}{introduces the transformation of $d$-space specified by a diagonal matrix with entries \ccc{set [start,end)} on - the diagonal (a scaling of the space). \ccPrecond{ \ccc{set - [start,end)} is a vector of dimension $d+1$.} } + the diagonal (a scaling of the space). \ccPrecond \ccc{set + [start,end)} is a vector of dimension $d+1$. } \ccConstructor{Aff_transformation_d(Translation, Vector_d v)}{introduces the translation by vector $v$. } \ccConstructor{Aff_transformation_d(int d, Scaling, RT num, RT - den)}{returns a scaling by a scale factor \ccc{num/den}. \ccPrecond{ - \ccc{den !=0 }.}} + den)}{returns a scaling by a scale factor \ccc{num/den}. \ccPrecond + \ccc{den !=0 }.} \ccConstructor{Aff_transformation_d(int d, Rotation, RT sin_num, RT cos_num, RT den, int e1 = 0, int e2 = 1)}{returns a planar rotation with sine and cosine values \ccc{sin_num/den} and \ccc{cos_num/den} in the plane spanned by the base vectors $b_{e1}$ and $b_{e2}$ in $d$-space. Thus the default use delivers a planar rotation in the - $x$-$y$ plane. \ccPrecond{ $\ccc{sin_num}^2 + \ccc{cos_num}^2 = - \ccc{den}^2$ and $0 \leq e_1 < e_2 < d$.} \ccPrecond{ \ccc{den != 0}.} + $x$-$y$ plane. \ccPrecond $\ccc{sin_num}^2 + \ccc{cos_num}^2 = + \ccc{den}^2$ and $0 \leq e_1 < e_2 < d$. \ccPrecond \ccc{den != 0} } \ccConstructor{Aff_transformation_d(int d, Rotation, Direction_d @@ -72,9 +72,9 @@ transformation.} rotation parameters are given by the $2$-dimensional direction \ccc{dir}, such that the difference between the sines and cosines of the rotation given by \ccc{dir} and the approximated rotation are at - most \ccc{num/den} each.\\ \ccPrecond{\ccc{dir.dimension()==2}, + most \ccc{num/den} each.\\ \ccPrecond \ccc{dir.dimension()==2}, \ccc{!dir.is_degenerate()} and \ccc{num < den} is positive, \ccc{den - != 0}, $0 \leq e_1 < e_2 < d$.} } + != 0}, $0 \leq e_1 < e_2 < d$. } \ccSetTwoOfThreeColumns{5cm}{3cm} @@ -86,7 +86,7 @@ transformation.} } \ccMethod{Aff_transformation_d inverse() ;}{returns the inverse - transformation. \ccPrecond{\ccc{t.matrix()} is invertible.} } + transformation. \ccPrecond \ccc{t.matrix()} is invertible. } \ccMethod{Aff_transformation_d operator*(const Aff_transformation_d& s) ;}{composition of transformations. Note diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Direction_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Direction_d.tex index 63d131797fd..4df2f28a7b3 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Direction_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Direction_d.tex @@ -47,13 +47,13 @@ are in one-to-one correspondence to points on the unit sphere. Direction_d(int d, InputIterator first, InputIterator last)}{ introduces a variable \ccc{dir} of type \ccc{Direction_d} in dimension \ccc{d} with representation tuple \ccc{set [first,last)}. - \ccPrecond{\ccc{d} is nonnegative, \ccc{[first,last)} has \ccc{d} - elements.} \ccRequire{ The value type of \ccc{InputIterator} is \ccc{RT}.}} + \ccPrecond \ccc{d} is nonnegative, \ccc{[first,last)} has \ccc{d} + elements. \ccRequire The value type of \ccc{InputIterator} is \ccc{RT}.} \ccConstructor{Direction_d(int d, Base_direction, int i)}{ returns a variable \ccc{dir} of type \ccc{Direction_d} initialized to the - direction of the $i$-th base vector of dimension $d$. \ccPrecond{ $0 - \leq i < d$.}} + direction of the $i$-th base vector of dimension $d$. \ccPrecond $0 + \leq i < d$.} \ccConstructor{Direction_d(RT x, RT y)}{ introduces a variable \ccc{dir} of type \ccc{Direction_d} in @@ -72,11 +72,11 @@ Direction_d(int d, InputIterator first, InputIterator last)}{ \ccMethod{RT delta(int i) ;}{ returns the $i$-th component of \ccc{dir}. - \ccPrecond{$0 \leq i < d$}.} + \ccPrecond $0 \leq i < d$.} \ccMethod{RT operator[](int i) ;}{ returns the $i$-th delta of \ccc{dir}. - \ccPrecond{$0 \leq i < d$.}} + \ccPrecond $0 \leq i < d$.} \ccMethod{Delta_const_iterator deltas_begin() ;}{ returns an iterator pointing to the first delta of \ccc{dir}.} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Hyperplane_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Hyperplane_d.tex index 60422a4f7a1..3e8a0298a6e 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Hyperplane_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Hyperplane_d.tex @@ -48,15 +48,15 @@ other. InputIterator first, InputIterator last, RT D)}{introduces a variable \ccc{h} of type \ccc{Hyperplane_d} initialized to the hyperplane with coefficients \ccc{set [first,last)} and \ccc{D}. - \ccPrecond{\ccc{size [first,last) == d}}. \ccRequire{ The value type of - InputIterator is \ccc{RT}. }} + \ccPrecond \ccc{size [first,last) == d}. \ccRequire The value type of + InputIterator is \ccc{RT}. } \ccConstructor{template Hyperplane_d(int d, InputIterator first, InputIterator last)}{introduces a variable \ccc{h} of type \ccc{Hyperplane_d} initialized to the hyperplane - with coefficients \ccc{set [first,last)}. \ccPrecond{\ccc{size - [first,last) == d+1}.} \ccRequire{ The value type of InputIterator - is \ccc{RT}. }} + with coefficients \ccc{set [first,last)}. \ccPrecond \ccc{size + [first,last) == d+1}. \ccRequire The value type of InputIterator + is \ccc{RT}. } \ccConstructor{template Hyperplane_d(ForwardIterator first, ForwardIterator last, @@ -64,15 +64,15 @@ other. some hyperplane that passes through the points in \ccc{set [first,last)}. If \ccc{side} is \ccc{ON_POSITIVE_SIDE} or \ccc{ON_NEGATIVE_SIDE} then \ccc{o} is on that side of the - constructed hyperplane. \ccPrecond{A hyperplane with the stated - properties must exist.} \ccRequire{ The value type of - \ccc{ForwardIterator} is \ccc{Point_d}. }} + constructed hyperplane. \ccPrecond A hyperplane with the stated + properties must exist. \ccRequire The value type of + \ccc{ForwardIterator} is \ccc{Point_d}. } \ccConstructor{Hyperplane_d(Point_d p, Direction_d dir)}{constructs the hyperplane with normal direction \ccc{dir} that passes through $p$. The direction \ccc{dir} points into the positive - side. \ccPrecond{\ccc{p.dimension()==dir.dimension()} and \ccc{dir} - is not degenerate.}} + side. \ccPrecond \ccc{p.dimension()==dir.dimension()} and \ccc{dir} + is not degenerate.} \ccConstructor{Hyperplane_d(RT a, RT b, RT c)}{introduces a variable \ccc{h} of type \ccc{Hyperplane_d} in $2$-dimensional @@ -89,10 +89,10 @@ other. \ccMethod{int dimension() ;}{returns the dimension of \ccc{h}. } \ccMethod{RT operator[](int i) ;}{returns the $i$-th coefficient of - \ccc{h}. \ccPrecond{$0 \leq i \leq d$.} } + \ccc{h}. \ccPrecond $0 \leq i \leq d$. } \ccMethod{RT coefficient(int i) ;}{returns the $i$-th coefficient of - \ccc{h}. \ccPrecond{$0 \leq i \leq d$.} } + \ccc{h}. \ccPrecond $0 \leq i \leq d$. } \ccMethod{Coefficient_const_iterator coefficients_begin() ;}{returns an iterator pointing to the first coefficient. } @@ -110,35 +110,35 @@ other. halfspace into the positive halfspace. } \ccMethod{Oriented_side oriented_side(const Point_d& p) ;}{returns - the side of the hyperplane \ccc{h} containing $p$. \ccPrecond{ - \ccc{h.dimension() == p.dimension()}.} } + the side of the hyperplane \ccc{h} containing $p$. \ccPrecond + \ccc{h.dimension() == p.dimension()}. } \ccMethod{bool has_on(const Point_d& p) ;}{returns true iff point - \ccc{p} lies on the hyperplane \ccc{h}. \ccPrecond{ - \ccc{h.dimension() == p.dimension()}.} } + \ccc{p} lies on the hyperplane \ccc{h}. \ccPrecond + \ccc{h.dimension() == p.dimension()}. } \ccMethod{bool has_on_boundary(const Point_d& p) ;}{returns true iff point \ccc{p} lies on the boundary of hyperplane \ccc{h}. - \ccPrecond{ \ccc{h.dimension() == p.dimension()}.} } + \ccPrecond \ccc{h.dimension() == p.dimension()}. } \ccMethod{bool has_on_positive_side(const Point_d& p) ;}{returns true iff point \ccc{p} lies on the positive side of hyperplane - \ccc{h}. \ccPrecond{\ccc{h.dimension() == p.dimension()}.} } + \ccc{h}. \ccPrecond \ccc{h.dimension() == p.dimension()}. } \ccMethod{bool has_on_negative_side(const Point_d& p) ;}{returns true iff point \ccc{p} lies on the negative side of hyperplane - \ccc{h}. \ccPrecond{\ccc{h.dimension() == p.dimension()}.} } + \ccc{h}. \ccPrecond \ccc{h.dimension() == p.dimension()}. } \ccMethod{Hyperplane_d transform(const Aff_transformation_d& t) - ;}{returns $t(h)$. \ccPrecond{\ccc{h.dimension() == t.dimension()}.} + ;}{returns $t(h)$. \ccPrecond \ccc{h.dimension() == t.dimension()}. } \ccHeading{Non-Member Functions} \ccFunction{bool weak_equality(const Hyperplane_d& h1, const - Hyperplane_d& h2) ;}{test for weak equality. \ccPrecond{ - \ccc{h1.dimension() == h2.dimension()}.} } + Hyperplane_d& h2) ;}{test for weak equality. \ccPrecond + \ccc{h1.dimension() == h2.dimension()}. } \ccImplementation diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Iso_box_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Iso_box_d.tex index d6f61aaa7d3..d8063b3c6f3 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Iso_box_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Iso_box_d.tex @@ -37,13 +37,13 @@ axes of the coordinate system. %% {returns $i$-th \ccHtmlNoLinksFrom{Cartesian} coordinate of %% the smallest vertex of \ccVar. %% (\ccc{min_coord(0) == xmin()}; \ccc{min_coord{2} == zmin()}) -%% \ccPrecond{ $0 \leq i \leq d$.}} +%% \ccPrecond $0 \leq i \leq d$.} %% %%\ccMethod{ Kernel::FT max_coord(int i) const;} %% {returns $i$-th \ccHtmlNoLinksFrom{Cartesian} coordinate of %% the largest vertex of \ccVar. %% (\ccc{max_coord(0) == xmax()}; \ccc{max_coord{2} == zmax()}) -%% \ccPrecond{$0 \leq i \leq d$.}} +%% \ccPrecond $0 \leq i \leq d$.} \ccPredicates diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affine_rank_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affine_rank_d.tex index 10dfdd2b172..aa32186da4f 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affine_rank_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affine_rank_d.tex @@ -6,8 +6,8 @@ A model for this must provide: \ccMemberFunction{template int operator()(ForwardIterator first, ForwardIterator last);}{computes the affine rank of the points in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects are of the same dimension.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel::Point_d}.}} + \ccPrecond The objects are of the same dimension. + \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affinely_independent_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affinely_independent_d.tex index d9f3f65cc2a..f5fb2201056 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affinely_independent_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Affinely_independent_d.tex @@ -6,8 +6,8 @@ A model for this must provide: \ccMemberFunction{template bool operator()(ForwardIterator first, ForwardIterator last);} {returns true iff the points in \ccc{A = tuple [first,last)} are affinely - independent. \ccPrecond{The objects are of the same dimension.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel::Point_d}.}} + independent. \ccPrecond The objects are of the same dimension. + \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Center_of_sphere_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Center_of_sphere_d.tex index f6edd630dde..2e02c8079e1 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Center_of_sphere_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Center_of_sphere_d.tex @@ -7,7 +7,7 @@ A model for this must provide: operator()(ForwardIterator first, ForwardIterator last);}{returns the center of the sphere spanned by the points in \ccc{A = tuple [first,last)}. \ccPrecond $A$ contains $d+1$ affinely independent - points of dimension $d$. \ccRequire{ The value type of - \ccc{ForwardIterator} is \ccc{Kernel::Point_d}.}} + points of dimension $d$. \ccRequire The value type of + \ccc{ForwardIterator} is \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Compare_lexicographically_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Compare_lexicographically_d.tex index c5f136d0ffa..1d8b25aace1 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Compare_lexicographically_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Compare_lexicographically_d.tex @@ -7,6 +7,6 @@ A model for this must provide: p, const Kernel::Point_d& q);}{Compares the Cartesian coordinates of points \ccStyle{p} and \ccStyle{q} lexicographically in ascending order of its Cartesian components \ccc{p[i]} and \ccc{q[i]} for $i = - 0,\ldots,d-1$. \ccPrecond{The objects are of the same dimension.}} + 0,\ldots,d-1$. \ccPrecond The objects are of the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Component_accessor_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Component_accessor_d.tex index 86d015e4345..ef982e8029a 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Component_accessor_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Component_accessor_d.tex @@ -7,11 +7,11 @@ A model for this must provide: the dimension of $p$.} \ccMemberFunction{ Kernel::RT homogeneous(const Kernel::Point_d& p, - int i);} {returns the ith homogeneous coordinate of $p$. \ccPrecond{ - \ccc{0 <= i <= dimension(p)}.}} + int i);} {returns the ith homogeneous coordinate of $p$. \ccPrecond + \ccc{0 <= i <= dimension(p)}.} \ccMemberFunction{ Kernel::FT cartesian(const Kernel::Point_d& p, int - i);} {returns the ith Cartesian coordinate of $p$. \ccPrecond{ - \ccc{0 <= i < dimension(p)}.}} + i);} {returns the ith Cartesian coordinate of $p$. \ccPrecond + \ccc{0 <= i < dimension(p)}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_affine_hull_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_affine_hull_d.tex index a28b99c6e63..149b5f764a5 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_affine_hull_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_affine_hull_d.tex @@ -7,8 +7,8 @@ A model for this must provide: operator()( ForwardIterator first, ForwardIterator last, const Kernel::Point_d& p); }{determines whether $p$ is contained in the affine hull of the points in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects are of the same dimension.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel::Point_d}.}} + \ccPrecond The objects are of the same dimension. + \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_linear_hull_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_linear_hull_d.tex index ea1c24db3b0..090221beab3 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_linear_hull_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_linear_hull_d.tex @@ -7,7 +7,7 @@ A model for this must provide: operator()( ForwardIterator first, ForwardIterator last, const Kernel::Vector_d& v); }{determines whether $v$ is contained in the linear hull of the vectors in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects are of the same dimension.} \ccRequire{ The - value type of \ccc{ForwardIterator} is \ccc{Kernel::Vector_d}.}} + \ccPrecond The objects are of the same dimension. \ccRequire The + value type of \ccc{ForwardIterator} is \ccc{Kernel::Vector_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_simplex_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_simplex_d.tex index 37ad5cb1e56..24268e10095 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_simplex_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Contained_in_simplex_d.tex @@ -6,9 +6,9 @@ A model for this must provide: \ccMemberFunction{template Bounded_side operator()( ForwardIterator first, ForwardIterator last, const Kernel::Point_d& p);} {determines whether $p$ is contained in the - simplex of the points in \ccc{A = tuple [first,last)}. \ccPrecond{ + simplex of the points in \ccc{A = tuple [first,last)}. \ccPrecond The objects in $A$ are of the same dimension and affinely - independent.} \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel::Point_d}.}} + independent. \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Equal_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Equal_d.tex index 161405a54be..a574aa0ec7c 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Equal_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Equal_d.tex @@ -5,7 +5,7 @@ A model for this must provide: \ccMemberFunction{bool operator()(const Kernel::Point_d&p, const Kernel::Point_d&q);} {returns true iff $p$ and $q$ are equal (as - $d$-dimensional points). \ccPrecond{\ccc{p} and \ccc{q} have the - same dimension.}} + $d$-dimensional points). \ccPrecond \ccc{p} and \ccc{q} have the + same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Has_on_positive_side_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Has_on_positive_side_d.tex index daa5bffe05e..24e864d6f9c 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Has_on_positive_side_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Has_on_positive_side_d.tex @@ -6,7 +6,7 @@ A model for this must provide: \ccMemberFunction{template bool operator()(const Kernel_object& o, const Kernel::Point_d& p); }{returns true iff $p$ is on the positive side of $o$. \ccc{Kernel_object} may be any of - \ccc{Kernel::Sphere_d}, \ccc{Kernel::Hyperplane_d}.\ccPrecond{ - \ccc{p} and \ccc{o} have the same dimension.}} + \ccc{Kernel::Sphere_d}, \ccc{Kernel::Hyperplane_d}.\ccPrecond + \ccc{p} and \ccc{o} have the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Intersect_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Intersect_d.tex index 0260da36f4b..7e77f8e663d 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Intersect_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Intersect_d.tex @@ -8,7 +8,7 @@ A model for this must provide: {returns the result of the intersection of $p$ and $q$ in form of a polymorphic object. \ccc{Kernel_object} may be any of \ccc{Kernel::Segment_d}, \ccc{Kernel::Ray_d}, \ccc{Kernel::Line_d}, - \ccc{Kernel::Hyperplane_d}. \ccPrecond{\ccc{p} and \ccc{q} have the - same dimension.}} + \ccc{Kernel::Hyperplane_d}. \ccPrecond \ccc{p} and \ccc{q} have the + same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_coordinate_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_coordinate_d.tex index 9bf6dccd952..b47f0e2b256 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_coordinate_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_coordinate_d.tex @@ -5,9 +5,9 @@ A model for this must provide: \ccMemberFunction{ bool operator()(const Kernel::Point_d& p,const Kernel::Point_d& - q, int i);} {returns \ccc{true} iff the $i$th Cartesian coordinate + q, int i);} {returns \ccc{true} iff the $i$th cartesian coordinate of \ccc{p} is - smaller than the $i$th Cartesian coordinate of \ccc{q}. \ccPrecond{\ccc{p} and \ccc{q} have - the same dimension.}} + smaller than the $i$th cartesian coordinate of \ccc{q}. \ccPrecond \ccc{p} and \ccc{q} have + the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_lexicographically_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_lexicographically_d.tex index 64aaf1d10b1..d44551f48b0 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_lexicographically_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_lexicographically_d.tex @@ -6,7 +6,7 @@ A model for this must provide: \ccMemberFunction{bool operator()(const Kernel::Point_d&p, const Kernel::Point_d&q);} {returns \ccc{true} iff \ccc{p} is lexicographically smaller than \ccc{q} with respect to Cartesian - lexicographic order of points. \ccPrecond{\ccc{p} and \ccc{q} have - the same dimension.}} + lexicographic order of points. \ccPrecond \ccc{p} and \ccc{q} have + the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_or_equal_lexicographically_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_or_equal_lexicographically_d.tex index 39464558384..7e6466cda2b 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_or_equal_lexicographically_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Less_or_equal_lexicographically_d.tex @@ -6,7 +6,7 @@ A model for this must provide: \ccMemberFunction{bool operator()(const Kernel::Point_d& p, const Kernel::Point_d& q);} {returns \ccc{true} iff $p$ is lexicographically smaller than $q$ with respect to Cartesian - lexicographic order of points or equal to $q$. \ccPrecond{\ccc{p} - and \ccc{q} have the same dimension.}} + lexicographic order of points or equal to $q$. \ccPrecond \ccc{p} + and \ccc{q} have the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_base_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_base_d.tex index ea61befb587..ad8b52289c6 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_base_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_base_d.tex @@ -7,9 +7,9 @@ A model for this must provide: OutputIterator result); }{computes a basis of the linear space spanned by the vectors in \ccc{A = tuple [first,last)} and returns it via an iterator range starting in \ccc{result}. The returned - iterator marks the end of the output. \ccPrecond{$A$ contains - vectors of the same dimension $d$.} \ccRequire{ The value type of + iterator marks the end of the output. \ccPrecond $A$ contains + vectors of the same dimension $d$. \ccRequire The value type of \ccc{ForwardIterator} and \ccc{OutputIterator} is - \ccc{Kernel::Vector_d}.}} + \ccc{Kernel::Vector_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_rank_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_rank_d.tex index 3652ef5353d..14eb244c883 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_rank_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linear_rank_d.tex @@ -6,9 +6,8 @@ A model for this must provide: \ccMemberFunction{template int operator()(ForwardIterator first, ForwardIterator last);} {computes the linear rank of the vectors in \ccc{A = tuple [first,last)}. - \ccPrecond{$A$ contains vectors of the same dimension - $d$.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel::Vector_d}.}} + \ccPrecond \ccPrecond $A$ contains vectors of the same dimension + $d$. \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel::Vector_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linearly_independent_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linearly_independent_d.tex index e9926ded07c..650888dbcb4 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linearly_independent_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Linearly_independent_d.tex @@ -6,8 +6,8 @@ A model for this must provide: \ccMemberFunction{template bool operator()(ForwardIterator first, ForwardIterator last);} {decides whether the vectors in \ccc{A = tuple [first,last)} are linearly - independent. \ccPrecond{The objects in \ccc{A} are of the same - dimension.} \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel_d::Vector_d}.}} + independent. \ccPrecond The objects in \ccc{A} are of the same + dimension. \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel_d::Vector_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Midpoint_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Midpoint_d.tex index 4b0e2248dc5..ca1710a3942 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Midpoint_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Midpoint_d.tex @@ -5,6 +5,6 @@ A model for this must provide: \ccMemberFunction{ Kernel::Point_d operator()(const Kernel::Point_d& p, const Kernel::Point_d& q);} {computes the midpoint of the segment - $pq$.\ccPrecond{\ccc{p} and \ccc{q} have the same dimension.}} + $pq$.\ccPrecond \ccc{p} and \ccc{q} have the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Orientation_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Orientation_d.tex index 5a865bd9a39..1a712d87220 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Orientation_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Orientation_d.tex @@ -14,9 +14,9 @@ Orientation operator()(ForwardIterator first, ForwardIterator last);} \end{array} \right| \] where \ccc{A[i]} denotes the Cartesian coordinate vector of the $i$-th point in $A$. - \ccPrecond{\ccc{size [first,last) == d+1} and - \ccc{A[i].dimension() == d} $\forall 0 \leq i \leq d$.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Kernel::Point_d}. }} + \ccPrecond \ccc{size [first,last) == d+1} and + \ccc{A[i].dimension() == d} $\forall 0 \leq i \leq d$. + \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Kernel::Point_d}. } \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Oriented_side_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Oriented_side_d.tex index 8abfa1ff28d..25c0c02ce36 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Oriented_side_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Oriented_side_d.tex @@ -7,6 +7,6 @@ A model for this must provide: operator()(const Kernel_object& o, const Kernel::Point_d& p); }{returns the side of $p$ with respect to $o$. \ccc{Kernel_object} may be any of \ccc{Kernel::Sphere_d} or \ccc{Kernel::Hyperplane_d}. - \ccPrecond{\ccc{p} and \ccc{o} have the same dimension.}} + \ccPrecond \ccc{p} and \ccc{o} have the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Point_dimension_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Point_dimension_d.tex index 14a66811bc1..29b8b175a19 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Point_dimension_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Point_dimension_d.tex @@ -4,6 +4,6 @@ A model for this must provide: \ccCreationVariable{fo} \ccMemberFunction{ int operator()(const Kernel::Point_d& - p);} {returns the dimension of $p$.} + p);} {returns the dimension of $p$} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_bounded_sphere_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_bounded_sphere_d.tex index 17a3ff20e24..77c43c810f6 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_bounded_sphere_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_bounded_sphere_d.tex @@ -7,8 +7,8 @@ A model for this must provide: operator()( ForwardIterator first, ForwardIterator last, const Kernel::Point_d& p); }{returns the relative position of point \ccc{p} to the sphere defined by \ccc{A = tuple [first,last)}. The - order of the points of $A$ does not matter. \ccPrecond{ - \ccc{orientation(first,last)} is not \ccc{ZERO}.} \ccRequire{ The - value type of \ccc{ForwardIterator} is \ccc{Kernel::Point_d}.}} + order of the points of $A$ does not matter. \ccPrecond + \ccc{orientation(first,last)} is not \ccc{ZERO}. \ccRequire The + value type of \ccc{ForwardIterator} is \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_oriented_sphere_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_oriented_sphere_d.tex index 3654fe2af4f..d445d67bf64 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_oriented_sphere_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Side_of_oriented_sphere_d.tex @@ -10,8 +10,8 @@ A model for this must provide: tuple [first,last)} The order of the points in $A$ is important, since it determines the orientation of the implicitly constructed sphere. If the points in $A$ are positively oriented, the positive - side is the bounded interior of the sphere. \ccPrecond{\ccStyle{A} - contains $d+1$ points in $d$-space.} \ccRequire{ The value type of - \ccc{ForwardIterator} is \ccc{Kernel::Point_d}.}} + side is the bounded interior of the sphere. \ccPrecond \ccStyle{A} + contains $d+1$ points in $d$-space. \ccRequire The value type of + \ccc{ForwardIterator} is \ccc{Kernel::Point_d}.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Squared_distance_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Squared_distance_d.tex index c498e66c1e6..f5a0767f268 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Squared_distance_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Squared_distance_d.tex @@ -5,7 +5,7 @@ A model for this must provide: \ccMemberFunction{ Kernel::FT operator()(const Kernel::Point_d& p, const Kernel::Point_d& q); }{computes the square of the Euclidean - distance between the two points $p$ and $q$. \ccPrecond{The - dimensions of $p$ and $q$ are the same.}} + distance between the two points $p$ and $q$. \ccPrecond The + dimensions of $p$ and $q$ are the same.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Value_at_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Value_at_d.tex index 7f76e328c60..850d17eedf4 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Value_at_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Kernel_Value_at_d.tex @@ -5,6 +5,6 @@ A model for this must provide: \ccMemberFunction{ Kernel::FT operator()(const Kernel::Hyperplane_d& h, const Kernel::Point_d& p);} {computes the value of $h$ evaluated - at $p$. \ccPrecond{\ccc{p} and \ccc{h} have the same dimension.}} + at $p$. \ccPrecond \ccc{p} and \ccc{h} have the same dimension.} \end{ccRefFunctionObjectConcept} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Line_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Line_d.tex index 57258e5cdd0..8efe11015f4 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Line_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Line_d.tex @@ -33,18 +33,18 @@ type \ccc{Line_d}.} \ccConstructor{Line_d(Point_d p, Point_d q)}{introduces a line through \ccc{p} and \ccc{q} and oriented from \ccc{p} to -\ccc{q}. \ccPrecond{$p$ and $q$ are distinct and have the same -dimension.}} +\ccc{q}. \ccPrecond $p$ and $q$ are distinct and have the same +dimension.} \ccConstructor{Line_d(Point_d p, Direction_d dir)}{introduces -a line through \ccc{p} with direction \ccc{dir}. \ccPrecond{ -\ccc{p.dimension()==dir.dimension()}, \ccc{dir} is not degenerate.}} +a line through \ccc{p} with direction \ccc{dir}. \ccPrecond +\ccc{p.dimension()==dir.dimension()}, \ccc{dir} is not degenerate.} \ccConstructor{Line_d(Segment_d s)}{introduces a variable \ccc{l} of type \ccc{Line_d} and initializes it to the line through \ccc{s.source()} and \ccc{s.target()} with direction from -\ccc{s.source()} to \ccc{s.target()}. \ccPrecond{ $s$ is not -degenerate.} } +\ccc{s.source()} to \ccc{s.target()}. \ccPrecond $s$ is not +degenerate. } \ccConstructor{Line_d(Ray_d r)}{introduces a variable \ccc{l} of type \ccc{Line_d} and initializes it to the line through @@ -69,31 +69,31 @@ space.} \ccc{l}. } \ccMethod{Line_d transform(const Aff_transformation_d & -t);}{returns $t(l)$. \ccPrecond{\ccc{l.dimension()==t.dimension()}.} } +t);}{returns $t(l)$. \ccPrecond \ccc{l.dimension()==t.dimension()}. } \ccMethod{Line_d operator+(const Vector_d& v);}{returns \ccc{l+v}, i.e., \ccc{l} translated by vector $v$. -\ccPrecond{\ccc{l.dimension()==v.dimension()}.} } +\ccPrecond \ccc{l.dimension()==v.dimension()}. } \ccMethod{Point_d projection(const Point_d& p) ;}{returns the point of intersection of \ccc{l} with the hyperplane that is -orthogonal to \ccc{l} and that contains \ccc{p}. \ccPrecond{ -\ccc{l.dimension()==p.dimension()}.} } +orthogonal to \ccc{l} and that contains \ccc{p}. \ccPrecond +\ccc{l.dimension()==p.dimension()}. } \ccMethod{bool has_on(const Point_d& p) ;}{returns true if $p$ lies -on \ccc{l} and false otherwise. \ccPrecond{ -\ccc{l.dimension()==p.dimension()}.} } +on \ccc{l} and false otherwise. \ccPrecond +\ccc{l.dimension()==p.dimension()}. } \ccHeading{Non-Member Functions} \ccFunction{bool weak_equality(const Line_d& l1, const Line_d& -l2) ;}{Test for equality as unoriented lines.\ccPrecond{ -\ccc{l1.dimension()==l2.dimension()}.} } +l2) ;}{Test for equality as unoriented lines.\ccPrecond +\ccc{l1.dimension()==l2.dimension()}. } \ccFunction{bool parallel(const Line_d& l1, const Line_d& l2) ;}{returns true if \ccc{l1} and \ccc{l2} are parallel as unoriented -lines and false otherwise. \ccPrecond{ -\ccc{l1.dimension()==l2.dimension()}.}} +lines and false otherwise. \ccPrecond +\ccc{l1.dimension()==l2.dimension()}.} \ccImplementation diff --git a/Kernel_d/doc_tex/Kernel_d_ref/LinearAlgebraTraits_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/LinearAlgebraTraits_d.tex index b30ca25720c..6ab18c1f465 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/LinearAlgebraTraits_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/LinearAlgebraTraits_d.tex @@ -32,12 +32,12 @@ matrix). } Vector& c);}{determines whether \ccc{M} has an inverse. It also computes either the inverse as $(1/D) \cdot \ccc{I}$ or when no inverse exists, a vector $c$ such that $c^T \cdot M = 0 $. - \ccPrecond{ $M$ is square.} } + \ccPrecond $M$ is square. } \ccMethod{static Matrix inverse(const Matrix& M, NT& D) ;}{returns the inverse matrix of \ccc{M}. More precisely, $1/D$ times the matrix - returned is the inverse of \ccc{M}.\\ \ccPrecond{\ccc{determinant(M) - != 0}.} \ccPrecond{ $M$ is square.} } + returned is the inverse of \ccc{M}.\\ \ccPrecond \ccc{determinant(M) + != 0}. \ccPrecond $M$ is square. } \ccMethod{static NT determinant (const Matrix& M, Matrix& L, Matrix& U, std::vector& q, Vector& c);} {returns the determinant $D$ of @@ -48,19 +48,19 @@ matrix). } and $q$ encodes a permutation matrix $Q$ with $Q(i,j) = 1$ iff $i = q(j)$ such that $L \cdot M \cdot Q = U$, $L(0,0) = 1$, $L(i,i) = U(i - 1,i - 1)$ for all $i$, $1 \le i < n$, and $D = s \cdot U(n - 1,n - - 1)$ where $s$ is the determinant of $Q$. \ccPrecond{\ccc{M} is - square.}} + 1)$ where $s$ is the determinant of $Q$. \ccPrecond \ccc{M} is + square.} \ccMethod{static bool verify_determinant (const Matrix& M, NT D, Matrix& L, Matrix& U, const std::vector& q, Vector& c);}{verifies the conditions stated above.} \ccMethod{static NT determinant (const Matrix& M);}{returns the - determinant of \ccc{M}. \ccPrecond{\ccc{M} is square.}} + determinant of \ccc{M}. \ccPrecond \ccc{M} is square.} \ccMethod{static int sign_of_determinant (const Matrix& M);}{returns - the sign of the determinant of \ccc{M}. \ccPrecond{\ccc{M} is - square.}} + the sign of the determinant of \ccc{M}. \ccPrecond \ccc{M} is + square.} \ccMethod{static bool linear_solver(const Matrix& M, const Vector& b, Vector& x, NT& D, Matrix& spanning_vectors, Vector& c);}{ determines @@ -69,21 +69,21 @@ matrix). } \not= 0$. If the system is solvable then $(1/D) x$ is a solution, and the columns of \ccc{spanning_vectors} are a maximal set of linearly independent solutions to the corresponding homogeneous - system. \ccPrecond{\ccc{M.row_dimension() = b.dimension()}.} } + system. \ccPrecond \ccc{M.row_dimension() = b.dimension()}. } \ccMethod{static bool linear_solver(const Matrix& M, const Vector& b, Vector& x, NT& D, Vector& c) ;}{ determines whether the linear system $M\cdot x = b$ is solvable. If yes, then $(1/D) x$ is a solution, if not then $c^T \cdot M = 0$ and $c^T \cdot b \not= 0$. - \ccPrecond{\ccc{M.row_dimension() = b.dimension()}.} } + \ccPrecond \ccc{M.row_dimension() = b.dimension()}. } \ccMethod{static bool linear_solver(const Matrix& M, const Vector& b, Vector& x, NT& D) ;}{ as above, but without the witness $c$ - \ccPrecond{\ccc{M.row_dimension() = b.dimension()}.} } + \ccPrecond \ccc{M.row_dimension() = b.dimension()}. } \ccMethod{static bool is_solvable(const Matrix& M, const Vector& b) ;}{ determines whether the system $M \cdot x = b$ is solvable \\ - \ccPrecond{\ccc{M.row_dimension() = b.dimension()}.} } + \ccPrecond \ccc{M.row_dimension() = b.dimension()}. } \ccMethod{static bool homogeneous_linear_solver (const Matrix& M, Vector& x);}{determines whether the homogeneous linear system diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Matrix.tex b/Kernel_d/doc_tex/Kernel_d_ref/Matrix.tex index 975b1a57015..e1e4db70eec 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Matrix.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Matrix.tex @@ -63,11 +63,10 @@ Matrix(Forward_iterator first, Forward_iterator last)}{creates an instance \ccc{M} of type \ccc{Matrix}. Let $S$ be the ordered set of $n$ column-vectors of common dimension $m$ as given by the iterator range \ccc{[first,last)}. \ccc{M} is initialized to an $m \times n$ -matrix with the columns as specified by $S$. \ccPrecond{ +matrix with the columns as specified by $S$. \ccPrecond \ccc{Forward_iterator} has a value type \ccc{V} from which we require to provide a iterator type \ccc{V::const_iterator}, to have -\ccc{V::value_type == NT}.} - Note that \ccc{Vector} or +\ccc{V::value_type == NT}.\\ Note that \ccc{Vector} or \ccc{std::vector} fulfill these requirements. } \ccConstructor{Matrix(std::vector< Vector > A)}{creates an instance @@ -89,34 +88,34 @@ of \ccc{M}. } dimension pair of \ccc{M}. } \ccMethod{Vector row(int i) ;}{returns the $i$-th row of \ccc{M} (an -$m$ - vector). \ccPrecond{$0 \le i \le m - 1$.} } +$m$ - vector). \ccPrecond $0 \le i \le m - 1$. } \ccMethod{Vector column(int i) ;}{returns the $i$-th column of \ccc{M} -(an $n$ - vector). \ccPrecond{$0 \le i \le n - 1$.} } +(an $n$ - vector). \ccPrecond $0 \le i \le n - 1$. } \ccMethod{NT& operator()(int i, int j) ;}{returns $M_{i,j}$. -\ccPrecond{$0\le i\le m-1$ and $0\le j\le n-1$.}} +\ccPrecond $0\le i\le m-1$ and $0\le j\le n-1$.} \ccMethod{void swap_rows(int i, int j) ;}{swaps rows $i$ and $j$. -\ccPrecond{$0\le i\le m-1$ and $0\le j\le m-1$}. +\ccPrecond $0\le i\le m-1$ and $0\le j\le m-1$. } \ccMethod{void swap_columns(int i, int j) ;}{swaps columns $i$ and -$j$. \ccPrecond{$0\le i\le n-1$ and $0\le j\le n-1$.} } +$j$. \ccPrecond $0\le i\le n-1$ and $0\le j\le n-1$. } \ccMethod{row_iterator row_begin(int i) ;}{an iterator pointing to the -first entry of the $i$th row. \ccPrecond{$0\le i\le m-1$.} } +first entry of the $i$th row. \ccPrecond $0\le i\le m-1$. } \ccMethod{row_iterator row_end(int i) ;}{an iterator pointing beyond -the last entry of the $i$th row. \ccPrecond{$0\le i\le m-1$.} } +the last entry of the $i$th row. \ccPrecond $0\le i\le m-1$. } \ccMethod{column_iterator column_begin(int i) ;}{an iterator pointing -to the first entry of the $i$th column. \ccPrecond{$0\le i\le n-1$.} +to the first entry of the $i$th column. \ccPrecond $0\le i\le n-1$. } \ccMethod{column_iterator column_end(int i) ;}{an iterator pointing -beyond the last entry of the $i$th column. \ccPrecond{$0\le i\le -n-1$.}} +beyond the last entry of the $i$th column. \ccPrecond $0\le i\le +n-1$.} \ccMethod{iterator begin();}{an iterator pointing to the first entry of $M$.} @@ -140,20 +139,20 @@ The same operations exist for \ccc{row_const_iterator}, \ccc{M.column_dimension() == M1.column_dimension()}} -\ccMethod{Matrix operator+ (const Matrix& M1);}{ Addition. \ccPrecond{ - \dimeq.}} +\ccMethod{Matrix operator+ (const Matrix& M1);}{ Addition. \ccPrecond + \dimeq.} \ccMethod{Matrix operator- (const Matrix& M1);}{ - Subtraction. \ccPrecond{ \dimeq.}} + Subtraction. \ccPrecond \dimeq.} \ccMethod{Matrix operator-();}{Negation.} \ccMethod{Matrix operator*(const Matrix& M1) -;}{Multiplication. \ccPrecond{\ccc{M.column_dimension() = -M1.row_dimension()}.} } +;}{Multiplication. \ccPrecond \\ \ccc{M.column_dimension() = +M1.row_dimension()}. } \ccMethod{Vector operator*(const Vector& vec) ;}{Multiplication with -vector. \ccPrecond{\ccc{M.column_dimension() = vec.dimension()}.} } +vector. \ccPrecond \\ \ccc{M.column_dimension() = vec.dimension()}. } \ccFunction{Matrix operator*(const NT& x, const Matrix& M) ;}{Multiplication of every entry with \ccc{x}. } diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Point_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Point_d.tex index 501066ce9ac..faaf5c6c7cf 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Point_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Point_d.tex @@ -48,10 +48,10 @@ the dimension of the point. \ccc{set [first,last)}. If \ccc{size [first,last) == d+1} the range specifies the homogeneous coordinates $\ccc{H = set [first,last)} = (\pm h_0, \pm h_1, \ldots, \pm h_d)$ where the sign chosen is the - sign of $h_d$. \ccPrecond{\ccc{d} is nonnegative, + sign of $h_d$. \ccPrecond \ccc{d} is nonnegative, \ccc{[first,last)} has \ccc{d} or \ccc{d+1} elements where the last - has to be non-zero.} \ccRequire{ The value type of \ccc{InputIterator} - is \ccc{RT}. }} + has to be non-zero. \ccRequire The value type of \ccc{InputIterator} + is \ccc{RT}. } \ccConstructor{template Point_d(int d, InputIterator first, InputIterator last, RT D)}{introduces a @@ -59,17 +59,17 @@ the dimension of the point. initialized to the point with homogeneous coordinates as defined by \ccc{H = set [first,last)} and \ccc{D}: $(\pm \ccc{H[0]}, \pm\ccc{H[1]}, \ldots, \pm\ccc{H[d-1]}, \pm\ccc{D})$. The sign - chosen is the sign of $D$. \ccPrecond{\ccc{D} is non-zero, the - iterator range defines a $d$-tuple of \ccc{RT}.} \ccRequire{ The - value type of \ccc{InputIterator} is \ccc{RT}.}} + chosen is the sign of $D$. \ccPrecond \ccc{D} is non-zero, the + iterator range defines a $d$-tuple of \ccc{RT}. \ccRequire The + value type of \ccc{InputIterator} is \ccc{RT}.} \ccConstructor{Point_d(RT x, RT y, RT w = 1)}{introduces a variable \ccc{p} of type \ccc{Point_d} in $2$-dimensional space. - \ccPrecond{$w \neq 0$.}} + \ccPrecond $w \neq 0$.} \ccConstructor{Point_d(RT x, RT y, RT z, RT w)}{introduces a variable \ccc{p} of type \ccc{Point_d} in $3$-dimensional -space. \ccPrecond{$w \neq 0$.} } +space. \ccPrecond $w \neq 0$. } \ccSetTwoOfThreeColumns{4cm}{3cm} @@ -79,13 +79,13 @@ space. \ccPrecond{$w \neq 0$.} } } \ccMethod{FT cartesian(int i) ;}{returns the $i$-th Cartesian - coordinate of \ccc{p}. \ccPrecond{$0 \leq i < d$.} } + coordinate of \ccc{p}. \ccPrecond $0 \leq i < d$. } \ccMethod{FT operator[](int i) ;}{returns the $i$-th Cartesian - coordinate of \ccc{p}. \ccPrecond{$0 \leq i < d$.} } + coordinate of \ccc{p}. \ccPrecond $0 \leq i < d$. } \ccMethod{RT homogeneous(int i) ;}{returns the $i$-th homogeneous - coordinate of \ccc{p}. \ccPrecond{$0 \leq i \leq d$.} } + coordinate of \ccc{p}. \ccPrecond $0 \leq i \leq d$. } \ccMethod{Cartesian_const_iterator cartesian_begin() ;}{returns an iterator pointing to the zeroth Cartesian coordinate $p_0$ of @@ -112,20 +112,20 @@ space. \ccPrecond{$w \neq 0$.} } vector $p-O$. } \ccMethod{Vector_d operator-(const Point_d& q) ;}{returns $p - -q$. \ccPrecond{\ccc{p.dimension() == q.dimension()}.} } +q$. \ccPrecond \ccc{p.dimension() == q.dimension()}. } \ccMethod{Point_d operator+(const Vector_d& v) ;}{returns $p + -v$. \ccPrecond{\ccc{p.dimension() == v.dimension()}.} } +v$. \ccPrecond \ccc{p.dimension() == v.dimension()}. } \ccMethod{Point_d operator-(const Vector_d& v) ;}{returns $p - -v$. \ccPrecond{\ccc{p.dimension() == v.dimension()}.} } +v$. \ccPrecond \ccc{p.dimension() == v.dimension()}. } \ccMethod{Point_d& operator+=(const Vector_d& v);}{adds \ccc{v} -to \ccc{p}. \ccPrecond{\ccc{p.dimension() == v.dimension()}.} } +to \ccc{p}.\\ \ccPrecond \ccc{p.dimension() == v.dimension()}. } \ccMethod{Point_d& operator-=(const Vector_d& v);}{subtracts -\ccc{v} from \ccc{p}. \ccPrecond{\ccc{p.dimension() == -v.dimension()}.} } +\ccc{v} from \ccc{p}.\\ \ccPrecond \ccc{p.dimension() == +v.dimension()}. } \ccMethod{bool operator==(const Origin&) ;}{returns true if \ccc{p} is the origin. } diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Ray_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Ray_d.tex index 480c67669bf..b0a4d62ad8d 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Ray_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Ray_d.tex @@ -33,18 +33,18 @@ it goes to infinity. $d$-dimensional space.} \ccConstructor{Ray_d(Point_d p, Point_d q)}{introduces a ray -through \ccc{p} and \ccc{q} and starting at \ccc{p}. \ccPrecond{$p$ -and $q$ are distinct and have the same dimension.} \ccPrecond{ -\ccc{p.dimension()==q.dimension()}.} } +through \ccc{p} and \ccc{q} and starting at \ccc{p}. \ccPrecond $p$ +and $q$ are distinct and have the same dimension. \ccPrecond +\ccc{p.dimension()==q.dimension()}. } \ccConstructor{Ray_d(Point_d p, Direction_d dir)}{introduces -a ray starting in \ccc{p} with direction \ccc{dir}. \ccPrecond{ +a ray starting in \ccc{p} with direction \ccc{dir}. \ccPrecond \ccc{p} and \ccc{dir} have the same dimension and \ccc{dir} is not -degenerate.} \ccPrecond{\ccc{p.dimension()==dir.dimension()}.} } +degenerate. \ccPrecond \ccc{p.dimension()==dir.dimension()}. } \ccConstructor{Ray_d(Segment_d s)}{introduces a ray through \ccc{s.source()} and \ccc{s.target()} and starting at -\ccc{s.source()}. \ccPrecond{$s$ is not degenerate.} } +\ccc{s.source()}. \ccPrecond $s$ is not degenerate. } \ccSetTwoOfThreeColumns{3cm}{3cm} @@ -58,7 +58,7 @@ space.} \ccMethod{Point_d point(int i) ;}{returns a point on \ccc{r}. \ccc{point(0)} is the source. \ccc{point(i)}, with $i>0$, is -different from the source. \ccPrecond{$i \geq 0$.} } +different from the source. \ccPrecond $i \geq 0$. } \ccMethod{Direction_d direction() ;}{returns the direction of \ccc{r}. } @@ -70,22 +70,22 @@ of \ccc{r}. } opposite to \ccc{r} and starting in \ccc{source}. } \ccMethod{Ray_d transform(const Aff_transformation_d& t) -;}{returns $t(r)$. \ccPrecond{\ccc{r.dimension()==t.dimension()}.} } +;}{returns $t(r)$. \ccPrecond \ccc{r.dimension()==t.dimension()}. } \ccMethod{Ray_d operator+(const Vector_d& v) ;}{returns -\ccc{r+v}, i.e., \ccc{r} translated by vector $v$. \ccPrecond{ -\ccc{r.dimension()==v.dimension()}.} } +\ccc{r+v}, i.e., \ccc{r} translated by vector $v$. \ccPrecond +\ccc{r.dimension()==v.dimension()}. } \ccMethod{bool has_on(const Point_d& p) ;}{A point is on \ccc{r}, iff it is equal to the source of \ccc{r}, or if it is in the interior -of \ccc{r}. \ccPrecond{\ccc{r.dimension()==p.dimension()}.} } +of \ccc{r}. \ccPrecond \ccc{r.dimension()==p.dimension()}. } \ccHeading{Non-Member Functions} \ccFunction{bool parallel(const Ray_d& r1, const Ray_d& r2) ;}{returns true if the unoriented supporting lines of \ccc{r1} and -\ccc{r2} are parallel and false otherwise. \ccPrecond{ -\ccc{r1.dimension()==r2.dimension()}.} } +\ccc{r2} are parallel and false otherwise. \ccPrecond +\ccc{r1.dimension()==r2.dimension()}. } \ccImplementation diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Segment_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Segment_d.tex index e6d6251ce00..dca0e94dc5a 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Segment_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Segment_d.tex @@ -32,11 +32,11 @@ of type \ccc{Segment_d}.} \ccConstructor{Segment_d(Point_d p, Point_d q)}{introduces a variable \ccc{s} of type \ccc{Segment_d} which is initialized to -the segment $(p,q)$. \ccPrecond{\ccc{p.dimension()==q.dimension()}.} } +the segment $(p,q)$. \ccPrecond \ccc{p.dimension()==q.dimension()}. } \ccConstructor{Segment_d(Point_d p, Vector_d v)}{introduces a variable \ccc{s} of type \ccc{Segment_d} which is initialized to -the segment \ccc{(p,p+v)}. \ccPrecond{\ccc{p.dimension()==v.dimension()}.} } +the segment \ccc{(p,p+v)}. \ccPrecond \ccc{p.dimension()==v.dimension()}. } \ccSetTwoOfThreeColumns{3cm}{3cm} @@ -54,7 +54,7 @@ space.} \ccMethod{Point_d vertex(int i) ;}{returns source or target of \ccc{s}: \ccc{vertex(0)} returns the source, \ccc{vertex(1)} returns the target. The parameter $i$ is taken modulo $2$, which gives easy -access to the other vertex. \ccPrecond{$i \geq 0$.} } +access to the other vertex. \ccPrecond $i \geq 0$. } \ccMethod{Point_d point(int i) ;}{returns \ccc{vertex(i)}. } @@ -70,7 +70,7 @@ vertex. } \ccc{(target(),source())}. } \ccMethod{Direction_d direction() ;}{returns the direction from -source to target. \ccPrecond{\ccc{s} is non-degenerate.} } +source to target. \ccPrecond \ccc{s} is non-degenerate. } \ccMethod{Vector_d vector() ;}{returns the vector from source to target.} @@ -83,10 +83,10 @@ on \ccc{s} and false otherwise. \ccPrecond \ccc{s.dimension()==p.dimension()}. } \ccMethod{ Line_d supporting_line() ;}{returns the supporting line -of \ccc{s}. \ccPrecond{\ccc{s} is non-degenerate.} } +of \ccc{s}. \ccPrecond \ccc{s} is non-degenerate. } \ccMethod{Segment_d transform(const Aff_transformation_d& t) -;}{returns $t(s)$. \ccPrecond{\ccc{s.dimension()==t.dimension()}.} } +;}{returns $t(s)$. \ccPrecond \ccc{s.dimension()==t.dimension()}. } \ccMethod{Segment_d operator+(const Vector_d& v) ;}{returns $s+v$, i.e., \ccc{s} translated by vector $v$. \ccPrecond @@ -99,7 +99,7 @@ degenerate i.e. \ccc{s.source()=s.target()}. } \ccFunction{bool weak_equality(const Segment_d& s1, const Segment_d& s2) ;}{Test for equality as unoriented -segments. \ccPrecond{\ccc{s1.dimension()==s2.dimension()}.}} +segments. \ccPrecond \ccc{s1.dimension()==s2.dimension()}.} \ccFunction{bool parallel(const Segment_d& s1, const Segment_d& s2) ;}{return true if one of the segments is degenerate or if the diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Sphere_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Sphere_d.tex index 547fda1225d..cbe4f551e82 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Sphere_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Sphere_d.tex @@ -41,7 +41,7 @@ ForwardIterator first, ForwardIterator last)}{introduces a variable \ccc{S} of type \ccc{Sphere_d}. \ccc{S} is initialized to the sphere through the points in \ccc{A = tuple [first,last)}. \ccPrecond $A$ consists of $d+1$ $d$-dimensional points. -\ccRequire{ The value type of ForwardIterator is \ccc{Point_d}. }} +\ccRequire The value type of ForwardIterator is \ccc{Point_d}. } \ccSetTwoOfThreeColumns{2.5cm}{2cm} @@ -50,7 +50,7 @@ $A$ consists of $d+1$ $d$-dimensional points. \ccMethod{int dimension();}{returns the dimension of the ambient space.} \ccMethod{Point_d point(int i) ;}{returns the $i$th defining -point. \ccPrecond{$0 \le i \le \ccc{dim}$.} } +point. \ccPrecond $0 \le i \le \ccc{dim}$. } \ccMethod{point_iterator points_begin() ;}{returns an iterator pointing to the first defining point. } @@ -66,10 +66,10 @@ point. \ccPrecond{$0 \le i \le \ccc{dim}$.} } orientation is non-zero or if they are all equal.} \ccMethod{Point_d center() ;}{returns the center of \ccc{S}. - \ccPrecond{\ccc{S} is legal.} } + \ccPrecond \ccc{S} is legal. } \ccMethod{FT squared_radius() ;}{returns the squared radius of the - sphere. \ccPrecond{\ccc{S} is legal.}} + sphere. \ccPrecond \ccc{S} is legal.} \ccMethod{Orientation orientation() ;}{returns the orientation of \ccc{S}.} @@ -78,13 +78,13 @@ point. \ccPrecond{$0 \le i \le \ccc{dim}$.} } either the constant \ccc{ON_ORIENTED_BOUNDARY}, \ccc{ON_POSITIVE_SIDE}, or \ccc{ON_NEGATIVE_SIDE}, iff p lies on the boundary, properly on the positive side, or properly on the negative - side of sphere, resp. \ccPrecond{\ccc{S.dimension()==p.dimension()}}. + side of sphere, resp. \ccPrecond \ccc{S.dimension()==p.dimension()}. } \ccMethod{Bounded_side bounded_side(const Point_d& p) ;}{returns \ccc{ON_BOUNDED_SIDE}, \ccc{ON_BOUNDARY}, or \ccc{ON_UNBOUNDED_SIDE} iff p lies properly inside, on the boundary, or properly outside of - sphere, resp. \ccPrecond{\ccc{S.dimension()==p.dimension()}.} } + sphere, resp. \ccPrecond \ccc{S.dimension()==p.dimension()}. } \ccMethod{bool has_on_positive_side (const Point_d& p) ;}{returns \ccc{S.oriented_side(p)==ON_POSITIVE_SIDE}. \ccPrecond @@ -112,7 +112,7 @@ point. \ccPrecond{$0 \le i \le \ccc{dim}$.} } } %\ccMethod{Sphere_d transform(const Aff_transformation_d& t) -%;}{returns $t(s)$. \ccPrecond{\ccc{S.dimension()==t.dimension()}.} } +%;}{returns $t(s)$. \ccPrecond \ccc{S.dimension()==t.dimension()}. } \ccMethod{Sphere_d operator+(const Vector_d& v) ;}{returns the sphere translated by \ccc{v}. \ccPrecond @@ -122,7 +122,7 @@ point. \ccPrecond{$0 \le i \le \ccc{dim}$.} } \ccFunction{bool weak_equality(const Sphere_d& S1, const Sphere_d& S2) ;}{Test for equality as unoriented spheres. - \ccPrecond{\ccc{S1.dimension()==S2.dimension()}.} } + \ccPrecond \ccc{S1.dimension()==S2.dimension()}. } \ccImplementation diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Vector.tex b/Kernel_d/doc_tex/Kernel_d_ref/Vector.tex index f2aac3229e9..17be01ff704 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Vector.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Vector.tex @@ -53,7 +53,7 @@ the basic operations of linear algebra. vector.} \ccMethod{NT& operator[](int i) ;}{returns the $i$-th component of \ccc{v}.\\ - \ccPrecond{$0\le i \le \ccc{v.dimension()-1}$.}} + \ccPrecond $0\le i \le \ccc{v.dimension()-1}$.} \ccMethod{iterator begin() ;}{iterator to the first component.} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/Vector_d.tex b/Kernel_d/doc_tex/Kernel_d_ref/Vector_d.tex index 00492909ca2..bb061e4831d 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/Vector_d.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/Vector_d.tex @@ -54,10 +54,10 @@ invariant under translations. coordinates \ccc{set [first,last)}. If \ccc{size [first,last) == p+1} the range specifies the homogeneous coordinates $\ccc{H = set [first,last)} = (\pm h_0, \pm h_1, \ldots, \pm h_d)$ where the - sign chosen is the sign of $h_d$. \ccPrecond{\ccc{d} is + sign chosen is the sign of $h_d$. \ccPrecond \ccc{d} is nonnegative, \ccc{[first,last)} has \ccc{d} or \ccc{d+1} elements - where the last has to be non-zero.} \ccRequire{ The value type of - \ccc{InputIterator} is \ccc{RT}. }} + where the last has to be non-zero. \ccRequire The value type of + \ccc{InputIterator} is \ccc{RT}. } \ccConstructor{template Vector_d(int d, InputIterator first, InputIterator last, RT D)}{ introduces a @@ -65,21 +65,21 @@ invariant under translations. initialized to the vector with homogeneous coordinates as defined by \ccc{H = set [first,last)} and \ccc{D}: $(\pm \ccc{H[0]}, \pm\ccc{H[1]}, \ldots, \pm\ccc{H[d-1]}, \pm\ccc{D})$. The sign - chosen is the sign of $D$. \ccPrecond{\ccc{D} is non-zero, the - iterator range defines a $d$-tuple of \ccc{RT}.} \ccRequire{ The value - type of \ccc{InputIterator} is \ccc{RT}. }} + chosen is the sign of $D$. \ccPrecond \ccc{D} is non-zero, the + iterator range defines a $d$-tuple of \ccc{RT}. \ccRequire The value + type of \ccc{InputIterator} is \ccc{RT}. } \ccConstructor{Vector_d(int d, Base_vector, int i)}{ returns a variable \ccc{v} of type \ccc{Vector_d} initialized to the $i$-th - base vector of dimension $d$. \ccPrecond{$0 \leq i < d$.}} + base vector of dimension $d$. \ccPrecond $0 \leq i < d$.} \ccConstructor{Vector_d(RT x, RT y, RT w = 1)}{introduces a variable \ccc{v} of type \ccc{Vector_d} in $2$-dimensional space. - \ccPrecond{$w \neq 0$.}} + \ccPrecond $w \neq 0$.} \ccConstructor{Vector_d(RT x, RT y, RT z, RT w)}{introduces a variable \ccc{v} of type \ccc{Vector_d} in $3$-dimensional space. - \ccPrecond{$w \neq 0$.}} + \ccPrecond $w \neq 0$.} \ccSetTwoOfThreeColumns{5cm}{3cm} @@ -88,13 +88,13 @@ invariant under translations. \ccMethod{int dimension() ;}{returns the dimension of \ccc{v}. } \ccMethod{FT cartesian(int i) ;}{returns the $i$-th Cartesian - coordinate of \ccc{v}. \ccPrecond{$0 \leq i < d$.} } + coordinate of \ccc{v}. \ccPrecond $0 \leq i < d$. } \ccMethod{FT operator[](int i) ;}{returns the $i$-th Cartesian - coordinate of \ccc{v}. \ccPrecond{$0 \leq i < d$.} } + coordinate of \ccc{v}. \ccPrecond $0 \leq i < d$. } \ccMethod{RT homogeneous(int i) ;}{returns the $i$-th homogeneous - coordinate of \ccc{v}. \ccPrecond{$0 \leq i \leq d$.} } + coordinate of \ccc{v}. \ccPrecond $0 \leq i \leq d$. } \ccMethod{FT squared_length() ;}{returns the square of the length of \ccc{v}. } diff --git a/Kernel_d/doc_tex/Kernel_d_ref/affine_rank.tex b/Kernel_d/doc_tex/Kernel_d_ref/affine_rank.tex index a438bd4d86e..5990c960aa8 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/affine_rank.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/affine_rank.tex @@ -5,7 +5,7 @@ \ccFunction{template int affine_rank(ForwardIterator first, ForwardIterator last);} {computes the affine rank of the points in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects in $A$ are of the same dimension.} \ccRequire + \ccPrecond The objects in $A$ are of the same dimension. \ccRequire The value type of \ccc{ForwardIterator} is \ccc{Point_d}. } \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/affinely_independent.tex b/Kernel_d/doc_tex/Kernel_d_ref/affinely_independent.tex index 702ef22032f..b0d39033590 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/affinely_independent.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/affinely_independent.tex @@ -5,9 +5,9 @@ \ccFunction{template bool affinely_independent(ForwardIterator first, ForwardIterator last);} {returns true iff the points in \ccc{A = tuple [first,last)} are - affinely independent. \ccPrecond{The objects are of the same - dimension.} \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Point_d} }} + affinely independent. \ccPrecond The objects are of the same + dimension. \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Point_d} } \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/center_of_sphere.tex b/Kernel_d/doc_tex/Kernel_d_ref/center_of_sphere.tex index 948419b7d6e..ee7f66c2bca 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/center_of_sphere.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/center_of_sphere.tex @@ -5,9 +5,9 @@ \ccFunction{template Point_d center_of_sphere(ForwardIterator first, ForwardIterator last);} {returns the center of the sphere spanned by the points in \ccc{A = - tuple[first,last)}. \ccPrecond{$A$ contains $d+1$ affinely - independent points of dimension $d$.} \ccRequire{ The value type of - \ccc{ForwardIterator} is \ccc{Point_d}.}} + tuple[first,last)}. \ccPrecond $A$ contains $d+1$ affinely + independent points of dimension $d$. \ccRequire The value type of + \ccc{ForwardIterator} is \ccc{Point_d}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/compare_lexicographically.tex b/Kernel_d/doc_tex/Kernel_d_ref/compare_lexicographically.tex index 2eedbaf740b..b4ca9bbf458 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/compare_lexicographically.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/compare_lexicographically.tex @@ -5,7 +5,7 @@ Point_d& p, const Point_d& q);}{Compares the Cartesian coordinates of points \ccStyle{p} and \ccStyle{q} lexicographically in ascending order of its Cartesian components \ccc{p[i]} and - \ccc{q[i]} for $i = 0,\ldots,d-1$. \ccPrecond{\ccc{p.dimension() == - q.dimension()}.}} + \ccc{q[i]} for $i = 0,\ldots,d-1$. \ccPrecond \ccc{p.dimension() == + q.dimension()}} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/contained_in_affine_hull.tex b/Kernel_d/doc_tex/Kernel_d_ref/contained_in_affine_hull.tex index 5bd8ba35c59..46645de611d 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/contained_in_affine_hull.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/contained_in_affine_hull.tex @@ -6,9 +6,9 @@ contained_in_affine_hull( ForwardIterator first, ForwardIterator last, const Point_d& p);}{determines whether $p$ is contained in the affine hull of the points in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects in \ccc{A} are of the same dimension.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Point_d}.}} + \ccPrecond The objects in \ccc{A} are of the same dimension. + \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Point_d}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/contained_in_linear_hull.tex b/Kernel_d/doc_tex/Kernel_d_ref/contained_in_linear_hull.tex index facfee3a03e..15ea7094a28 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/contained_in_linear_hull.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/contained_in_linear_hull.tex @@ -7,9 +7,9 @@ contained_in_linear_hull( ForwardIterator first, ForwardIterator last, const Vector_d& v);} {determines whether $v$ is contained in the linear hull of the vectors in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects in $A$ are of the same dimension.} - \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Vector_d}.}} + \ccPrecond The objects in $A$ are of the same dimension. + \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Vector_d}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/contained_in_simplex.tex b/Kernel_d/doc_tex/Kernel_d_ref/contained_in_simplex.tex index 198a1b7ddab..068f0382bf7 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/contained_in_simplex.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/contained_in_simplex.tex @@ -7,8 +7,8 @@ const Point_d& p);}{determines whether $p$ is contained in the simplex of the points in \ccc{A = tuple [first,last)}. \ccPrecond The objects in $A$ are of the same dimension and affinely - independent. \ccRequire{ The value type of \ccc{ForwardIterator} is - \ccc{Point_d}.}} + independent. \ccRequire The value type of \ccc{ForwardIterator} is + \ccc{Point_d}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/do_intersect.tex b/Kernel_d/doc_tex/Kernel_d_ref/do_intersect.tex index d03efc3d326..d7c34607696 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/do_intersect.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/do_intersect.tex @@ -7,8 +7,8 @@ \ccStyle{p} that is part of both \ccStyle{obj1} and \ccStyle{obj2}. The \ccHtmlNoLinksFrom{intersection} region of those two objects is defined as the set of all points \ccStyle{p} that are part of both - \ccStyle{obj1} and \ccStyle{obj2}. \ccPrecond{The objects are of - the same dimension.}} + \ccStyle{obj1} and \ccStyle{obj2}. \ccPrecond the objects are of + the same dimension.} The types \ccStyle{Type1} and \ccStyle{Type2} can be any of the following: \begin{itemize}\ccTexHtml{% diff --git a/Kernel_d/doc_tex/Kernel_d_ref/intersection.tex b/Kernel_d/doc_tex/Kernel_d_ref/intersection.tex index c8f0a40b712..03938b4fe5e 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/intersection.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/intersection.tex @@ -5,7 +5,7 @@ the intersection result of $f1$ and $f2$ by means of the polymorphic wrapper type \ccc{Object}. The returned object can be tested for the intersection result and assigned by means of the \ccc{object_cast} - function. \ccPrecond{The objects are of the same dimension.}} + function. \ccPrecond The objects are of the same dimension.} The possible value for types \ccStyle{Type1} and \ccStyle{Type2} and the possible return values wrapped in \ccc{Object} are the following: diff --git a/Kernel_d/doc_tex/Kernel_d_ref/linear_base.tex b/Kernel_d/doc_tex/Kernel_d_ref/linear_base.tex index 4ae84f1f7d3..0505df4066c 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/linear_base.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/linear_base.tex @@ -8,9 +8,9 @@ spanned by the vectors in \ccc{A = tuple [first,last)} and returns it via an iterator range starting in \ccc{result}. The returned iterator marks the end of the output. - \ccPrecond{$A$ contains vectors of the same dimension $d$.} - \ccRequire{ The value type of \ccc{ForwardIterator} and - \ccc{OutputIterator} is \ccc{Vector_d}. }} + \ccPrecond $A$ contains vectors of the same dimension $d$. + \ccRequire The value type of \ccc{ForwardIterator} and + \ccc{OutputIterator} is \ccc{Vector_d}. } \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/linear_rank.tex b/Kernel_d/doc_tex/Kernel_d_ref/linear_rank.tex index 0d1c7d90eb1..383e27b69be 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/linear_rank.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/linear_rank.tex @@ -5,8 +5,8 @@ \ccFunction{template int linear_rank(ForwardIterator first, ForwardIterator last);}{computes the linear rank of the vectors in \ccc{A = tuple [first,last)}. - \ccPrecond{The objects are of the same dimension.} \ccRequire{ The - value type of \ccc{ForwardIterator} is \ccc{Vector_d}. }} + \ccPrecond The objects are of the same dimension. \ccRequire The + value type of \ccc{ForwardIterator} is \ccc{Vector_d}. } \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/linearly_independent.tex b/Kernel_d/doc_tex/Kernel_d_ref/linearly_independent.tex index 0d54ceb017f..0f319d1d967 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/linearly_independent.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/linearly_independent.tex @@ -5,9 +5,9 @@ \ccFunction{template bool linearly_independent( ForwardIterator first, ForwardIterator last);}{decides whether the vectors in \ccc{A = tuple [first,last)} - are linearly independent. \ccPrecond{The objects in \ccc{A} are of - the same dimension.} \ccRequire{ The value type of - \ccc{ForwardIterator} is \ccc{Vector_d}.}} + are linearly independent. \ccPrecond The objects in \ccc{A} are of + the same dimension. \ccRequire The value type of + \ccc{ForwardIterator} is \ccc{Vector_d}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/midpoint.tex b/Kernel_d/doc_tex/Kernel_d_ref/midpoint.tex index da39d0d66d8..74a1e5fda35 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/midpoint.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/midpoint.tex @@ -3,7 +3,7 @@ \ccFunction{Point_d midpoint(const Point_d& p, const Point_d& q);}{computes the midpoint of the segment $pq$. \ccPrecond - \ccPrecond{\ccc{p.dimension() == q.dimension()}.}} + \ccPrecond \ccc{p.dimension() == q.dimension()}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/orientation.tex b/Kernel_d/doc_tex/Kernel_d_ref/orientation.tex index d847e21ae87..8872752a28d 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/orientation.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/orientation.tex @@ -13,9 +13,9 @@ \end{array} \right| \] where \ccc{A[i]} denotes the \ccHtmlNoLinksFrom{Cartesian} coordinate vector of the $i$-th point in $A$. - \ccPrecond{\ccc{size [first,last) == d+1} and - \ccc{A[i].dimension() == d} $\forall 0 \leq i \leq d$.} - \ccRequire{ The value type of \ccc{ForwardIterator} is \ccc{Point_d}.} + \ccPrecond \ccc{size [first,last) == d+1} and + \ccc{A[i].dimension() == d} $\forall 0 \leq i \leq d$. + \ccRequire The value type of \ccc{ForwardIterator} is \ccc{Point_d}. } \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/side_of_bounded_sphere.tex b/Kernel_d/doc_tex/Kernel_d_ref/side_of_bounded_sphere.tex index f02579da8f4..42cdb1884e8 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/side_of_bounded_sphere.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/side_of_bounded_sphere.tex @@ -6,7 +6,7 @@ const Point_d& p);} { returns the relative position of point \ccc{p} to the sphere defined by \ccc{A = tuple [first,last)}. The order of the points of $A$ does not matter. \ccPrecond - \ccc{orientation(first,last)} is not \ccc{ZERO}. \ccRequire{ The - value type of \ccc{ForwardIterator} is \ccc{Point_d}. }} + \ccc{orientation(first,last)} is not \ccc{ZERO}. \ccRequire The + value type of \ccc{ForwardIterator} is \ccc{Point_d}. } \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/side_of_oriented_sphere.tex b/Kernel_d/doc_tex/Kernel_d_ref/side_of_oriented_sphere.tex index 2c704eb1b74..cb01662d312 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/side_of_oriented_sphere.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/side_of_oriented_sphere.tex @@ -9,8 +9,8 @@ important, since it determines the orientation of the implicitly constructed sphere. If the points in $A$ are positively oriented, the positive side is the bounded interior of the sphere. \ccPrecond - \ccc{A} contains $d+1$ points in $d$-space. \ccRequire{ The value - type of \ccc{ForwardIterator} is \ccc{Point_d}.}} + \ccc{A} contains $d+1$ points in $d$-space. \ccRequire The value + type of \ccc{ForwardIterator} is \ccc{Point_d}.} \end{ccRefFunction} diff --git a/Kernel_d/doc_tex/Kernel_d_ref/squared_distance.tex b/Kernel_d/doc_tex/Kernel_d_ref/squared_distance.tex index 80c7ae4fdeb..0ebfb606a9f 100644 --- a/Kernel_d/doc_tex/Kernel_d_ref/squared_distance.tex +++ b/Kernel_d/doc_tex/Kernel_d_ref/squared_distance.tex @@ -3,7 +3,7 @@ \ccFunction{FT squared_distance(Point_d p, Point_d q);} {computes the square of the Euclidean distance between the two points - $p$ and $q$. \ccPrecond{The dimensions of $p$ and $q$ are the - same.}} + $p$ and $q$. \ccPrecond The dimensions of $p$ and $q$ are the + same.} \end{ccRefFunction} diff --git a/Kinetic_data_structures/doc_tex/Kinetic_framework/trivial_kds_example.tex b/Kinetic_data_structures/doc_tex/Kinetic_framework/trivial_kds_example.tex index 9d8319b419d..8c8158b21ee 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_framework/trivial_kds_example.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_framework/trivial_kds_example.tex @@ -22,7 +22,7 @@ As with most kinetic data structures, \ccc{Kinetic::Sort 0$.}} + \ccVar\ etc.). \ccPrecond \ccc{number_of_rows()} $> 0$.} \ccMemberFunction{void shrink_to_quadratic_size();}{deletes the rightmost columns, such that \ccVar\ becomes quadratic. - \ccPrecond{\ccc{number_of_columns()} $\ge$ - \ccc{number_of_rows()}.} \ccPostcond{\ccc{number_of_rows()} - $==$ \ccc{number_of_columns()}.}} + \ccPrecond\\ \ccc{number_of_columns()} $\ge$ + \ccc{number_of_rows()}. \ccPostcond\\ \ccc{number_of_rows()} + $==$ \ccc{number_of_columns()}.} \ccSeeAlso \ccRefIdfierPage{CGAL::monotone_matrix_search}\\ @@ -170,23 +170,23 @@ \ccMemberFunction{Entry operator()( int row, int column) const;} {returns the entry at position (\ccc{row}, \ccc{column}). - \ccPrecond{$0 \le$ \ccc{row} $<$ \ccc{number_of_rows()}, and - $0 \le$ \ccc{column} $<$ \ccc{number_of_columns()}.}} + \ccPrecond\\ $0 \le$ \ccc{row} $<$ \ccc{number_of_rows()} and\\ + $0 \le$ \ccc{column} $<$ \ccc{number_of_columns()}.} \ccMemberFunction{void replace_column( int old, int new);}{replace - column \ccc{old} with column number \ccc{new}. \ccPrecond{$0 - \le$ \ccc{old}, \ccc{new} $<$ \ccc{number_of_columns()}.}} + column \ccc{old} with column number \ccc{new}. \ccPrecond\\ $0 + \le$ \ccc{old}, \ccc{new} $<$ \ccc{number_of_columns()}.} \ccMemberFunction{Matrix* extract_all_even_rows() const;}{returns a new Matrix consisting of all rows of \ccVar\ with even index, (i.e. first row is row $0$ of \ccVar, second row is row $2$ of - \ccVar\ etc.). \ccPrecond{\ccc{number_of_rows()} $> 0$.}} + \ccVar\ etc.). \ccPrecond \ccc{number_of_rows()} $> 0$.} \ccMemberFunction{void shrink_to_quadratic_size();}{deletes the rightmost columns, such that \ccVar\ becomes quadratic. - \ccPrecond{\ccc{number_of_columns()} $\ge$ - \ccc{number_of_rows()}.} \ccPostcond{\ccc{number_of_rows()} $==$ - \ccc{number_of_columns()}.}} + \ccPrecond\\ \ccc{number_of_columns()} $\ge$ + \ccc{number_of_rows()}. \ccPostcond\\ \ccc{number_of_rows()} $==$ + \ccc{number_of_columns()}.} \ccHeading{Notes} \begin{itemize} @@ -231,8 +231,8 @@ \ccMemberFunction{Entry operator()( int row, int column) const;} {returns the entry at position (\ccc{row}, \ccc{column}). - \ccPrecond{$0 \le$ \ccc{row} $<$ \ccc{number_of_rows()}, and - $0 \le$ \ccc{column} $<$ \ccc{number_of_columns()}.}} + \ccPrecond\\ $0 \le$ \ccc{row} $<$ \ccc{number_of_rows()} and\\ + $0 \le$ \ccc{column} $<$ \ccc{number_of_columns()}.} \ccHasModels \ccRefIdfierPage{CGAL::Dynamic_matrix} diff --git a/Matrix_search/doc_tex/Matrix_search_ref/spec_sorted_matrix_search.tex b/Matrix_search/doc_tex/Matrix_search_ref/spec_sorted_matrix_search.tex index 41dacbb168b..6a91f840804 100644 --- a/Matrix_search/doc_tex/Matrix_search_ref/spec_sorted_matrix_search.tex +++ b/Matrix_search/doc_tex/Matrix_search_ref/spec_sorted_matrix_search.tex @@ -79,7 +79,7 @@ \ccRefConceptPage{SortedMatrixSearchTraits} \ccImplementation The implementation uses an algorithm by - Frederickson and Johnson\cite{fj-fkppc-83}, \cite{fj-gsrsm-84} and runs in + Frederickson and Johnson\cite{fj-fkppc-83,fj-gsrsm-84} and runs in $\mathcal{O}(n \cdot k + f \cdot \log (n \cdot k))$, where $n$ is the number of input matrices, $k$ denotes the maximal dimension of any input matrix and $f$ the time needed for one feasibility test. diff --git a/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h b/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h index 8c66abdfe4f..7c35679beb4 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/ConformingDelaunayTriangulationTraits_2.h @@ -17,7 +17,8 @@ points on constrained edges. \cgalRefines `DelaunayTriangulationTraits_2` -\cgalHasModel Any model of the `Kernel` concept. In particular, all \cgal kernels. +\cgalHasModel Any model of `Kernel` concept. In particular, all \cgal kernels +\cgalHasModel `Projection_traits_xy_3` */ diff --git a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h index b59a06451eb..c3c383703fa 100644 --- a/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h +++ b/Mesh_2/doc/Mesh_2/Concepts/DelaunayMeshTraits_2.h @@ -12,8 +12,8 @@ object `Construct_circumcenter_2`. \cgalRefines `ConformingDelaunayTriangulationTraits_2` -\cgalHasModel Any model of the `Kernel` concept. In particular, all \cgal kernels. - +\cgalHasModel Any model of the `Kernel` concept. In particular, all \cgal kernels +\cgalHasModel `Projection_traits_xy_3` */ diff --git a/Mesh_2/doc_tex/Mesh_2_ref/DelaunayMeshTraits_2.tex b/Mesh_2/doc_tex/Mesh_2_ref/DelaunayMeshTraits_2.tex index 8fd1deecebc..ed21282fcfb 100644 --- a/Mesh_2/doc_tex/Mesh_2_ref/DelaunayMeshTraits_2.tex +++ b/Mesh_2/doc_tex/Mesh_2_ref/DelaunayMeshTraits_2.tex @@ -18,7 +18,7 @@ object \ccc{Construct_circumcenter_2}. Point_2 r);} that constructs the center of the circle passing through the points $p$, $q$, and~$r$. - \ccPrecond{$p$, $q$, and~$r$ are not collinear.}} + \ccPrecond $p$, $q$, and~$r$ are not collinear.} \ccNestedType{Compute_area_2}{Constructor object. Must provide an operator \ccc{FT operator()(Point_2 p, diff --git a/Mesh_2/doc_tex/Mesh_2_ref/Delaunay_mesher_2.tex b/Mesh_2/doc_tex/Mesh_2_ref/Delaunay_mesher_2.tex index 53ee3bc9d79..88b73b9120e 100644 --- a/Mesh_2/doc_tex/Mesh_2_ref/Delaunay_mesher_2.tex +++ b/Mesh_2/doc_tex/Mesh_2_ref/Delaunay_mesher_2.tex @@ -69,9 +69,9 @@ The following functions are used to define seeds. the bounded components including no seed. Note that the unbounded component of the plane is never meshed. - \ccRequire{ The \ccc{value_type} of + \ccRequire The \ccc{value_type} of \ccc{begin} and \ccc{end} is - \ccc{Geom_traits::Point_2}.}} + \ccc{Geom_traits::Point_2}.} \ccMethod{Seeds_const_iterator seeds_begin () const;} { Start of the seeds sequence. } @@ -113,8 +113,8 @@ The following functions are used to define seeds. directly, from the sequence [begin, end], so that the algorithm will not scan the whole set of triangles to find bad ones. To use if there is a non-naive way to - find bad triangles. \ccRequire{ The \ccc{value_type} - of \ccc{begin} and \ccc{end} is \ccc{Face_handle}.}} + find bad triangles. \ccRequire The \ccc{value_type} + of \ccc{begin} and \ccc{end} is \ccc{Face_handle}.} \end{ccAdvanced} diff --git a/Mesh_2/doc_tex/Mesh_2_ref/Mesher_level.tex b/Mesh_2/doc_tex/Mesh_2_ref/Mesher_level.tex index 58489b0bfc4..e1ab7120079 100644 --- a/Mesh_2/doc_tex/Mesh_2_ref/Mesher_level.tex +++ b/Mesh_2/doc_tex/Mesh_2_ref/Mesher_level.tex @@ -124,7 +124,7 @@ the derived classes. %All these commented function should appear -%under their impl form in the concept for "Mesher level" +%under their impl form in the concept for ``Mesher level'' %\ccMethod{ bool no_longer_element_to_refine();} diff --git a/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Delaunay_2.tex b/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Delaunay_2.tex index 7323c91c094..b857fc1b754 100644 --- a/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Delaunay_2.tex +++ b/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Delaunay_2.tex @@ -6,11 +6,11 @@ { Refines the constrained Delaunay triangulation \ccc{t} into a conforming Delaunay triangulation. After a call to this function, all edges of \ccc{t} are Delaunay edges. - \ccRequire{ The template parameter \ccc{CDT} should be a model of the - concept \ccc{ConstrainedDelaunayTriangulation_2}.} - \ccRequire{The geometric traits class of into the constrained Delaunay + \ccRequire The template parameter \ccc{CDT} should be a model of the + concept \ccc{ConstrainedDelaunayTriangulation_2}. + The geometric traits class of into the constrained Delaunay triangulation must be a model of - \ccc{ConformingDelaunayTriangulationTraits_2}.}} + \ccc{ConformingDelaunayTriangulationTraits_2}.} \end{ccRefFunction} diff --git a/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Gabriel_2.tex b/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Gabriel_2.tex index cb8f02ba6d5..dddce87c5a9 100644 --- a/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Gabriel_2.tex +++ b/Mesh_2/doc_tex/Mesh_2_ref/make_conforming_Gabriel_2.tex @@ -8,11 +8,10 @@ constrained edges of \ccc{t} have the \emph{Gabriel property}: the circle that has $e$ as diameter does not contain any vertex from the triangulation. - \ccRequire{ The template parameter \ccc{CDT} should be a model of the - concept \ccc{ConstrainedDelaunayTriangulation_2}.} - \ccRequire{The geometric + \ccRequire The template parameter \ccc{CDT} should be a model of the + concept \ccc{ConstrainedDelaunayTriangulation_2}. The geometric traits class of the constrained Delaunay triangulation must be a - model of \ccc{ConformingDelaunayTriangulationTraits_2}.}} + model of \ccc{ConformingDelaunayTriangulationTraits_2}.} \end{ccRefFunction} diff --git a/Mesh_2/doc_tex/Mesh_2_ref/refine_Delaunay_mesh_2.tex b/Mesh_2/doc_tex/Mesh_2_ref/refine_Delaunay_mesh_2.tex index 114bb8ff84d..c22089c9f8a 100644 --- a/Mesh_2/doc_tex/Mesh_2_ref/refine_Delaunay_mesh_2.tex +++ b/Mesh_2/doc_tex/Mesh_2_ref/refine_Delaunay_mesh_2.tex @@ -8,17 +8,15 @@ void refine_Delaunay_mesh_2 (CDT &t, const Criteria& criteria = Criteria()); } defined by the traits \ccc{criteria}. The domain of the mesh covers all the connected components of the plane defined by the constrained edges of \ccc{t}, except for the unbounded component. - \ccPrecond{The template parameter \ccc{CDT} must be a model of the + \ccPrecond The template parameter \ccc{CDT} must be a model of the concept \ccc{ConstrainedDelaunayTriangulation_2}. The geometric traits class of the constrained Delaunay triangulation must be a model - of \ccc{DelaunayMeshTraits_2}}. - \ccRequire{ The face of the constrained + of \ccc{DelaunayMeshTraits_2}. + \ccRequire The face of the constrained Delaunay triangulation must be a model of the concept - \ccc{DelaunayMeshFaceBase_2}.} - \ccRequire{\ccc{Criteria} must be a model of the - concept \ccc{MeshingCriteria_2}.} - \ccRequire{ \ccc{CDT::Face_handle} must be the same - as \ccc{Criteria::Face_handle}. }} + \ccc{DelaunayMeshFaceBase_2}. \ccc{Criteria} must be a model of the + concept \ccc{MeshingCriteria_2} and \ccc{CDT::Face_handle} must be the same + as \ccc{Criteria::Face_handle}. } \ccFunction{ template void refine_Delaunay_mesh_2(CDT& t, @@ -38,8 +36,8 @@ void refine_Delaunay_mesh_2(CDT& t, union of the bounded components including no seed. Note that the unbounded component of the plane is never meshed. - \ccRequire{ The \ccc{value_type} of \ccc{begin} and - \ccc{end} is \ccc{CDT::Geom_traits::Point_2}.}} + \ccRequire The \ccc{value_type} of \ccc{begin} and + \ccc{end} is \ccc{CDT::Geom_traits::Point_2}.} \end{ccRefFunction} diff --git a/Mesh_3/doc_tex/Mesh_3/mesh_3_user.tex b/Mesh_3/doc_tex/Mesh_3/mesh_3_user.tex index 164253545d6..2d3b2f8f785 100644 --- a/Mesh_3/doc_tex/Mesh_3/mesh_3_user.tex +++ b/Mesh_3/doc_tex/Mesh_3/mesh_3_user.tex @@ -275,7 +275,7 @@ In the case of the Lloyd smoother, the interpolation is linear in each Voronoi cell of the set of mesh vertices. In the case of the odt-smoother, the interpolation is linear in each cell of the Delaunay triangulation of the mesh vertices, -hence the name odt which is an abbreviation for "optimal Delaunay triangulation". +hence the name odt which is an abbreviation for ``optimal Delaunay triangulation''. \begin{figure}[ht] diff --git a/Mesh_3/doc_tex/Mesh_3_ref/BisectionGeometricTraits_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/BisectionGeometricTraits_3.tex index 6a1998c2254..e402d5b8669 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/BisectionGeometricTraits_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/BisectionGeometricTraits_3.tex @@ -86,7 +86,7 @@ the midpoint of the segment \ccc{pq}.} \ccStyle{point(j)}, for all \ccStyle{i} $<$ \ccStyle{j}.\\ \ccc{Point_3 operator()(Ray_3 r,int i);} which returns a point on \ccc{r}. \ccStyle{point(0)} is the source, \ccStyle{point(i)}, with - $i>0$, is different from the source. \ccPrecond{$i \geq 0$.}\\ + $i>0$, is different from the source. \ccPrecond $i \geq 0$.\\ \ccc{Point_3 operator()(Segment_3 s,int i);} which returns either source or target of \ccc{s}: \ccStyle{point(0)} returns the source of \ccc{s}, \ccStyle{point(1)} returns the target of \ccc{s}. Parameter diff --git a/Mesh_3/doc_tex/Mesh_3_ref/MeshComplex_3InTriangulation_3.tex b/Mesh_3/doc_tex/Mesh_3_ref/MeshComplex_3InTriangulation_3.tex index 0da50203aae..4820f5a168e 100644 --- a/Mesh_3/doc_tex/Mesh_3_ref/MeshComplex_3InTriangulation_3.tex +++ b/Mesh_3/doc_tex/Mesh_3_ref/MeshComplex_3InTriangulation_3.tex @@ -201,7 +201,7 @@ advanced operations allowing a direct manipulation of the triangulation. {Same as above with \ccc{f=(c,i)}.} \ccMethod{void set_dimension(Vertex_handle v, int dimension);} -{Sets the "dimension" of vertex \ccc{v}. The dimension is an integer attached to the vertex. +{Sets the ``dimension'' of vertex \ccc{v}. The dimension is an integer attached to the vertex. When the concept \ccRefName\ is used for mesh generation this integer is used to store the dimension of the lowest dimensional face of the input complex including the vertex.} \ccGlue diff --git a/Minkowski_sum_2/doc_tex/Minkowski_sum_2/mink_sum.tex b/Minkowski_sum_2/doc_tex/Minkowski_sum_2/mink_sum.tex index dbeb3d3606b..e6bfdb7c4f6 100644 --- a/Minkowski_sum_2/doc_tex/Minkowski_sum_2/mink_sum.tex +++ b/Minkowski_sum_2/doc_tex/Minkowski_sum_2/mink_sum.tex @@ -21,7 +21,7 @@ are sorted by the angle they form with the $x$-axis. As the two input polygons are convex, their edges are already sorted by the angle they form with the $x$-axis. The Minkowski sum can therefore be computed in $O(m + n)$ time, by starting from two bottommost vertices -in $P$ and in $Q$ and performing "merge sort" on the edges. +in $P$ and in $Q$ and performing ``merge sort'' on the edges. \begin{figure}[t] \begin{ccTexOnly} diff --git a/Minkowski_sum_3/doc_tex/Minkowski_sum_3_ref/minkowski_sum_3.tex b/Minkowski_sum_3/doc_tex/Minkowski_sum_3_ref/minkowski_sum_3.tex index 8bc1cfbcc8f..d4a4a3ffb21 100644 --- a/Minkowski_sum_3/doc_tex/Minkowski_sum_3_ref/minkowski_sum_3.tex +++ b/Minkowski_sum_3/doc_tex/Minkowski_sum_3_ref/minkowski_sum_3.tex @@ -48,9 +48,10 @@ selection marks, unselected is assumed). must not have holes (non-convex facets and holes are ignored). \end{enumerate} -\ccPostcond{ +\ccPostcond + If either of the input polyhedra is non-convex, it is modified during -the computation, i.e., it is decomposed into convex pieces.} +the computation, i.e., it is decomposed into convex pieces. \ccSeeAlso \ccRefIdfierPage{CGAL::Nef_polyhedron_3}\\ diff --git a/Modifier/doc_tex/Miscellany_ref/Modifier_base.tex b/Modifier/doc_tex/Miscellany_ref/Modifier_base.tex index 471ca98884a..fa112364a07 100644 --- a/Modifier/doc_tex/Miscellany_ref/Modifier_base.tex +++ b/Modifier/doc_tex/Miscellany_ref/Modifier_base.tex @@ -25,7 +25,7 @@ type of the internal representation that is to be modified. \ccTagFullDeclarations \ccMethod{virtual void operator()( R& rep);} - {\ccPostcond{\ccc{rep} is a valid representation.}} + {\ccPostcond \ccc{rep} is a valid representation.} \ccTagDefaults \ccExample diff --git a/Nef_2/doc_tex/Nef_2/user.tex b/Nef_2/doc_tex/Nef_2/user.tex index da31bf05804..2fa423bfe87 100644 --- a/Nef_2/doc_tex/Nef_2/user.tex +++ b/Nef_2/doc_tex/Nef_2/user.tex @@ -117,7 +117,7 @@ Infimaximal here means that its geometric extend is always large enough (but finite for our intuition). Assume you approach the box with an affine point, then this point is always inside the box. The same holds for straight lines; they always intersect the box. There -are more accurate notions of "large enough", but the previous +are more accurate notions of ``large enough'', but the previous propositions are enough at this point. Due to the fact that the infimaximal box is included in the plane map, the vertices and edges are partitioned with respect to this box. diff --git a/Nef_2/doc_tex/Nef_2_ref/ExtendedKernelTraits_2.tex b/Nef_2/doc_tex/Nef_2_ref/ExtendedKernelTraits_2.tex index 541a2c59fa5..29758f13a42 100644 --- a/Nef_2/doc_tex/Nef_2_ref/ExtendedKernelTraits_2.tex +++ b/Nef_2/doc_tex/Nef_2_ref/ExtendedKernelTraits_2.tex @@ -136,10 +136,10 @@ the standard point represented by \ccc{p}. \ccPrecond \ccMethod{Standard_line_2 standard_line(const Point_2& p) ;}{returns the oriented line representing the bundle of rays defining \ccc{p}. -\ccPrecond{\ccc{!K.is_standard(p)}.} } +\ccPrecond \ccc{!K.is_standard(p)}. } \ccMethod{Standard_ray_2 standard_ray(const Point_2& p) ;}{a ray -defining \ccc{p}. \ccPrecond{\ccc{!K.is_standard(p)}.} } +defining \ccc{p}. \ccPrecond \ccc{!K.is_standard(p)}. } \ccMethod{Point_2 NE() ;}{returns the point on the northeast frame corner. } @@ -192,7 +192,7 @@ through \ccc{p1p2}. } \ccMethod{Point_2 intersection( const Segment_2& s1, const Segment_2& s2) ;}{returns the point of intersection of the lines supported by -\ccc{s1} and \ccc{s2}. \ccPrecond{The intersection point exists.} } +\ccc{s1} and \ccc{s2}. \ccPrecond the intersection point exists. } \ccMethod{Direction_2 construct_direction( const Point_2& p1, const Point_2& p2) ;}{returns the direction of the vector \ccc{p2} - diff --git a/Nef_2/doc_tex/Nef_2_ref/Nef_polyhedron_2.tex b/Nef_2/doc_tex/Nef_2_ref/Nef_polyhedron_2.tex index 06ede8f5790..95329faa7e1 100644 --- a/Nef_2/doc_tex/Nef_2_ref/Nef_polyhedron_2.tex +++ b/Nef_2/doc_tex/Nef_2_ref/Nef_polyhedron_2.tex @@ -114,7 +114,7 @@ returns the regularized polyhedron (closure of interior).} returns \ccc{N} $\cap$ \ccc{N1}. } \ccMethod{Nef_polyhedron_2 join(const Nef_polyhedron_2& N1) ;}{ -returns \ccc{N} $\cup$ \ccc{N1}. Note that "union" is a keyword of C++ +returns \ccc{N} $\cup$ \ccc{N1}. Note that ``union'' is a keyword of C++ and cannot be used for this operation.} \ccMethod{Nef_polyhedron_2 difference(const Nef_polyhedron_2& N1) ;}{ diff --git a/Nef_2/doc_tex/Nef_2_ref/Topological_explorer.tex b/Nef_2/doc_tex/Nef_2_ref/Topological_explorer.tex index 7002373e730..1eb3928933c 100644 --- a/Nef_2/doc_tex/Nef_2_ref/Topological_explorer.tex +++ b/Nef_2/doc_tex/Nef_2_ref/Topological_explorer.tex @@ -104,13 +104,13 @@ returns \ccc{true} iff $A(v) = \emptyset$. } \ccMethod{Halfedge_const_handle first_out_edge(Vertex_const_handle v) ;}{ returns one halfedge with source \ccc{v}. It's the starting point for the circular iteration over the halfedges with source \ccc{v}. - \ccPrecond{\ccc{!is_isolated(v)}}. + \ccPrecond \ccc{!is_isolated(v)}. } \ccMethod{Halfedge_const_handle last_out_edge(Vertex_const_handle v) ;}{ returns the halfedge with source \ccc{v} that is the last in the circular iteration before encountering \ccc{first_out_edge(v)} - again. \ccPrecond{\ccc{!is_isolated(v)}}. + again. \ccPrecond \ccc{!is_isolated(v)}. } \ccMethod{Halfedge_const_handle cyclic_adj_succ(Halfedge_const_handle e) ;}{ @@ -133,7 +133,7 @@ returns the previous edge in the face cycle containing \ccc{e}.} returns the face incident to \ccc{e}.} \ccMethod{Face_const_handle face(Vertex_const_handle v) ;}{ -returns the face incident to \ccc{v}. \ccPrecond{\ccc{is_isolated(v)}.}} +returns the face incident to \ccc{v}. \ccPrecond \ccc{is_isolated(v)}.} \ccMethod{Halfedge_const_handle halfedge(Face_const_handle f) ;}{ returns a halfedge in the bounding face cycle of \ccc{f} diff --git a/Nef_3/doc_tex/Nef_3/main.tex b/Nef_3/doc_tex/Nef_3/main.tex index 5608c5ba59f..e1f57f88a2c 100644 --- a/Nef_3/doc_tex/Nef_3/main.tex +++ b/Nef_3/doc_tex/Nef_3/main.tex @@ -72,7 +72,7 @@ storage size, and many algorithms are simple. On the other side, this object class is not closed under boolean set operations, as many examples can illustrate, such as the Figure shown above that can be generated using boolean set operations on cubes. The vertices bounding -the tunnel, or the edge connecting the "roof" with the cube are +the tunnel, or the edge connecting the ``roof'' with the cube are non-manifold situations. In our implementation of Nef polyhedra in 3D, we offer a B-rep data diff --git a/Nef_3/doc_tex/Nef_3_ref/Nef_polyhedron_3.tex b/Nef_3/doc_tex/Nef_3_ref/Nef_polyhedron_3.tex index 95ff146ee78..9e2822b0909 100644 --- a/Nef_3/doc_tex/Nef_3_ref/Nef_polyhedron_3.tex +++ b/Nef_3/doc_tex/Nef_3_ref/Nef_polyhedron_3.tex @@ -348,10 +348,10 @@ The following macros are provided: \ccc{CGAL_forall_vertices(v,N)}, %\ccMethod{void dump() const;}{} \ccMethod{void convert_to_polyhedron(Polyhedron& P) const;} -{converts \ccVar\ into a Polyhedron. \ccPrecond{\ccVar\ is simple.}} +{converts \ccVar\ into a Polyhedron.~\ccPrecond \ccVar\ is simple.} \ccMethod{void visit_shell_objects(SFace_const_handle f, Visitor& V) const;} -{calls the visit function of \ccc{V} for every item which belongs to the same shell as \ccc{sf}.} +{calls the visit function of V for every item which belongs to the same shell as sf.} %\ccMethod{static bool is_standard(const Vertex_const_handle v);}{} %\ccMethod{static bool is_standard(const Halffacet_const_handle v);}{} diff --git a/Nef_S2/doc_tex/Nef_S2_ref/Explorer.tex b/Nef_S2/doc_tex/Nef_S2_ref/Explorer.tex index 1c9c548d74d..37522180f11 100644 --- a/Nef_S2/doc_tex/Nef_S2_ref/Explorer.tex +++ b/Nef_S2/doc_tex/Nef_S2_ref/Explorer.tex @@ -71,7 +71,7 @@ method of \ccc{Nef_polyhedron_S2}. \ccMethod{Halfedge_const_handle first_out_edge(Vertex_const_handle v) ;}{returns one edge with source \ccc{v}. It's the starting point for the circular iteration over the edges with source \ccc{v}. - \ccPrecond{\ccc{!is_isolated(v)}.} } + \ccPrecond \ccc{!is_isolated(v)}. } \ccMethod{Halfedge_const_handle last_out_edge(Vertex_const_handle v) ;}{returns one edge with source \ccc{v}. \ccPrecond @@ -99,7 +99,7 @@ method of \ccc{Nef_polyhedron_S2}. the face incident to \ccc{l}. } \ccMethod{Face_const_handle face(Vertex_const_handle v) ;}{returns the - face incident to \ccc{v}. \ccPrecond{\ccc{is_isolated(v)}.} } + face incident to \ccc{v}. \ccPrecond \ccc{is_isolated(v)}. } \ccHeading{Iteration} @@ -110,8 +110,8 @@ method of \ccc{Nef_polyhedron_S2}. \ccMethod{Halfedge_around_vertex_const_circulator out_edges(Vertex_const_handle v) ;}{returns a circulator for the - cyclic adjacency list of \ccc{v}. \ccPrecond{The adjacency list is - not empty.} } + cyclic adjacency list of \ccc{v}. \ccPrecond the adjacency list is + not empty. } \ccMethod{Face_cycle_const_iterator face_cycles_begin(Face_const_handle f) ;}{returns an iterator for diff --git a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_circle.tex b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_circle.tex index fa9b567f87b..4d49ac7fafc 100644 --- a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_circle.tex +++ b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_circle.tex @@ -33,15 +33,15 @@ halfspace of the oriented plane. we create any great circle that contains $p$ and $q$. } \ccConstructor{Sphere_circle(const Plane_3& h)}{ creates the - circle corresponding to the plane \ccc{h}. \ccPrecond{\ccc{h} - contains the origin.} } + circle corresponding to the plane \ccc{h}. \ccPrecond \ccc{h} + contains the origin. } \ccConstructor{Sphere_circle(const RT& x, const RT& y, const RT& z)} { creates the circle orthogonal to the vector $(x,y,z)$. } \ccConstructor{Sphere_circle(Sphere_circle c, const Sphere_point& p)}{ creates a great circle orthogonal to $c$ that contains $p$. - \ccPrecond{$p$ is not part of $c$.} } + \ccPrecond $p$ is not part of $c$. } \ccSetTwoOfThreeColumns{2.5cm}{3.8cm} @@ -66,4 +66,4 @@ halfspace of the oriented plane. returns true iff \ccc{c1} and \ccc{c2} are equal as unoriented circles. } -\end{ccRefClass} +\end{ccRefClass} \ No newline at end of file diff --git a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_direction.tex b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_direction.tex index ab3b2d2619f..a9da8831e78 100644 --- a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_direction.tex +++ b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_direction.tex @@ -28,8 +28,8 @@ describe walks that are part of great circles. \ccConstructor{Sphere_direction(Sphere_point p, Sphere_point q)}{ creates a direction that describes the orientation of the great circle through $p$ and $q$ (oriented such that the segment $pq$ is - the shorter one of the two possible ones. \ccPrecond{$p$ and $q$ are - not opposite on $S_2$.} } + the shorter one of the two possible ones. \ccPrecond $p$ and $q$ are + not opposite on $S_2$. } \ccSetTwoOfThreeColumns{4cm}{2cm} @@ -38,4 +38,4 @@ describe walks that are part of great circles. \ccMethod{Sphere_direction opposite() ;}{returns the opposite of \ccc{d}. } -\end{ccRefClass} +\end{ccRefClass} \ No newline at end of file diff --git a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_segment.tex b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_segment.tex index 1150c27ecf6..d0729d61171 100644 --- a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_segment.tex +++ b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_segment.tex @@ -24,15 +24,15 @@ the normal vector of $h$ as seen from the positive halfspace. const Sphere_point& p1, const Sphere_point& p2, bool shorter_arc=true)} { creates a spherical segment spanning the shorter arc from \ccc{p1} to \ccc{p2} if \ccc{shorter_arc == - true}. Otherwise the longer arc is created. \ccPrecond{\ccc{p1 != - p2} and \ccc{p1 != p2.opposite()}.} } + true}. Otherwise the longer arc is created. \ccPrecond \ccc{p1 != + p2} and \ccc{p1 != p2.opposite()}. } \ccConstructor{Sphere_segment(const Sphere_point& p1, const Sphere_point& p2, const Sphere_circle& c)} { creates a spherical segment spanning the arc from \ccc{p1} to \ccc{p2} as part of the oriented circle \ccc{c} (\ccc{p1 == p2} or \ccc{p1 == p2.opposite()} are possible.) - \ccPrecond{\ccc{p1} and \ccc{p2} are contained in \ccc{c}.} } + \ccPrecond \ccc{p1} and \ccc{p2} are contained in \ccc{c}. } \ccConstructor{Sphere_segment(const Sphere_circle& c1, const Sphere_circle& c2)} @@ -80,4 +80,4 @@ the normal vector of $h$ as seen from the positive halfspace. return true iff \ccc{s} contains \ccc{p} in its relative interior. } -\end{ccRefClass} +\end{ccRefClass} \ No newline at end of file diff --git a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_triangle.tex b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_triangle.tex index 1c20175e56a..1a9620df446 100644 --- a/Nef_S2/doc_tex/Nef_S2_ref/Sphere_triangle.tex +++ b/Nef_S2/doc_tex/Nef_S2_ref/Sphere_triangle.tex @@ -25,8 +25,8 @@ the surface of the unit sphere. p1, Sphere_point p2, Sphere_circle c0, Sphere_circle c1, Sphere_circle c2)}{ creates a triangle spanned by the three points \ccc{p0}, \ccc{p1}, \ccc{p2}, where the triangle is left of - the three circles \ccc{c0}, \ccc{c1}, \ccc{c2}. \ccPrecond{$c_i$ - contains $p_i$ and $p_{i+1}$ mod 3.} } + the three circles \ccc{c0}, \ccc{c1}, \ccc{c2}. \ccPrecond $c_i$ + contains $p_i$ and $p_{i+1}$ mod 3. } \ccSetTwoOfThreeColumns{4cm}{2cm} @@ -41,4 +41,4 @@ the surface of the unit sphere. \ccMethod{Sphere_triangle opposite() ;}{ returns the opposite of \ccc{t}. } -\end{ccRefClass} +\end{ccRefClass} \ No newline at end of file diff --git a/Number_types/doc/Number_types/CGAL/Gmpfi.h b/Number_types/doc/Number_types/CGAL/Gmpfi.h index b0575a6ffa6..fbe7f4c08db 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpfi.h +++ b/Number_types/doc/Number_types/CGAL/Gmpfi.h @@ -74,7 +74,7 @@ Gmpfi(const T& t,Precision_type p=get_default_precision()); /*! creates a `Gmpfi` initialized with endpoints `left` and `right`. The rounding of the endpoints will guarantee -that [`left`,`right`] is included in `i`. +that ([`left`,`right`]) is included in `i`. */ Gmpfi(const Gmpfr &left, const Gmpfr &right, @@ -85,7 +85,7 @@ creates a `Gmpfi` initialized with endpoints `endpoints.first` and `endpoints.second`. `L` and `R` are types from which `Gmpfr` can be constructed from. The rounding of the endpoints will guarantee that -[`endpoints.first`,`endpoints.second`] is included in +([`endpoints.first`,`endpoints.second`]) is included in `i`. */ template diff --git a/Number_types/doc/Number_types/CGAL/Gmpfr.h b/Number_types/doc/Number_types/CGAL/Gmpfr.h index 8998b7ef1d7..c8f0a75a611 100644 --- a/Number_types/doc/Number_types/CGAL/Gmpfr.h +++ b/Number_types/doc/Number_types/CGAL/Gmpfr.h @@ -12,8 +12,8 @@ than the precision of the result number, the results are rounded following different possible criteria (called rounding modes). Currently, Mpfr supports four rounding modes: round to nearest, -round toward zero, round down (or toward \f$ -\infty\f$) and round up -(or toward \f$ +\infty\f$). When not specified explicitly, the +round toward zero, round down (or toward \f$ (-\infty)\f$) and round up +(or toward \f$ (+\infty)\f$). When not specified explicitly, the operations use the default rounding mode, which is in practice a variable local to each execution thread. The default rounding mode can be set to any of the four rounding modes (initially, it is set diff --git a/Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex b/Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex index e1a49615ed0..d959f21b1eb 100644 --- a/Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex +++ b/Number_types/doc_tex/NumberTypeSupport_ref/Interval_nt.tex @@ -237,7 +237,7 @@ affected by this, he must take care to reset it to 'round to the nearest' before they are executed. % Note also that NaNs are not handled, so be careful with that -% (especially if you 'divide by zero'). +% (especially if you `divide by zero'). Notes:\\ \begin{itemize} diff --git a/Number_types/doc_tex/NumberTypeSupport_ref/Quotient.tex b/Number_types/doc_tex/NumberTypeSupport_ref/Quotient.tex index bf2557d69c5..05beb5e1d12 100644 --- a/Number_types/doc_tex/NumberTypeSupport_ref/Quotient.tex +++ b/Number_types/doc_tex/NumberTypeSupport_ref/Quotient.tex @@ -43,7 +43,7 @@ NT needs to have a constructor from T.} \ccGlue \ccConstructor{Quotient(const NT& n, const NT& d)} {introduces the quotient \ccStyle{n/d}.\\ - \ccPrecond{$d \neq 0$.} } + \ccPrecond $d \neq 0$. } \ccOperations @@ -74,12 +74,12 @@ The stream operations are available as well. They assume that corresponding stream operators for type \ccc{NT} exist. \ccFunction{std::ostream& operator<<(std::ostream& out, const Quotient& q);} - {writes \ccc{q} to ostream \ccc{out} in format "{\tt n/d}", where + {writes \ccc{q} to ostream \ccc{out} in format ``{\tt n/d}'', where {\tt n}$==$\ccc{q.numerator()} and {\tt d}$==$\ccc{q.denominator()}.} \ccFunction{std::istream& operator>>(std::istream& in, Quotient& q);} {reads \ccc{q} from istream \ccc{in}. Expected format is - "{\tt n/d}", where {\tt n} and {\tt d} are of type \ccc{NT}. + ``{\tt n/d}'', where {\tt n} and {\tt d} are of type \ccc{NT}. A single {\tt n} which is not followed by a {\tt /}\ is also accepted and interpreted as {\tt n/1}.} diff --git a/Number_types/doc_tex/NumberTypeSupport_ref/RootOf_2.tex b/Number_types/doc_tex/NumberTypeSupport_ref/RootOf_2.tex index 1b63e374c7e..c672ae18f19 100644 --- a/Number_types/doc_tex/NumberTypeSupport_ref/RootOf_2.tex +++ b/Number_types/doc_tex/NumberTypeSupport_ref/RootOf_2.tex @@ -34,21 +34,21 @@ special construction for extensions of degree 2:\\ \ccOperations \ccMethod{RootOf_2 & operator+=(const RootOf_2& a);} -{\ccPrecond{\ccc{*this} and \ccc{a} are defined in the same extension.}}\ccGlue +{\ccPrecond \ccc{*this} and \ccc{a} are defined in the same extension.}\ccGlue %\ccMethod{RootOf_2 & operator-=(const RootOf_2& a);} -%{\ccPrecond{\ccc{*this} and \ccc{a} are defined in the same extension.}}\ccGlue +%{\ccPrecond \ccc{*this} and \ccc{a} are defined in the same extension.}\ccGlue %\ccMethod{RootOf_2 & operator*=(const RootOf_2& a);} -%{\ccPrecond{\ccc{*this} and \ccc{a} are defined in the same extension.}}\ccGlue +%{\ccPrecond \ccc{*this} and \ccc{a} are defined in the same extension.}\ccGlue %\ccMethod{RootOf_2 & operator/=(const RootOf_2& a);} -%{\ccPrecond{\ccc{*this} and \ccc{a} are defined in the same extension.}} +%{\ccPrecond \ccc{*this} and \ccc{a} are defined in the same extension.} \ccFunction{RootOf_2 operator+(const RootOf_2&a,const RootOf_2& b);} -{\ccPrecond{\ccc{a} and \ccc{b} are defined in the same extension. }} +{\ccPrecond \ccc{a} and \ccc{b} are defined in the same extension. } %\ccFunction{RootOf_2 operator-(const RootOf_2&a,const RootOf_2& b);} -%{\ccPrecond{\ccc{a} and \ccc{b} are defined in the same extension.} }\ccGlue +%{\ccPrecond \ccc{a} and \ccc{b} are defined in the same extension. }\ccGlue %\ccFunction{RootOf_2 operator*(const RootOf_2&a,const RootOf_2& b);} -%{\ccPrecond{\ccc{a} and \ccc{b} are defined in the same extension.} }\ccGlue +%{\ccPrecond \ccc{a} and \ccc{b} are defined in the same extension. }\ccGlue %\ccFunction{RootOf_2 operator/(const RootOf_2&a,const RootOf_2& b);} -%{\ccPrecond{\ccc{a} and \ccc{b} are defined in the same extension.} } +%{\ccPrecond \ccc{a} and \ccc{b} are defined in the same extension. } \ccFunction{bool operator==(const RootOf_2&a,const RootOf_2& b);}{}\ccGlue %\ccFunction{bool operator!=(const RootOf_2&a,const RootOf_2& b);}{}\ccGlue diff --git a/Number_types/doc_tex/NumberTypeSupport_ref/Sqrt_extension.tex b/Number_types/doc_tex/NumberTypeSupport_ref/Sqrt_extension.tex index b6006a24c38..58ab6bb87fb 100644 --- a/Number_types/doc_tex/NumberTypeSupport_ref/Sqrt_extension.tex +++ b/Number_types/doc_tex/NumberTypeSupport_ref/Sqrt_extension.tex @@ -157,11 +157,11 @@ $a0 + a1 * sqrt(root)$. \ccMethod{CGAL::Sign sign () const;} {Determines the sign of \ccVar\ by (repeated) squaring. - \ccPrecond{\ccc{Sqrt_extension} is \ccc{RealEmbeddable}.}} + \ccPrecond \ccc{Sqrt_extension} is \ccc{RealEmbeddable}.} \ccMethod{Sqrt_extension abs () const;} {returns the absolute value of \ccVar. - \ccPrecond{\ccc{Sqrt_extension} is \ccc{RealEmbeddable}.}} + \ccPrecond \ccc{Sqrt_extension} is \ccc{RealEmbeddable}.} \ccMethod{ CGAL::Comparison_result compare @@ -173,44 +173,44 @@ CGAL::Comparison_result compare \ccFunction{Sqrt_extension operator+(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccFunction{Sqrt_extension operator-(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccFunction{Sqrt_extension operator*(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccMethod{Sqrt_extension & operator+=(const Sqrt_extension& a);} -{\ccPrecond{\ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())}} }\ccGlue +{\ccPrecond \ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())} }\ccGlue \ccMethod{Sqrt_extension & operator-=(const Sqrt_extension& a);} -{\ccPrecond{\ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())}} }\ccGlue +{\ccPrecond \ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())} }\ccGlue \ccMethod{Sqrt_extension & operator*=(const Sqrt_extension& a);} -{\ccPrecond{\ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())}} }\ccGlue +{\ccPrecond \ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())} }\ccGlue In case \ccc{NT} is only an \ccc{IntegralDomain} operator/ implements integral division. In case \ccc{NT} is a \ccc{Field} operator/ implements the field division. \ccFunction{Sqrt_extension operator/(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccMethod{Sqrt_extension & operator/=(const Sqrt_extension& a);} -{\ccPrecond{\ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())}} }\ccGlue +{\ccPrecond \ccc{(this->root()==0 or a.root()==0 or this->root() == a.root())} }\ccGlue \ccFunction{bool operator==(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccFunction{bool operator!=(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue In case \ccc{Sqrt_extension} is \ccc{RealEmbeddable}: \ccFunction{bool operator< (const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccFunction{bool operator<=(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccFunction{bool operator> (const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue \ccFunction{bool operator>=(const Sqrt_extension&a,const Sqrt_extension& b);} -{\ccPrecond{\ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())}} }\ccGlue +{\ccPrecond \ccc{(a.root()==0 or b.root()==0 or a.root() == b.root())} }\ccGlue diff --git a/Optimisation_basic/doc_tex/Optimisation_ref/main_Optimisation_d_traits.tex b/Optimisation_basic/doc_tex/Optimisation_ref/main_Optimisation_d_traits.tex index 18a82d8851f..0946c3f1612 100644 --- a/Optimisation_basic/doc_tex/Optimisation_ref/main_Optimisation_d_traits.tex +++ b/Optimisation_basic/doc_tex/Optimisation_ref/main_Optimisation_d_traits.tex @@ -2,7 +2,7 @@ % ============================================================================= % The CGAL Reference Manual % Chapter: Geometric Optimisation -% Content: reference pages of 'Optimisation_d_traits' +% Content: reference pages of `Optimisation_d_traits' % ----------------------------------------------------------------------------- % file : doc_tex/basic/Optimisation/Optimisation_ref/main_Optimisation_d.tex % package: Optimisation_basic diff --git a/Partition_2/doc_tex/Partition_2_ref/PolygonIsValid.tex b/Partition_2/doc_tex/Partition_2_ref/PolygonIsValid.tex index b6a537f1913..f29301103da 100644 --- a/Partition_2/doc_tex/Partition_2_ref/PolygonIsValid.tex +++ b/Partition_2/doc_tex/Partition_2_ref/PolygonIsValid.tex @@ -15,7 +15,7 @@ \ccDefinition Function object that determines if a sequence of points represents a -valid partition polygon or not, where "valid" can assume any of several +valid partition polygon or not, where ``valid'' can assume any of several meanings ({\it e.g.}, convex or $y$-monotone). \ccIndexSubitem{polygon partitioning}{valid} diff --git a/Partition_2/doc_tex/Partition_2_ref/approx_convex_partition_2.tex b/Partition_2/doc_tex/Partition_2_ref/approx_convex_partition_2.tex index 193e09e48e6..9de275aa0be 100644 --- a/Partition_2/doc_tex/Partition_2_ref/approx_convex_partition_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/approx_convex_partition_2.tex @@ -23,8 +23,8 @@ by the points in the range [\ccc{first}, \ccc{beyond}) into convex polygons. The counterclockwise-oriented partition polygons are written to the sequence starting at position \ccc{result}. The past-the-end iterator for the resulting sequence of polygons is returned. -\ccPrecond{The points in the range [\ccc{first}, \ccc{beyond}) define a simple -counterclockwise-oriented polygon.} +\ccPrecond The points in the range [\ccc{first}, \ccc{beyond}) define a simple +counterclockwise-oriented polygon. %\ccIndexSubitem[C]{approx_convex_partition_2}{preconditions} } diff --git a/Partition_2/doc_tex/Partition_2_ref/convex_partition_is_valid_2.tex b/Partition_2/doc_tex/Partition_2_ref/convex_partition_is_valid_2.tex index 229cac28208..9c04796139a 100644 --- a/Partition_2/doc_tex/Partition_2_ref/convex_partition_is_valid_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/convex_partition_is_valid_2.tex @@ -29,8 +29,8 @@ define a valid convex partition of the polygon defined by the points in the range [\ccc{point_first}, \ccc{point_beyond}). The function returns \ccc{true} iff the partition is valid and otherwise returns \ccc{false}. -\ccPrecond{The points in the range [\ccc{point_first}, \ccc{point_beyond}) -define a simple, counterclockwise-oriented polygon.} +\ccPrecond The points in the range [\ccc{point_first}, \ccc{point_beyond}) +define a simple, counterclockwise-oriented polygon. } \ccHeading{Requirements} diff --git a/Partition_2/doc_tex/Partition_2_ref/greene_approx_convex_partition_2.tex b/Partition_2/doc_tex/Partition_2_ref/greene_approx_convex_partition_2.tex index 24ade1f1daa..e6fcc7111ed 100644 --- a/Partition_2/doc_tex/Partition_2_ref/greene_approx_convex_partition_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/greene_approx_convex_partition_2.tex @@ -23,8 +23,8 @@ by the points in the range [\ccc{first}, \ccc{beyond}) into convex polygons. The counterclockwise-oriented partition polygons are written to the sequence starting at position \ccc{result}. The past-the-end iterator for the resulting sequence of polygons is returned. -\ccPrecond{The points in the range [\ccc{first}, \ccc{beyond}) define a simple, -counterclockwise-oriented polygon.} +\ccPrecond The points in the range [\ccc{first}, \ccc{beyond}) define a simple, +counterclockwise-oriented polygon. %\ccIndexSubitem[C]{greene_approx_convex_partition_2}{preconditions} } diff --git a/Partition_2/doc_tex/Partition_2_ref/intro.tex b/Partition_2/doc_tex/Partition_2_ref/intro.tex index 5df2b6c50cd..1c6caae651d 100644 --- a/Partition_2/doc_tex/Partition_2_ref/intro.tex +++ b/Partition_2/doc_tex/Partition_2_ref/intro.tex @@ -32,7 +32,7 @@ and $O(n)$ space for a polygon with $n$ vertices and guarantees nothing about the number of polygons produced with respect to the optimal number. Three functions are provided for producing convex partitions. Two of these functions produce approximately optimal -partitions and one results in an optimal partition, where "optimal" is +partitions and one results in an optimal partition, where ``optimal'' is defined in terms of the number of partition polygons. The two functions that implement approximation algorithms are guaranteed to produce no more than four times the optimal number of convex pieces. The optimal partitioning diff --git a/Partition_2/doc_tex/Partition_2_ref/optimal_convex_partition_2.tex b/Partition_2/doc_tex/Partition_2_ref/optimal_convex_partition_2.tex index 6070484e699..b988b4b9593 100644 --- a/Partition_2/doc_tex/Partition_2_ref/optimal_convex_partition_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/optimal_convex_partition_2.tex @@ -21,8 +21,8 @@ by the points in the range [\ccc{first}, \ccc{beyond}) into convex polygons. The counterclockwise-oriented partition polygons are written to the sequence starting at position \ccc{result}. The past-the-end iterator for the resulting sequence of polygons is returned. -\ccPrecond{The points in the range [\ccc{first}, \ccc{beyond}) define a -simple, counterclockwise-oriented polygon.} +\ccPrecond The points in the range [\ccc{first}, \ccc{beyond}) define a +simple, counterclockwise-oriented polygon. } \ccHeading{Requirements} diff --git a/Partition_2/doc_tex/Partition_2_ref/partition_is_valid_2.tex b/Partition_2/doc_tex/Partition_2_ref/partition_is_valid_2.tex index f43e9c063d0..5d0bbc6e039 100644 --- a/Partition_2/doc_tex/Partition_2_ref/partition_is_valid_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/partition_is_valid_2.tex @@ -29,8 +29,8 @@ points in the range [\ccc{point_first}, \ccc{point_beyond}) and \ccc{false} otherwise. Each polygon must also satisfy the property tested by \ccc{Traits::Is_valid()}. -\ccPrecond{Points in the range [\ccc{point_first}, \ccc{point_beyond}) define -a simple, counterclockwise-oriented polygon.} +\ccPrecond Points in the range [\ccc{point_first}, \ccc{point_beyond}) define +a simple, counterclockwise-oriented polygon. %\ccIndexSubitem[C]{partition_is_valid_2}{preconditions} } diff --git a/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_2.tex b/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_2.tex index 3fe9c7564cf..c738a25c002 100644 --- a/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_2.tex @@ -21,8 +21,8 @@ by the points in the range [\ccc{first}, \ccc{beyond}) into $y$-monotone polygons. The counterclockwise-oriented partition polygons are written to the sequence starting at position \ccc{result}. The past-the-end iterator for the resulting sequence of polygons is returned. -\ccPrecond{The points in the range [\ccc{first}, \ccc{beyond}) define a -simple, counterclockwise-oriented polygon.} +\ccPrecond The points in the range [\ccc{first}, \ccc{beyond}) define a +simple, counterclockwise-oriented polygon. %\ccIndexSubitem[C]{y_monotone_partition_2}{preconditions} } diff --git a/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_is_valid_2.tex b/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_is_valid_2.tex index e2113c64302..0de797fd8c1 100644 --- a/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_is_valid_2.tex +++ b/Partition_2/doc_tex/Partition_2_ref/y_monotone_partition_is_valid_2.tex @@ -28,8 +28,8 @@ define a valid $y$-monotone partition of the polygon represented by the points in the range [\ccc{point_first}, \ccc{point_beyond}). The function returns \ccc{true} iff the partition is valid and otherwise returns false. -\ccPrecond{Points in the range [\ccc{point_first}, \ccc{point_beyond}) define -a simple, counterclockwise-oriented polygon.} +\ccPrecond Points in the range [\ccc{point_first}, \ccc{point_beyond}) define +a simple, counterclockwise-oriented polygon. %\ccIndexSubitem[C]{y_monotone_partition_is_valid_2}{preconditions} } diff --git a/Periodic_3_triangulation_3/doc_tex/Periodic_3_triangulation_3/P3Triang3.tex b/Periodic_3_triangulation_3/doc_tex/Periodic_3_triangulation_3/P3Triang3.tex index ce439438e42..eef6d306de9 100644 --- a/Periodic_3_triangulation_3/doc_tex/Periodic_3_triangulation_3/P3Triang3.tex +++ b/Periodic_3_triangulation_3/doc_tex/Periodic_3_triangulation_3/P3Triang3.tex @@ -195,9 +195,9 @@ of the hierarchical structure described in chapter~\ref{chapter-Triangulation3} to the periodic case. \section{Software Design\label{P3Triangulation3-sec-design}} -We have chosen the prefix "Periodic\_3" to emphasize that the +We have chosen the prefix ``Periodic\_3'' to emphasize that the triangulation is periodic in all three directions of space. There are -also "cylindrical" periodicities where the triangulation is periodic +also ``cylindrical'' periodicities where the triangulation is periodic only in one or two directions of space. The two main classes \ccc{Periodic_3_Delaunay_triangulation_3} and diff --git a/Point_set_2/doc_tex/Point_set_2_ref/Point_set_2.tex b/Point_set_2/doc_tex/Point_set_2_ref/Point_set_2.tex index a84349cd981..dbc52d2308c 100644 --- a/Point_set_2/doc_tex/Point_set_2_ref/Point_set_2.tex +++ b/Point_set_2/doc_tex/Point_set_2_ref/Point_set_2.tex @@ -76,7 +76,7 @@ If $v$ is the only vertex in \ccVar\ , $NULL$ is returned. OutputIterator nearest_neighbors(Point p, size_type k, OutputIterator res);} { computes the $k$ nearest neighbors of $p$ in \ccVar, and places the handles to the corresponding vertices as a sequence of objects of type -Vertex\_handle in a container of value type of \ccc{res} +Vertex\_handle in a container of value type of $res$ which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence. } @@ -84,7 +84,7 @@ of the sequence. } \ccMethod{template OutputIterator nearest_neighbors(Vertex_handle v, size_type k,OutputIterator res);} { computes the $k$ nearest neighbors of $v$, and places them as a sequence of objects of type -Vertex\_handle in a container of value type of \ccc{res} +Vertex\_handle in a container of value type of $res$ which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence. } @@ -93,7 +93,7 @@ of the sequence. } OutputIterator range_search(const Circle& C, OutputIterator res);} { computes handles to all vertices contained in the closure of disk $C$. The computed vertex handles will be placed as a sequence of objects in a container of value type -of \ccc{res} +of $res$ which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence. @@ -102,9 +102,9 @@ of the sequence. \ccMethod{template OutputIterator range_search(const Point& a, const Point& b, const Point& c,OutputIterator res);} { computes handles to all vertices contained in the closure of the triangle $(a,b,c)$.\\ -\ccPrecond{$a$, $b$, and $c$ must not be collinear.} +\ccPrecond $a$, $b$, and $c$ must not be collinear. The computed vertex handles will be placed as a sequence of objects in a container of value type -of \ccc{res} +of $res$ which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence. @@ -114,10 +114,10 @@ of the sequence. OutputIterator range_search(const Point& a1, const Point& b1, const Point& c1,const Point& d1,OutputIterator res);} { computes handles to all vertices contained in the closure of the iso-rectangle $(a1,b1,c1,d1)$.\\ -\ccPrecond{$a1$ is the upper left point, $b1$ the lower left, $c1$ the lower -right and $d1$ the upper right point of the iso rectangle.} +\ccPrecond $a1$ is the upper left point, $b1$ the lower left, $c1$ the lower +right and $d1$ the upper right point of the iso rectangle. The computed vertex handles will be placed as a sequence of objects in a container of value type -of \ccc{res} +of $res$ which points to the first object in the sequence. The function returns an output iterator pointing to the position beyond the end of the sequence. diff --git a/Point_set_2/doc_tex/Point_set_2_ref/range_search.tex b/Point_set_2/doc_tex/Point_set_2_ref/range_search.tex index 0aaa50f7a74..2a0dd77484d 100644 --- a/Point_set_2/doc_tex/Point_set_2_ref/range_search.tex +++ b/Point_set_2/doc_tex/Point_set_2_ref/range_search.tex @@ -44,7 +44,7 @@ the Delaunay triangulation data type: OutputIterator range_search(Dt& delau, const Dt::Point& a, const Dt::Point& b, const Dt::Point& c,OutputIterator res);} {computes handles to all vertices contained in the closure of the triangle $(a,b,c)$.\\ -\ccPrecond{$a$, $b$, and $c$ must not be collinear. } +\ccPrecond $a$, $b$, and $c$ must not be collinear. The computed vertex handles will be placed as a sequence of objects in a container of value type of $res$ which points to the first object in the sequence. The function @@ -73,8 +73,8 @@ the Delaunay triangulation data type: \ccFunction{template OutputIterator range_search(Dt& delau, const Dt::Point& a, const Dt::Point& b, const Dt::Point& c,const Dt::Point& d,OutputIterator res) ;} {computes handles to all vertices contained in the closure of the iso-rectangle $(a,b,c,d)$.\\ -\ccPrecond{$a$ is the upper left point, $b$ the lower left, $c$ the lower -right and $d$ the upper right point of the iso rectangle.} +\ccPrecond $a$ is the upper left point, $b$ the lower left, $c$ the lower +right and $d$ the upper right point of the iso rectangle. The computed vertex handles will be placed as a sequence of objects in a container of value type of $res$ which points to the first object in the sequence. The function @@ -129,7 +129,7 @@ call to the \ccc{operator()} of the predicate returned $true$, $false$ otherwis OutputIterator range_search(Dt& delau, const Dt::Point& a, const Dt::Point& b, const Dt::Point& c,OutputIterator res, Pred& pred, bool return_if_succeded);} {computes handles to all vertices contained in the closure of the triangle $(a,b,c)$.\\ -\ccPrecond{$a$, $b$, and $c$ must not be collinear.} +\ccPrecond $a$, $b$, and $c$ must not be collinear. The computed vertex handles will be placed as a sequence of objects in a container of value type of $res$ which points to the first object in the sequence. The function @@ -147,8 +147,8 @@ For the requirements of \ccc{Pred} see the description above. \\ OutputIterator range_search(Dt& delau, const Dt::Point& a, const Dt::Point& b, const Dt::Point& c,const Dt::Point& d, OutputIterator res, Pred& pred, bool return_if_succeded);} {computes handles to all vertices contained in the closure of the iso-rectangle $(a,b,c,d)$.\\ -\ccPrecond{$a$ is the upper left point, $b$ the lower left, $c$ the lower -right and $d$ the upper right point of the iso rectangle.} +\ccPrecond $a$ is the upper left point, $b$ the lower left, $c$ the lower +right and $d$ the upper right point of the iso rectangle. The computed vertex handles will be placed as a sequence of objects in a container of value type of $res$ which points to the first object in the sequence. The function diff --git a/Point_set_processing_3/doc_tex/Property_map/Property_map.tex b/Point_set_processing_3/doc_tex/Property_map/Property_map.tex index 11ef7940c42..f0078792e85 100644 --- a/Point_set_processing_3/doc_tex/Property_map/Property_map.tex +++ b/Point_set_processing_3/doc_tex/Property_map/Property_map.tex @@ -7,7 +7,7 @@ The Boost Property Map Library also contains a few adaptors that convert commonl Free functions \ccc{get} and \ccc{put} allow getting and putting information through a property map. The data themselves may be stored in the element, or they may be stored in an external data structure, or they may be computed on -the fly. This is an "implementation detail" of the particular property map. +the fly. This is an ``implementation detail'' of the particular property map. \smallskip Property maps in the Boost manuals: \path|http://www.boost.org/libs/property_map/doc/property_map.html| diff --git a/Polygon/doc_tex/Polygon_ref/Polygon_2.tex b/Polygon/doc_tex/Polygon_ref/Polygon_2.tex index 5c705a292d5..5ef5d469afe 100644 --- a/Polygon/doc_tex/Polygon_ref/Polygon_2.tex +++ b/Polygon/doc_tex/Polygon_ref/Polygon_2.tex @@ -157,14 +157,14 @@ circulators and iterators that allow to traverse the vertices and edges. \ccMethod{Orientation orientation() const;} { Returns the orientation of \ccVar. If the number of vertices $\ccStyle{p.size()} < 3$ then \ccStyle{COLLINEAR} is returned. - \ccPrecond{\ccStyle{p.is_simple()}}. + \ccPrecond \ccStyle{p.is_simple()}. } \ccMethod{Oriented_side oriented_side(const Point_2& q) const;} { Returns \ccStyle{POSITIVE_SIDE}, or \ccStyle{NEGATIVE_SIDE}, or \ccStyle{ON_ORIENTED_BOUNDARY}, depending on where point \ccStyle{q} is. - \ccPrecond{\ccStyle{p.is_simple()}}. + \ccPrecond \ccStyle{p.is_simple()}. } \ccMethod{Bounded_side bounded_side(const Point_2& q) const;} @@ -172,7 +172,7 @@ circulators and iterators that allow to traverse the vertices and edges. \ccStyle{ON_BOUNDARY} or \ccStyle{ON_UNBOUNDED_SIDE}, depending on where point \ccStyle{q} is. - \ccPrecond{\ccStyle{p.is_simple()}}. + \ccPrecond \ccStyle{p.is_simple()}. } \ccMethod{Bbox_2 bbox() const;} @@ -296,12 +296,12 @@ The format for the iostream is an internal format. \ccFunction{ostream& operator<<(ostream& os, const Polygon_2& p);} {Inserts the polygon \ccVar\ into the stream \ccc{os}. -\ccPrecond{The insert operator must be defined for \ccc{Point_2}.}} +\ccPrecond The insert operator must be defined for \ccc{Point_2}.} \ccFunction{istream& operator>>(istream& is, const Polygon_2& p);} {Reads a polygon from stream \ccc{is} and assigns it -to \ccVar. \ccPrecond{The extract operator must be defined for \ccc{Point_2}.}} +to \ccVar. \ccPrecond The extract operator must be defined for \ccc{Point_2}.} The information output in the \ccc{iostream} is the number of points followed by the output of the coordinates of the vertices. diff --git a/Polygon/doc_tex/Polygon_ref/orientation_2.tex b/Polygon/doc_tex/Polygon_ref/orientation_2.tex index ebac62a8be2..550dd454905 100644 --- a/Polygon/doc_tex/Polygon_ref/orientation_2.tex +++ b/Polygon/doc_tex/Polygon_ref/orientation_2.tex @@ -28,7 +28,7 @@ template Orientation orientation_2(ForwardIterator first, ForwardIterator last, const Traits& traits);} { -\ccPrecond{\ccc{is_simple_2(first, last, traits);}} +\ccPrecond \ccc{is_simple_2(first, last, traits);} } diff --git a/Polyhedron/doc_tex/Polyhedron/main.tex b/Polyhedron/doc_tex/Polyhedron/main.tex index 589b091b7f4..d335e44c348 100644 --- a/Polyhedron/doc_tex/Polyhedron/main.tex +++ b/Polyhedron/doc_tex/Polyhedron/main.tex @@ -184,7 +184,7 @@ example, given a halfedge handle \ccc{h} we can write \ccc{h->next()} to get a halfedge handle to the next halfedge, \ccc{h->opposite()} for the opposite halfedge, \ccc{h->vertex()} for the incident vertex at the tip of \ccc{h}, and so on. The output of the program will be -"\verb|1 0 0\n0 1 0\n0 0 1\n0 0 0\n|". +``\verb|1 0 0\n0 1 0\n0 0 1\n0 0 0\n|''. %\newpage \ccIncludeExampleCode{Polyhedron/polyhedron_prog_tetra.cpp} @@ -371,7 +371,7 @@ is the default format, iostream operators are provided for it. Additional formats supported for writing are OpenInventor ({\tt .iv}) \cite{cgal:w-impoo-94}, VRML 1.0 and 2.0 ({\tt .wrl}) -\cite{cgal:bpp-vrml-95}, \cite{cgal:vrmls-96}, \cite{cgal:hw-vrml2h-96}, and Wavefront Advanced +\cite{cgal:bpp-vrml-95,cgal:vrmls-96,cgal:hw-vrml2h-96}, and Wavefront Advanced Visualizer object format ({\tt .obj}). Another convenient output function writes a polyhedral surface to a Geomview process spawned from the \cgal\ program. These output functions are provided as diff --git a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3.tex b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3.tex index 967269118ec..25dd54a619c 100644 --- a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3.tex +++ b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3.tex @@ -406,9 +406,9 @@ unchanged. operation, i.e., the new diagonal. The new face is to the right of the new diagonal, the old face is to the left. The time is proportional to the distance from \ccc{h} to \ccc{g} around the facet. - \ccPrecond{\ccc{h} and \ccc{g} are incident to the same facet. + \ccPrecond \ccc{h} and \ccc{g} are incident to the same facet. \ccc{h != g} (no loops). \ccc{h->next() != g} and - \ccc{g->next() != h} (no multi-edges).}} + \ccc{g->next() != h} (no multi-edges).} \ccMethod{Halfedge_handle join_facet( Halfedge_handle h);} {joins the two facets incident to $h$. The facet incident to @@ -417,8 +417,8 @@ unchanged. \ccc{join_facet( split_facet( h, g))} returns $h$ and keeps the polyhedron unchanged. The time is proportional to the size of the facet removed and the time to compute \ccc{h->prev()}. - \ccPrecond{The degree of both vertices incident to $h$ is at least - three (no antennas).} + \ccPrecond The degree of both vertices incident to $h$ is at least + three (no antennas). \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -442,8 +442,8 @@ unchanged. vertex. The split returns \ccc{hnew}, i.e., the new halfedge incident to the old vertex. The time is proportional to the distance from \ccc{h} to \ccc{g} around the vertex. - \ccPrecond{\ccc{h} and \ccc{g} are incident to the same vertex. - \ccc{h != g} (antennas are not allowed).} + \ccPrecond \ccc{h} and \ccc{g} are incident to the same vertex. + \ccc{h != g} (antennas are not allowed). \ccCommentHeading{Note} A special application of the split is \ccc{split_vertex(h,h->next()->opposite())} which is equivalent to an edge split of the halfedge \ccc{h->next()} that creates a new @@ -458,8 +458,8 @@ unchanged. $h$ and keeps the polyhedron unchanged. The time is proportional to the degree of the vertex removed and the time to compute \ccc{h->prev()} and \ccc{h->opposite()->prev()}. - \ccPrecond{The size of both facets incident to $h$ is at least - four (no multi-edges).} + \ccPrecond The size of both facets incident to $h$ is at least + four (no multi-edges). \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -477,8 +477,8 @@ unchanged. \ccMethod{Halfedge_handle flip_edge( Halfedge_handle h);} {performs an edge flip. It returns $h$ after rotating the edge $h$ one vertex in the direction of the face orientation. - \ccPrecond{\ccc{h != Halfedge_handle()} and both facets incident - to $h$ are triangles.}} + \ccPrecond \ccc{h != Halfedge_handle()} and both facets incident + to $h$ are triangles.} \begin{ccTexOnly} \begin{center} @@ -502,7 +502,7 @@ unchanged. are copies of this facet. Returns the halfedge \ccc{h->next()} after the operation, i.e., a halfedge pointing to the new vertex. The time is proportional to the size of the facet. - \ccPrecond{\ccc{h} is not a border halfedge.}} + \ccPrecond \ccc{h} is not a border halfedge.} \ccMethod{Halfedge_handle erase_center_vertex( Halfedge_handle g);} {reverses \ccc{create_center_vertex}. Erases the @@ -513,12 +513,12 @@ unchanged. Thus, the invariant \ccc{h == erase_center_vertex( create_center_vertex(h))} holds if \ccc{h} is not a border halfedge. The time is proportional to the sum of the size of all incident facets. - \ccPrecond{None of the incident facets of \ccc{g->vertex()} is + \ccPrecond None of the incident facets of \ccc{g->vertex()} is a hole. There are at least two distinct facets incident to the facets that are incident to \ccc{g->vertex()}. (This prevents the operation from collapsing a volume into two facets glued together with opposite orientations, such as would - happen with any vertex of a tetrahedron.)} + happen with any vertex of a tetrahedron.) \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -551,11 +551,11 @@ unchanged. triangles are created. $h,i,j$ will be incident to the first new triangle. The return value will be the halfedge incident to the second new triangle which is the copy of \ccc{h-opposite()}. - \ccPrecond{$h,i,j$ denote distinct, consecutive vertices of the + \ccPrecond $h,i,j$ denote distinct, consecutive vertices of the polyhedron and form a cycle: i.e., \ccc{h->vertex() == i->opposite()->vertex()}, \ldots, \ccc{j->vertex() == h->opposite()->vertex()}. The six facets incident to $h,i,j$ are all - distinct.} + distinct. } \ccMethod{Halfedge_handle join_loop( Halfedge_handle h, @@ -565,8 +565,8 @@ unchanged. by $g$ gets removed. Both facets may be holes. The invariant \ccc{join_loop( h, split_loop( h, i, j))} returns $h$ and keeps the polyhedron unchanged. - \ccPrecond{The facets denoted by $h$ and $g$ are different and have - equal degree (i.e., number of edges).} + \ccPrecond The facets denoted by $h$ and $g$ are different and have + equal degree (i.e., number of edges). \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} @@ -577,14 +577,14 @@ unchanged. {removes the incident facet of $h$ and changes all halfedges incident to the facet into border edges. Returns $h$. See \ccc{erase_facet(h)} for a more generalized variant. - \ccPrecond{None of the incident halfedges of the facet is a border edge.} + \ccPrecond None of the incident halfedges of the facet is a border edge. \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} \ccMethod{Halfedge_handle fill_hole( Halfedge_handle h);}{ fills a hole with a newly created facet. Makes all border halfedges of the hole denoted by $h$ incident to the new facet. Returns $h$. - \ccPrecond{\ccc{h.is_border()}}.} + \ccPrecond \ccc{h.is_border()}.} \begin{ccTexOnly} \begin{center} @@ -610,8 +610,8 @@ unchanged. part of the hole with a new facet, such that the new facet is incident to $g$. Returns the halfedge of the new edge that is incident to the new facet and the new vertex. - \ccPrecond{\ccc{h->is_border()}, \ccc{g->is_border()}, \ccc{h != g}, - and $g$ can be reached along the same hole starting with $h$.}} + \ccPrecond \ccc{h->is_border()}, \ccc{g->is_border()}, \ccc{h != g}, + and $g$ can be reached along the same hole starting with $h$.} \begin{ccHtmlOnly}
@@ -627,9 +627,9 @@ unchanged. with a new halfedge and filling this separated part of the hole with a new facet, such that the new facet is incident to $g$. Returns the halfedge of the new edge that is incident to the new facet. - \ccPrecond{\ccc{h->is_border()}, \ccc{g->is_border()}, \ccc{h != g}, + \ccPrecond \ccc{h->is_border()}, \ccc{g->is_border()}, \ccc{h != g}, \ccc{h->next() != g}, and $g$ can be reached along the same hole - starting with $h$.}} + starting with $h$.} % +-----------------------------------+ @@ -641,7 +641,7 @@ unchanged. polyhedral surface if they were already border edges. If this creates isolated vertices they get removed as well. See \ccc{make_hole(h)} for a more specialized variant. - \ccPrecond{\ccc{h->is_border() == false}.} \ccCommentHeading{Requirement} + \ccPrecond \ccc{h->is_border() == false}. \ccCommentHeading{Requirement} \ccc{Supports_removal} $\equiv$ \ccc{CGAL::Tag_true}.} \ccMethod{void erase_connected_component( Halfedge_handle h);} @@ -694,13 +694,13 @@ automatically updated. \ccMethod{size_type size_of_border_halfedges() const;} {number of border halfedges. - \ccPrecond{last \ccc{normalize_border()} call still valid, see above.}} + \ccPrecond last \ccc{normalize_border()} call still valid, see above.} \ccMethod{size_type size_of_border_edges() const;} {number of border edges. Since each border edge of a polyhedral surface has exactly one border halfedge, this number is equal to \ccc{size_of_border_halfedges()}. - \ccPrecond{last \ccc{normalize_border()} call still valid, see above.}} + \ccPrecond last \ccc{normalize_border()} call still valid, see above.} \ccMethod{Halfedge_iterator border_halfedges_begin();} {halfedge iterator starting with the border edges. The range @@ -708,7 +708,7 @@ automatically updated. all non-border halfedges. The range [\ccStyle{border_halfedges_begin(), halfedges_end()}) denotes all border edges. - \ccPrecond{last \ccc{normalize_border()} call still valid, see above.}} + \ccPrecond last \ccc{normalize_border()} call still valid, see above.} \ccMethod{Edge_iterator border_edges_begin();} {edge iterator starting with the border edges. The range @@ -716,7 +716,7 @@ automatically updated. all non-border edges. The range [\ccStyle{border_edges_begin(), edges_end()}) denotes all border edges. - \ccPrecond{last \ccc{normalize_border()} call still valid, see above.}} + \ccPrecond last \ccc{normalize_border()} call still valid, see above.} \end{ccAdvanced} @@ -752,8 +752,8 @@ automatically updated. {calls the \ccc{operator()} of the modifier $m$. See \ccc{CGAL::Modifier_base} for a description of modifier design and its usage. - \ccPrecond{The polyhedral surface must be valid when the modifier - returns from execution.}} + \ccPrecond The polyhedral surface must be valid when the modifier + returns from execution.} \end{ccAdvanced} \ccSeeAlso diff --git a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Facet.tex b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Facet.tex index b05aa9ab8cb..518b58dba5a 100644 --- a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Facet.tex +++ b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Facet.tex @@ -113,7 +113,7 @@ of the forward category. \ccMethod{void set_halfedge( Halfedge_handle h);} {sets incident halfedge to \ccc{h}. - \ccPrecond{\ccc{h} is incident, i.e., \ccc{h->facet() ==} \ccVar.}} + \ccPrecond \ccc{h} is incident, i.e., \ccc{h->facet() ==} \ccVar.} \ccMethod{std::size_t facet_degree() const;}{the degree of the facet, i.e., number of edges on the boundary of this facet.} diff --git a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Vertex.tex b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Vertex.tex index fbd0447c844..5a655f2fa4e 100644 --- a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Vertex.tex +++ b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_3_Vertex.tex @@ -98,7 +98,7 @@ of the forward category. \ccMethod{void set_halfedge( Halfedge_handle h);} {sets incident halfedge to \ccc{h}. - \ccPrecond{\ccc{h} is incident, i.e., \ccc{h->vertex() ==} \ccVar.}} + \ccPrecond \ccc{h} is incident, i.e., \ccc{h->vertex() ==} \ccVar.} \ccMethod{std::size_t vertex_degree() const;}{the degree of the vertex, i.e., number of edges emanating from this vertex.} diff --git a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_incremental_builder_3.tex b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_incremental_builder_3.tex index e3fa44632df..520a3095ae0 100644 --- a/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_incremental_builder_3.tex +++ b/Polyhedron/doc_tex/Polyhedron_ref/Polyhedron_incremental_builder_3.tex @@ -25,7 +25,7 @@ construction of polyhedral surfaces, which is for example convenient when constructing polyhedral surfaces from file formats, such as the Object File Format (OFF)~\cite{cgal:p-gmgv16-96}, OpenInventor~\cite{cgal:w-impoo-94} or -VRML~\cite{cgal:bpp-vrml-95}, \cite{cgal:vrmls-96}. +VRML~\cite{cgal:bpp-vrml-95,cgal:vrmls-96}. \ccClassTemplateName\ needs access to the internal halfedge data structure of type \ccc{HDS} of the polyhedral surface. It is intended to be used within a modifier, see \ccc{CGAL::Modifier_base}. @@ -155,16 +155,16 @@ section: is a synonym for \ccc{begin_facet()}, a call to \ccc{add_vertex_to_facet()} for each value in the range \ccc{[first,beyond)}, and a call to \ccc{end_facet()}. Returns the return value of \ccc{end_facet()}. - \ccPrecond{The value type of \ccc{InputIterator} is \ccc{std::size_t}. - All indices must refer to vertices already added.}} + \ccPrecond The value type of \ccc{InputIterator} is \ccc{std::size_t}. + All indices must refer to vertices already added.} \ccMethod{template bool test_facet( InputIterator first, InputIterator beyond);}{ returns \ccc{true} if a facet described by the vertex indices in the range \ccc{[first,beyond)} can be successfully inserted, e.g., with \ccc{add_facet(first,beyond)}. - \ccPrecond{The value type of \ccc{InputIterator} is \ccc{std::size_t}. - All indices must refer to vertices already added.}} + \ccPrecond The value type of \ccc{InputIterator} is \ccc{std::size_t}. + All indices must refer to vertices already added.} \ccMethod{Vertex_handle vertex( std::size_t i);}{ returns handle for the vertex of index $i$, or \ccc{Vertex_handle} if diff --git a/Polynomial/doc_tex/Polynomial_ref/Exponent_vector.tex b/Polynomial/doc_tex/Polynomial_ref/Exponent_vector.tex index ae40e7439b4..0818a16ae85 100644 --- a/Polynomial/doc_tex/Polynomial_ref/Exponent_vector.tex +++ b/Polynomial/doc_tex/Polynomial_ref/Exponent_vector.tex @@ -72,7 +72,7 @@ outermost variable of a multivariate polynomial. template < class InputIterator > Exponent_vector(InputIterator begin, InputIterator end);}{ Creates a vector with a copy of the given range. - \ccPrecond{\ccc{InputIterator} must allow the value type \ccc{int}.} \\ + \ccPrecond \ccc{InputIterator} must allow the value type \ccc{int}. \\ }\ccGlue \ccOperations @@ -91,23 +91,23 @@ Group Operation: \ccFunction{Exponent_vector operator+(const Exponent_vector &ev1, const Exponent_vector &ev2);}{ - \ccPrecond{ev1.size() == ev2.size().} + \ccPrecond ev1.size() == ev2.size() } \ccGlue \ccFunction{Exponent_vector operator-(const Exponent_vector &ev1, const Exponent_vector &ev2);}{ - \ccPrecond{ev1.size() == ev2.size()} + \ccPrecond ev1.size() == ev2.size() } \ccGlue \ccMethod{Exponent_vector operator+=(const Exponent_vector &ev2);}{ - \ccPrecond{\ccVar.size() == ev2.size()} + \ccPrecond \ccVar.size() == ev2.size() } \ccGlue \ccMethod{Exponent_vector operator-=(const Exponent_vector &ev2);}{ - \ccPrecond{\ccVar.size() == ev2.size()} + \ccPrecond \ccVar.size() == ev2.size() } %\begin{ccAdvanced} diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ConstructPolynomial.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ConstructPolynomial.tex index 0f93fe95f6d..3c2723fdc9e 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ConstructPolynomial.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ConstructPolynomial.tex @@ -33,8 +33,8 @@ to construct objects of type \ccc{PolynomialTraits_d::Polynomial_d}. \ccMethod{template < class InputIterator > result_type operator()(InputIterator begin, InputIterator end);} - {\ccPrecond{The value type of \ccc{InputIterator} is - \ccc{PolynomialTraits_d::Coefficient_type}.} \\ + {\ccPrecond The value type of \ccc{InputIterator} is + \ccc{PolynomialTraits_d::Coefficient_type}. \\ The operator constructs the a polynomial from the iterator range, with respect to the outermost variable, $x_{d-1}$. \\ @@ -53,11 +53,11 @@ to construct objects of type \ccc{PolynomialTraits_d::Polynomial_d}. The optional parameter \ccc{is_sorted} indicates whether the given iterator range is already sorted. - \ccPrecond{The value type of \ccc{InputIterator} is + \ccPrecond The value type of \ccc{InputIterator} is \ccc{std::pair}.} - \ccPrecond{Each \ccc{Exponent_vector} must have size $d$.} - \ccPrecond{All appearing \ccc{Exponent_vector}s are different.} + PolynomialTraits_d::Innermost_coefficient_type>}. + \ccPrecond Each \ccc{Exponent_vector} must have size $d$. + \ccPrecond All appearing \ccc{Exponent_vector}s are different. } diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Degree.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Degree.tex index cb79a0edd84..2510a8242fd 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Degree.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Degree.tex @@ -35,7 +35,7 @@ be $-infinity$, but this would imply an inconvenient return type. {Computes the degree of $p$ with respect to the outermost variable $x_{d-1}$.} \ccMethod{result_type operator()(argument_type p, int i);} {Computes the degree of $p$ with respect to variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Differentiate.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Differentiate.tex index 18da21f3fd8..6323f43ae6a 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Differentiate.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Differentiate.tex @@ -23,7 +23,7 @@ This \ccc{AdaptableUnaryFunction} computes the derivative of a \ccMethod{result_type operator()(argument_type p, int i);} { Returns $p'$, with respect to variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Evaluate.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Evaluate.tex index 0370ab0af73..423a759c99a 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Evaluate.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Evaluate.tex @@ -26,7 +26,7 @@ This \ccc{AdaptableBinaryFunction} evaluates % second_argument_type x, % int i);} % { Returns $p(x)$, with respect to variable $x_i$. -% \ccPrecond{$0 \leq i < d$.} +% \ccPrecond $0 \leq i < d$ % } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_EvaluateHomogeneous.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_EvaluateHomogeneous.tex index 90fe72511b0..e0bb28f4f8f 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_EvaluateHomogeneous.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_EvaluateHomogeneous.tex @@ -32,7 +32,7 @@ $p[x](u,v) = 5x^2u^3 + uv^2$ and evaluated as such. % int i);}{ % Returns $p(u,v)$, with respect to the variable $x_i$. % \\ The homogeneous degree is considered as equal to the $degree(p,i)$. -% \ccPrecond{$0 \leq i < d$.} +% \ccPrecond $0 \leq i < d$ % } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_GetCoefficient.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_GetCoefficient.tex index 40cfb5736a1..8b7c265bf5e 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_GetCoefficient.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_GetCoefficient.tex @@ -29,7 +29,7 @@ of $x_{d-1}^e$, where $x_{d-1}$ is the outermost variable.} % second_argument_type e, % int i);}{ %For given polynomial $p$ this operator returns coefficient of $x_{i}^e$. -%\ccPrecond{$0 \leq i < d$.} +%\ccPrecond $0 \leq i < d$ %} %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IntegralDivisionUpToConstantFactor.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IntegralDivisionUpToConstantFactor.tex index a32cc55b150..f0d8001925c 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IntegralDivisionUpToConstantFactor.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_IntegralDivisionUpToConstantFactor.tex @@ -7,8 +7,8 @@ of two polynomials of type \ccc{PolynomialTraits_d::Polynomial_d} {\em up to a constant factor (utcf)} . -\ccPrecond{$g$ divides $f$ in $Q(R)[x_0,\dots,x_{d-1}]$, where $Q(R)$ is the quotient -field of the base ring $R$, \ccc{PolynomialTraits_d::Innermost_coefficient_type}.} +\ccPrecond $g$ divides $f$ in $Q(R)[x_0,\dots,x_{d-1}]$, where $Q(R)$ is the quotient +field of the base ring $R$, \ccc{PolynomialTraits_d::Innermost_coefficient_type}. \ccRefines @@ -41,4 +41,4 @@ field of the base ring $R$, \ccc{PolynomialTraits_d::Innermost_coefficient_type} \ccRefIdfierPage{PolynomialTraits_d}\\ \ccRefIdfierPage{PolynomialTraits_d::GcdUpToConstantFactor}\\ -\end{ccRefConcept} +\end{ccRefConcept} \ No newline at end of file diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Invert.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Invert.tex index 69ba244b5b4..bf4b59c83ea 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Invert.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Invert.tex @@ -34,7 +34,7 @@ order of the coefficients with respect to the specified variable. \ccMethod{result_type operator()(argument_type p, int i);}{ Return $x^{degree(p,i)}p(1/x)$, where x refers to the variable $x_{i}$. - \ccPrecond{$0 \leq i < d$.} } + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_LeadingCoefficient.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_LeadingCoefficient.tex index 38aa48b39de..c8af8f6f222 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_LeadingCoefficient.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_LeadingCoefficient.tex @@ -24,7 +24,7 @@ of a \ccc{PolynomialTraits_d::Polynomial_d}. % \ccMethod{result_type operator()(argument_type p, int i);}{ % Computes the leading coefficient of $p$ with respect to variable $x_i$. -% \ccPrecond{$0 \leq i < d$.} +% \ccPrecond $0 \leq i < d$ % } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Move.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Move.tex index 83a9a0e8f61..5c879bb658a 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Move.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Move.tex @@ -26,8 +26,8 @@ This function may be used to make a certain variable the outer most variable. int i, int j);}{ This function moves the variable at position $i$ to its new position $j$ and returns the new polynomial. The relative order of the other variables is preserved. - \ccPrecond{$0 \leq i < d$.} - \ccPrecond{$0 \leq j < d$.} + \ccPrecond $0 \leq i < d$ + \ccPrecond $0 \leq j < d$ } @@ -39,4 +39,4 @@ the new polynomial. The relative order of the other variables is preserved. \ccRefIdfierPage{Polynomial_d}\\ \ccRefIdfierPage{PolynomialTraits_d}\\ -\end{ccRefConcept} +\end{ccRefConcept} \ No newline at end of file diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Negate.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Negate.tex index e322490f20e..9f8506062ae 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Negate.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Negate.tex @@ -27,7 +27,7 @@ of all odd coefficients with respect to the specified variable. \ccMethod{result_type operator()(argument_type p, int i);} { Returns $p(-x)$, with respect to variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Resultant.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Resultant.tex index ea9c016b4c8..89c0fb889f6 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Resultant.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Resultant.tex @@ -90,7 +90,7 @@ For more information we refer to, e.g., \cite{gg-mca-99}. % int i);} % { Computes the resultant of $f$ and $g$, % with respect to variable $x_i$. -% \ccPrecond{$0 \leq i < d$.} +% \ccPrecond $0 \leq i < d$ % } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Scale.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Scale.tex index 8bb95cb21b1..42ad1e0069f 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Scale.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Scale.tex @@ -31,7 +31,7 @@ the polynomial is considered as a univariate polynomial in one specific variable second_argument_type c, int i);} { Same as first operator but for variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ScaleHomogeneous.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ScaleHomogeneous.tex index 1ee5255765b..c29987a79ca 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ScaleHomogeneous.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_ScaleHomogeneous.tex @@ -30,7 +30,7 @@ the polynomial is considered as a univariate homogeneous polynomial in one speci PolynomialTraits_d::Innermost_coefficient_type b, int i);} { Same as first operator but for variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels @@ -40,4 +40,4 @@ the polynomial is considered as a univariate homogeneous polynomial in one speci \ccRefIdfierPage{Polynomial_d}\\ \ccRefIdfierPage{PolynomialTraits_d}\\ -\end{ccRefConcept} +\end{ccRefConcept} \ No newline at end of file diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Shift.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Shift.tex index 2fd7c56c0e6..9813be9ae97 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Shift.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Shift.tex @@ -23,13 +23,13 @@ will in general correspond to a shift of coefficients in the internal representa \ccMethod{result_type operator()(first_argument_type p, second_argument_type e);} { Returns $p * x_{d-1}^e$. - \ccPrecond{$0 \leq e$.}} + \ccPrecond $0 \leq e$ } \ccMethod{result_type operator()(first_argument_type p, second_argument_type e, int i);} { Returns $p * x_{i}^e$. - \ccPrecond{$0 \leq e$.} - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq e$ + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Swap.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Swap.tex index 1a4e4cb53f0..6096e14aa88 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Swap.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Swap.tex @@ -21,8 +21,8 @@ This \ccc{AdaptableFunctor} swaps two variables of a multivariate polynomial. \ccMethod{result_type operator()(PolynomialTraits_d::Polynomial_d p, int i, int j);} { Returns polynomial $p$ with interchanged variables $x_i$,$x_j$. - \ccPrecond{$0 \leq i < d$.} - \ccPrecond{$0 \leq j < d$.} + \ccPrecond $0 \leq i < d$ + \ccPrecond $0 \leq j < d$ } @@ -34,4 +34,4 @@ This \ccc{AdaptableFunctor} swaps two variables of a multivariate polynomial. \ccRefIdfierPage{Polynomial_d}\\ \ccRefIdfierPage{PolynomialTraits_d}\\ -\end{ccRefConcept} +\end{ccRefConcept} \ No newline at end of file diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Translate.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Translate.tex index f304938dbc9..28212918941 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Translate.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_Translate.tex @@ -31,7 +31,7 @@ the polynomial is considered as a univariate polynomial in one specific variable second_argument_type c, int i);} { Same as first operator but for variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_TranslateHomogeneous.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_TranslateHomogeneous.tex index 2b7ad815e19..27d37485dd6 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_TranslateHomogeneous.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_TranslateHomogeneous.tex @@ -31,7 +31,7 @@ the polynomial is considered as a univariate homogeneous polynomial in one speci PolynomialTraits_d::Innermost_coefficient_type b, int i);} { Same as first operator but for variable $x_i$. - \ccPrecond{$0 \leq i < d$.} + \ccPrecond $0 \leq i < d$ } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContent.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContent.tex index acbf3b6850d..da8f6776f1e 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContent.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContent.tex @@ -29,7 +29,7 @@ a \ccc{Field} or a \ccc{UniqueFactorizationDomain}. %\ccMethod{result_type operator()(argument_type p, int i);} % {Computes the content of $p$ with respect to variable $x_i$. -% \ccPrecond{$0 \leq i < d$.} +% \ccPrecond $0 \leq i < d$ % } %\ccHasModels diff --git a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContentUpToConstantFactor.tex b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContentUpToConstantFactor.tex index 2fc7d45d4f0..7ff58b96653 100644 --- a/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContentUpToConstantFactor.tex +++ b/Polynomial/doc_tex/Polynomial_ref/PolynomialTraits_d_UnivariateContentUpToConstantFactor.tex @@ -34,7 +34,7 @@ does not exist since the result is trivial. %\ccMethod{result_type operator()(first_argument_type p, int i);} % {Computes the content {\em up to a constant factor} of $p$ with % respect to variable $x_i$. -% \ccPrecond{$0 \leq i < d$} +% \ccPrecond $0 \leq i < d$ % } %\ccHasModels diff --git a/Polytope_distance_d/doc_tex/Polytope_distance_d_ref/Polytope_distance_d.tex b/Polytope_distance_d/doc_tex/Polytope_distance_d_ref/Polytope_distance_d.tex index f4698e640b0..4330e2cc72c 100644 --- a/Polytope_distance_d/doc_tex/Polytope_distance_d_ref/Polytope_distance_d.tex +++ b/Polytope_distance_d/doc_tex/Polytope_distance_d_ref/Polytope_distance_d.tex @@ -110,9 +110,9 @@ two-, three-, and $d$-dimensional \cgal~kernel, respectively. initializes \ccVar\ to $pd(P,Q)$ with $P$ and $Q$ being the sets of points in the range [\ccc{p_first},\ccc{p_last}) and [\ccc{q_first},\ccc{q_last}), respectively. - \ccRequire{ The value type of \ccc{InputIterator1} and - \ccc{InputIterator2} is \ccc{Point}.} - \ccPrecond{All points have the same dimension.}} + \ccRequire The value type of \ccc{InputIterator1} and + \ccc{InputIterator2} is \ccc{Point}. + \ccPrecond All points have the same dimension.} \begin{ccAdvanced} If \ccc{verbose} is set to $1$, $2$, or $3$ then some, more, or full @@ -210,21 +210,21 @@ two-, three-, and $d$-dimensional \cgal~kernel, respectively. \ccMemberFunction{ Point realizing_point_p( ) const;}{ returns the realizing point of $P$. - \ccRequire{ An implicit conversion from \ccc{ET} to \ccc{RT} is - available.} - \ccPrecond{$pd(P,Q)$ is finite.}} + \ccRequire An implicit conversion from \ccc{ET} to \ccc{RT} is + available. + \ccPrecond $pd(P,Q)$ is finite.} \ccMemberFunction{ Point realizing_point_q( ) const;}{ returns the realizing point of $Q$. - \ccRequire{ An implicit conversion from \ccc{ET} to \ccc{RT} is - available.} - \ccPrecond{$pd(P,Q)$ is finite.}} + \ccRequire An implicit conversion from \ccc{ET} to \ccc{RT} is + available. + \ccPrecond $pd(P,Q)$ is finite.} \ccMemberFunction{ FT squared_distance( ) const;}{ returns the squared distance of \ccVar, i.e.~$(pd(P,Q))^2$. - \ccRequire{ An implicit conversion from \ccc{ET} to \ccc{RT} is - available.} - \ccPrecond{$pd(P,Q)$ is finite.}} + \ccRequire An implicit conversion from \ccc{ET} to \ccc{RT} is + available. + \ccPrecond $pd(P,Q)$ is finite.} \medskip \ccGlueBegin @@ -296,37 +296,37 @@ two-, three-, and $d$-dimensional \cgal~kernel, respectively. sets \ccVar\ to $pd(P,Q)$ with $P$ and $Q$ being the sets of points in the ranges [\ccc{p_first},\ccc{p_last}) and [\ccc{q_first},\ccc{q_last}), respectively. - \ccRequire{ The value type of \ccc{InputIterator1} and - \ccc{InputIterator2} is \ccc{Point}.} - \ccPrecond{All points have the same dimension.}} + \ccRequire The value type of \ccc{InputIterator1} and + \ccc{InputIterator2} is \ccc{Point}. + \ccPrecond All points have the same dimension.} \ccMemberFunction{ template < class InputIterator > void set_p( InputIterator p_first, InputIterator p_last );}{ sets \ccVar\ to $pd(P,Q)$ with $P$ being the set of points in the range [\ccc{p_first},\ccc{p_last}) ($Q$ remains unchanged). - \ccRequire{ The value type of \ccc{InputIterator} is \ccc{Point}.} - \ccPrecond{All points in $P$ have dimension - \ccVar\ccc{.ambient_dimension()} if $Q$ is not empty.}} + \ccRequire The value type of \ccc{InputIterator} is \ccc{Point}. + \ccPrecond All points in $P$ have dimension + \ccVar\ccc{.ambient_dimension()} if $Q$ is not empty.} \ccMemberFunction{ template < class InputIterator > void set_q( InputIterator q_first, InputIterator q_last );}{ sets \ccVar\ to $pd(P,Q)$ with $Q$ being the set of points in the range [\ccc{q_first},\ccc{q_last}) ($P$ remains unchanged). - \ccRequire{ The value type of \ccc{InputIterator} is \ccc{Point}.} - \ccPrecond{All points in $Q$ have dimension - \ccVar\ccc{.ambient_dimension()} if $P$ is not empty.}} + \ccRequire The value type of \ccc{InputIterator} is \ccc{Point}. + \ccPrecond All points in $Q$ have dimension + \ccVar\ccc{.ambient_dimension()} if $P$ is not empty.} \ccMemberFunction{ void insert_p( const Point& p);}{ inserts \ccc{p} into $P$. - \ccPrecond{The dimension of \ccc{p} equals - \ccVar\ccc{.ambient_dimension()} if \ccVar\ is not \PDempty.}} + \ccPrecond The dimension of \ccc{p} equals + \ccVar\ccc{.ambient_dimension()} if \ccVar\ is not \PDempty.} \ccMemberFunction{ void insert_q( const Point& q);}{ inserts \ccc{q} into $Q$. - \ccPrecond{The dimension of \ccc{q} equals - \ccVar\ccc{.ambient_dimension()} if \ccVar\ is not \PDempty.}} + \ccPrecond The dimension of \ccc{q} equals + \ccVar\ccc{.ambient_dimension()} if \ccVar\ is not \PDempty.} \ccMemberFunction{ template < class InputIterator1, class InputIterator2 > void insert( InputIterator1 p_first, @@ -336,31 +336,31 @@ two-, three-, and $d$-dimensional \cgal~kernel, respectively. inserts the points in the range [\ccc{p_first},\ccc{p_last}) and [\ccc{q_first},\ccc{q_last}) into $P$ and $Q$, respectively, and recomputes the (squared) distance. - \ccRequire{ The value type of \ccc{InputIterator1} and - \ccc{InputIterator2} is \ccc{Point}.} - \ccPrecond{All points have the same dimension. + \ccRequire The value type of \ccc{InputIterator1} and + \ccc{InputIterator2} is \ccc{Point}. + \ccPrecond All points have the same dimension. If \ccVar\ is not \PDempty, this dimension must be equal to - \ccVar\ccc{.ambient_dimension()}.}} + \ccVar\ccc{.ambient_dimension()}.} \ccMemberFunction{ template < class InputIterator > void insert_p( InputIterator p_first, InputIterator p_last );}{ inserts the points in the range [\ccc{p_first},\ccc{p_last}) into $P$ and recomputes the (squared) distance ($Q$ remains unchanged). - \ccRequire{ The value type of \ccc{InputIterator} is \ccc{Point}.} - \ccPrecond{All points have the same dimension. + \ccRequire The value type of \ccc{InputIterator} is \ccc{Point}. + \ccPrecond All points have the same dimension. If \ccVar\ is not empty, this dimension must be equal to - \ccVar\ccc{.ambient_dimension()}.}} + \ccVar\ccc{.ambient_dimension()}.} \ccMemberFunction{ template < class InputIterator > void insert_q( InputIterator q_first, InputIterator q_last );}{ inserts the points in the range [\ccc{q_first},\ccc{q_last}) into $Q$ and recomputes the (squared) distance ($P$ remains unchanged). - \ccRequire{ The value type of \ccc{InputIterator} is \ccc{Point}.} - \ccPrecond{All points have the same dimension. + \ccRequire The value type of \ccc{InputIterator} is \ccc{Point}. + \ccPrecond All points have the same dimension. If \ccVar\ is not empty, this dimension must be equal to - \ccVar\ccc{.ambient_dimension()}.}} + \ccVar\ccc{.ambient_dimension()}.} % ----------------------------------------------------------------------------- \ccHeading{Validity Check} @@ -405,13 +405,13 @@ An object \ccVar\ is valid, iff operator << ( std::ostream& os, const Polytope_distance_d& poly_dist);}{ writes \ccVar\ to output stream \ccc{os}. - \ccRequire{ The output operator is defined for \ccc{Point_d}.}} + \ccRequire The output operator is defined for \ccc{Point_d}.} \ccFunction{ std::istream& operator >> ( std::istream& is, Polytope_distance_d poly_dist&);}{ reads \ccVar\ from input stream \ccc{is}. - \ccRequire{ The input operator is defined for \ccc{Point_d}.}} + \ccRequire The input operator is defined for \ccc{Point_d}.} \end{ccIndexGlobalFunctions} diff --git a/Profiling_tools/doc_tex/Miscellany_ref/Real_timer.tex b/Profiling_tools/doc_tex/Miscellany_ref/Real_timer.tex index 5d7152b3acf..8e5caeb464c 100644 --- a/Profiling_tools/doc_tex/Miscellany_ref/Real_timer.tex +++ b/Profiling_tools/doc_tex/Miscellany_ref/Real_timer.tex @@ -30,9 +30,9 @@ first interval. \ccOperations -\ccMethod{void start();}{\ccPrecond{state is {\em stopped}.}} +\ccMethod{void start();}{\ccPrecond state is {\em stopped}.} \ccGlue -\ccMethod{void stop ();}{\ccPrecond{state is {\em running}.}} +\ccMethod{void stop ();}{\ccPrecond state is {\em running}.} \ccGlue \ccMethod{void reset();}{reset timer to zero. The state is unaffected.} \ccGlue diff --git a/Profiling_tools/doc_tex/Miscellany_ref/Timer.tex b/Profiling_tools/doc_tex/Miscellany_ref/Timer.tex index e22b62bcb1d..fbb3df88001 100644 --- a/Profiling_tools/doc_tex/Miscellany_ref/Timer.tex +++ b/Profiling_tools/doc_tex/Miscellany_ref/Timer.tex @@ -31,9 +31,9 @@ first interval. \ccOperations -\ccMethod{void start();}{\ccPrecond{state is {\em stopped}.}} +\ccMethod{void start();}{\ccPrecond state is {\em stopped}.} \ccGlue -\ccMethod{void stop ();}{\ccPrecond{state is {\em running}.}} +\ccMethod{void stop ();}{\ccPrecond state is {\em running}.} \ccGlue \ccMethod{void reset();}{reset timer to zero. The state is unaffected.} \ccGlue diff --git a/QP_solver/doc_tex/QP_solver/main.tex b/QP_solver/doc_tex/QP_solver/main.tex index 7dd623e81d8..726a7646fb5 100644 --- a/QP_solver/doc_tex/QP_solver/main.tex +++ b/QP_solver/doc_tex/QP_solver/main.tex @@ -71,8 +71,8 @@ objective function value, etc. You can in particular get \emph{certificates} for the solution. In short, these are proofs that the output is correct. Thus, if you don't believe -in the solution (whether it says "optimally solved", "infeasible", -or "unbounded"), you can verify it yourself by using the certificates. +in the solution (whether it says ``optimally solved'', ``infeasible'', +or ``unbounded''), you can verify it yourself by using the certificates. Section \ref{sec:QP-certificates} says more about this. \subsection{Efficiency} @@ -179,10 +179,10 @@ $D$ in the relevant case where $r$, the rank of $D$, is small. Nevertheless, the solver contains some runtime checks that may detect that the matrix $D$ is not positive-semidefinite. But -you may as well get an "optimal solution" in this case, even with +you may as well get an ``optimal solution'' in this case, even with valid certificates. The validity of these certificates, however, depends on $D$ being positive-semidefinite; if this is not the case, the -certificates only prove that the solver has found a "critical point" of +certificates only prove that the solver has found a ``critical point'' of your (nonconvex) program, but there are no guarantees whatsoever that this is a global optimum, or even a local optimum. @@ -379,8 +379,8 @@ objective function: Figure \ref{fig:QP-first_lp} shows how this looks like. We will not visualize a linear objective function with contour lines but with arrows instead. The arrow represents the (direction) of the vector $-c$, -and we are looking for a feasible solution that is "extreme" in the direction -of the arrow. In our small example, this is the unique point "on" the +and we are looking for a feasible solution that is ``extreme'' in the direction +of the arrow. In our small example, this is the unique point ``on'' the two constraints $x_1+x_2\leq 7$ and $-x_1+x_2\leq 4$, the point $(10/3,11/3)$ marked with a black dot. The optimal objective function value is $-32(11/3)+64=-160/3$. @@ -474,7 +474,7 @@ Finally, a dedicated model and function is available for nonnnegative linear programs as well. Let's take our linear program from above and remove the constraint $y\leq 4$ to obtain a nonnegative linear program. At the same time we remove the constant objective function term to get -a "minimal" input and a "shortest" program; the optimal value is +a ``minimal'' input and a ``shortest'' program; the optimal value is $-32(11/3)=-352/3$. \[ @@ -577,7 +577,7 @@ readable code. \section{Important Variables and Constraints} If you have a solution $\qpx^*$ of a linear or quadratic program, -the "important" variables are typically the ones that are not on +the ``important'' variables are typically the ones that are not on their bounds. In case of a nonnegative program, these are the nonzero variables. Going back to the example of the previous Section \ref{sec:QP-iterators}, we can easily interpret their @@ -614,7 +614,7 @@ shows how these can be accessed, using the iterators \ccc{basic_constraint_indices_end()}. Again, we have a disagreement -between "basic" and "important": it is guaranteed that all +between ``basic'' and ``important'': it is guaranteed that all basic constraints are satisfied with equality at $\qpx^*$, but there might be non-basic constraints that are satisfied with equality as well. @@ -676,7 +676,7 @@ of the certificates. Sometimes it is necessary to alter the default behavior of the solver. This can be done by passing a suitably prepared object of the class \ccc{Quadratic_program_options} to the solution functions. Most options -concern "soft" issues like verbosity, but there are two notable case +concern ``soft'' issues like verbosity, but there are two notable case where it is of critical importance to be able to change the defaults. \subsection{Exponent Overflow in Double Using Floating-Point Filters\label{sec:QP-customization-filtering}} @@ -719,7 +719,7 @@ sequence of six iterations over and over again. By switching to no cycling occurs. In general, the verbose mode can be of use when you are not sure whether -the solver "has died", or whether it simply takes very long to solve +the solver ``has died'', or whether it simply takes very long to solve your problem. We refer to the class \ccc{Quadratic_program_options} for further details. diff --git a/QP_solver/doc_tex/QP_solver_ref/Quadratic_program.tex b/QP_solver/doc_tex/QP_solver_ref/Quadratic_program.tex index 7ddb7620ec5..b250b301920 100644 --- a/QP_solver/doc_tex/QP_solver_ref/Quadratic_program.tex +++ b/QP_solver/doc_tex/QP_solver_ref/Quadratic_program.tex @@ -53,9 +53,9 @@ will be as specified by \ccc{default_fl} (finite lower bound?), \ccc{default_l} (upper bound value if upper bound is finite). If all parameters take their default values, we thus get equality constraints and bounds $x\geq 0$ by default. Numerical entries that are not -explicitly set will default to $0$.\ccPrecond{if +explicitly set will default to $0$.\ccPrecond if $\ccc{default_fl}=\ccc{default_fu}=\ccc{true}$, then - $\ccc{default_l}\leq\ccc{default_u}$.}} + $\ccc{default_l}\leq\ccc{default_u}$} \ccOperations diff --git a/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_from_mps.tex b/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_from_mps.tex index 3c4bbd21124..f53341833b8 100644 --- a/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_from_mps.tex +++ b/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_from_mps.tex @@ -44,18 +44,18 @@ this method returns an error message explaining why the input does not conform to the \ccc{MPSFormat}.} \ccMethod{const std::string& variable_name_by_index (int j) const;} -{returns the name of the $j$-th variable. \ccPrecond{$j$ must not refer +{returns the name of the $j$-th variable. \ccPrecond j must not refer to a variable that has been added later, using one of the set methods - below.}} + below.} \ccMethod{int variable_index_by_name (const std::string& name) const;} {returns the index of the variable with name \ccc{name}. If there is no variable with this name, the result is $-1$.} \ccMethod{const std::string& constraint_name_by_index (int i) const;} -{returns the name of the $i$-th constraint. \ccPrecond{$i$ must not refer +{returns the name of the $i$-th constraint. \ccPrecond i must not refer to a constraint that has been added later, using one of the set methods - below.}} + below.} \ccMethod{int constraint_index_by_name (const std::string& name) const;} {returns the index of the constraint with name \ccc{name}. If there is diff --git a/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_solution.tex b/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_solution.tex index d81c3c8e8d3..63c7c914360 100644 --- a/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_solution.tex +++ b/QP_solver/doc_tex/QP_solver_ref/Quadratic_program_solution.tex @@ -315,7 +315,7 @@ optimality_certifcate_begin() const;} $\qplambda$ as given in Lemma 1, with respect to the solution $\qpx^*$ obtained from \ccVar\ccc{.variable_values_begin()}. The value type is \ccc{Quotient}, and the valid iterator range has length $m$. -\ccPrecond{\ccVar\ccc{.is_optimal()}.}} +\ccPrecond \ccVar\ccc{.is_optimal()}} \ccMethod{Optimality_certificate_iterator optimality_certificate_end() const;} @@ -374,7 +374,7 @@ and this is the desired contradiction $0>0$. {returns a random access iterator over the infeasibility certificate $\qplambda$ as given in Lemma 2. The value type is \ccc{ET}, and the valid iterator range has length $m$. -\ccPrecond{\ccVar\ccc{.is_infeasible()}.}} +\ccPrecond \ccVar\ccc{.is_infeasible()}} \ccMethod{Infeasibility_certificate_iterator infeasibility_certificate_end() const;} @@ -419,7 +419,7 @@ unboundedness_certificate_begin() const;} as given in Lemma 3,with respect to the solution $\qpx^*$ obtained from \ccVar\ccc{.variable_values_begin()}. The value type is \ccc{ET}, and the valid iterator range has length $n$. -\ccPrecond{\ccVar\ccc{.is_unbounded()}.}} +\ccPrecond \ccVar\ccc{.is_unbounded()}} \ccMethod{Unboundedness_certificate_iterator unboundedness_certificate_end();} diff --git a/QP_solver/doc_tex/QP_solver_ref/_lu_methods.tex b/QP_solver/doc_tex/QP_solver_ref/_lu_methods.tex index 118908ca98c..957331fbf11 100644 --- a/QP_solver/doc_tex/QP_solver_ref/_lu_methods.tex +++ b/QP_solver/doc_tex/QP_solver_ref/_lu_methods.tex @@ -8,9 +8,9 @@ entries of $\qpl$. The corresponding past-the-end iterator is \ccc{get_l()+get_n()}. If \ccc{*(get_fl()+j)} has value $false$, the value - \ccc{*(get_l()+j)} is not accessed. \ccPrecond{if both + \ccc{*(get_l()+j)} is not accessed. \ccPrecond if both \ccc{*(get_fl()+j)} and \ccc{*(get_fu()+j)} have value $true$, then - $\ccc{*(get_l()+j)}\leq \ccc{*(get_u()+j)}$.}} + $\ccc{*(get_l()+j)}\leq \ccc{*(get_u()+j)}$} \ccMethod{FU_iterator get_fu() const;}{returns an iterator over the existence of the upper bounds $u_j, j=0,\ldots,n-1$. @@ -22,6 +22,6 @@ entries of $\qpu$. The corresponding past-the-end iterator is \ccc{get_u()+get_n()}. If \ccc{*(get_fu()+j)} has value $false$, the value - \ccc{*(get_u()+j)} is not accessed. \ccPrecond{if both + \ccc{*(get_u()+j)} is not accessed. \ccPrecond if both \ccc{*(get_fl()+j)} and \ccc{*(get_fu()+j)} have value $true$, then - $\ccc{*(get_l()+j)}\leq \ccc{*(get_u()+j)}$.}} + $\ccc{*(get_l()+j)}\leq \ccc{*(get_u()+j)}$} diff --git a/QP_solver/doc_tex/QP_solver_ref/_set_methods.tex b/QP_solver/doc_tex/QP_solver_ref/_set_methods.tex index 73d8bd04ad8..c01172d37b1 100644 --- a/QP_solver/doc_tex/QP_solver_ref/_set_methods.tex +++ b/QP_solver/doc_tex/QP_solver_ref/_set_methods.tex @@ -15,8 +15,8 @@ of \ccVar\ to \ccc{val}. An existing entry is overwritten. \ccMethod{void set_r (int i, CGAL::Comparison_result rel);} {sets the entry $\qprel_i$ of \ccVar\ to \ccc{rel}. \ccc{CGAL::SMALLER} -means that the $i$-th constraint is of type "$\leq$", \ccc{CGAL::EQUAL} -means "$=$", and \ccc{CGAL::LARGER} encodes "$\geq$". An existing entry +means that the $i$-th constraint is of type ``$\leq$'', \ccc{CGAL::EQUAL} +means ``$=$'', and \ccc{CGAL::LARGER} encodes ``$\geq$''. An existing entry is overwritten. \ccVar\ is enlarged if necessary to accomodate this entry.} \ccMethod{void set_l (int j, bool is_finite, const NT& val = NT(0));} @@ -39,4 +39,4 @@ of \ccVar\ to \ccc{val}. An existing entry is overwritten.} \ccMethod{void set_d (int i, int j, const NT& val);}{sets the entries $2D_{ij}$ and $2D_{ji}$ of \ccVar\ to \ccc{val}. Existing entries are overwritten. \ccVar\ is enlarged if necessary to accomodate these entries. -\ccPrecond{\ccc{j <= i}}} +\ccPrecond \ccc{j <= i}} diff --git a/QP_solver/documentation/Degeneracies.tex b/QP_solver/documentation/Degeneracies.tex index 5578644a09f..c55f9810498 100644 --- a/QP_solver/documentation/Degeneracies.tex +++ b/QP_solver/documentation/Degeneracies.tex @@ -138,7 +138,7 @@ $S_{N}:=\sigma(S \setminus B_{S})$, if $\sigma$ denotes the bijection $S \rightarrow I$. The set of active constraints $C=E \cup S_{N}$ is -introduced, such that a 'reduced' basis matrix $\check{A}_{B}$ +introduced, such that a `reduced' basis matrix $\check{A}_{B}$ with respect to $B$ is defined as \begin{equation} \label{def:red_basis_phaseI} diff --git a/QP_solver/documentation/UpdateZ.tex b/QP_solver/documentation/UpdateZ.tex index 64de8180d5f..d28f3faceb2 100644 --- a/QP_solver/documentation/UpdateZ.tex +++ b/QP_solver/documentation/UpdateZ.tex @@ -33,7 +33,7 @@ Ratio Test Step~2. However, this does not always work, for $B^{\prime}:=B \setminus \{i\} \cup \{j\}$, $M_{B^{\prime}}$ may be regular whereas $M_{B \cup \{j\}}$ and $M_{B \setminus \{i\}}$ are both singular, such that both ways to compute the new basis inverse $M_{B^{\prime}}^{-1}$ from -$M_{B}^{-1}$ by 'growing' and 'shrinking' updates, +$M_{B}^{-1}$ by `growing' and `shrinking' updates, that add or remove one column and row per update, are blocked. The simplest way to solve this problem is to have a replacement step in phaseII as well. @@ -477,7 +477,7 @@ A_{C, B_{O}}^{T} & 2D_{B_{O}, B_{O}} \end{equation} only the Updates~(\ref{update:o_rep_o}) and~(\ref{update:s_rep_s}) are replacement updates, whereas the Updates~(\ref{update:s_rep_o}) -and~(\ref{update:o_rep_s}) are 'shrinking' and 'growing' updates. +and~(\ref{update:o_rep_s}) are `shrinking' and `growing' updates. Since the solver uses the reduced basis inverse $\check{M}_{B}^{-1}$ we can directly apply the update described in the last section only for Updates~(\ref{update:o_rep_o}) and~(\ref{update:s_rep_s}), although we could diff --git a/Qt_widget/doc_tex/Qt_widget/tutorial.tex b/Qt_widget/doc_tex/Qt_widget/tutorial.tex index a14446200a9..11240858bda 100644 --- a/Qt_widget/doc_tex/Qt_widget/tutorial.tex +++ b/Qt_widget/doc_tex/Qt_widget/tutorial.tex @@ -252,7 +252,7 @@ CGAL::Qt_widget_standard_toolbar *stoolbar; \end{ccExampleCode} To use it, in the constructor of \ccc{My\_window}, it is added: \begin{ccExampleCode} -stoolbar = new CGAL::Qt_widget_standard_toolbar(widget, this, "Standard toolbar''); +stoolbar = new CGAL::Qt_widget_standard_toolbar(widget, this, ``Standard toolbar''); \end{ccExampleCode} In this tutorial you can play a little bit with the standard toolbar but you will see probably something that is not quite pleasant. If you @@ -402,7 +402,7 @@ QToolButton *get_point_button; //the toolbar button \end{ccExampleCode} add the button in the toolbar: \begin{ccExampleCode} -get_point_button = new QToolButton(tools_toolbar, "Get Point"); +get_point_button = new QToolButton(tools_toolbar, ``Get Point''); get_point_button->setPixmap(QPixmap( (const char**)point_xpm )); \end{ccExampleCode} To make the button a toggle button: diff --git a/Random_numbers/doc_tex/Generator_ref/Random.tex b/Random_numbers/doc_tex/Generator_ref/Random.tex index 138e1919a74..548d98f563c 100644 --- a/Random_numbers/doc_tex/Generator_ref/Random.tex +++ b/Random_numbers/doc_tex/Generator_ref/Random.tex @@ -48,7 +48,7 @@ seed, or by using the state functions as described below. \ccConstructor{ Random( );}{ introduces a variable \ccVar\ of type \ccClassTemplateName. The - seed is chosen "randomly", depending on the system time.} + seed is chosen ``randomly'', depending on the system time.} \ccConstructor{ Random( unsigned int seed);}{ introduces a variable \ccVar\ of type \ccClassTemplateName\ diff --git a/STL_Extension/doc_tex/STL_Extension_ref/Uncertain.tex b/STL_Extension/doc_tex/STL_Extension_ref/Uncertain.tex index 919967958bf..fdb6d0a686f 100644 --- a/STL_Extension/doc_tex/STL_Extension_ref/Uncertain.tex +++ b/STL_Extension/doc_tex/STL_Extension_ref/Uncertain.tex @@ -85,7 +85,7 @@ Finally, note that this class has some common points with \ccc{boost::tribool}. \ccConstructor{Uncertain(T i, T s);} {introduces an object representing the range with lower bound \ccc{i} and - upper bound \ccc{s}. \ccPrecond{$ i<= s$.} } + upper bound \ccc{s}. \ccPrecond $ i<= s$. } %% +-----------------------------------+ \ccHeading{Access Functions} @@ -189,7 +189,7 @@ Another option is : {returns \ccc{t}.} \ccFunction{template T get_certain(Uncertain u);} - {returns \ccc{u}.\ccc{make_certain}(). \ccPrecond{\ccc{u}.\ccc{is_certain}().}} + {returns \ccc{u}.\ccc{make_certain}(). \ccPrecond \ccc{u}.\ccc{is_certain}().} \ccFunction{template T make_certain(T t);} {returns \ccc{t}.} diff --git a/STL_Extension/doc_tex/STL_Extension_ref/compact_container.tex b/STL_Extension/doc_tex/STL_Extension_ref/compact_container.tex index ef0312f81d8..12157c7a71f 100644 --- a/STL_Extension/doc_tex/STL_Extension_ref/compact_container.tex +++ b/STL_Extension/doc_tex/STL_Extension_ref/compact_container.tex @@ -326,9 +326,9 @@ \ccMethod{void merge(Compact_container &cc);} {adds the items of \ccc{cc} to the end of \ccVar\ and \ccc{cc} becomes empty. The time complexity is O(\ccVar.\ccc{capacity()}-\ccVar.\ccc{size()}). - \ccPrecond{\ccc{cc} must not be the same as \ccVar, + \ccPrecond \ccc{cc} must not be the same as \ccVar, and the allocators of \ccVar\ and \ccc{cc} need to be compatible : - \ccVar.\ccc{get_allocator() == cc.get_allocator()}.}} + \ccVar.\ccc{get_allocator() == cc.get_allocator()}.} %% +-----------------------------------+ \ccHeading{Comparison Operations} diff --git a/STL_Extension/doc_tex/STL_Extension_ref/in_place_list.tex b/STL_Extension/doc_tex/STL_Extension_ref/in_place_list.tex index 917000aac01..d35b41b5079 100644 --- a/STL_Extension/doc_tex/STL_Extension_ref/in_place_list.tex +++ b/STL_Extension/doc_tex/STL_Extension_ref/in_place_list.tex @@ -246,8 +246,8 @@ \ccGlue\ccMethod{void splice(T* pos, In_place_list& x);}{inserts the list $x$ before position \ccStyle{pos} and $x$ - becomes empty. It takes constant time. \ccPrecond{\ccc{&} \ccVar - \ccc{!= &x}.}} + becomes empty. It takes constant time. \ccPrecond \ccc{&} \ccVar + \ccc{!= &x}.} \ccMethod{void splice(iterator pos, In_place_list& x, iterator i);}{} @@ -267,29 +267,29 @@ last}) before position \ccStyle{pos} and removes the elements from $x$. It takes constant time if \ccStyle{&x == &}\ccVar; otherwise, it takes linear time. [\ccStyle{first, last}) is a - valid range in $x$. \ccPrecond{\ccStyle{pos} is not in the range - [\ccStyle{first, last}).}} + valid range in $x$. \ccPrecond \ccStyle{pos} is not in the range + [\ccStyle{first, last}).} \ccMethod{void remove(const T& value);}{erases all elements $e$ in the list \ccVar\ for which \ccStyle{e == value}. It is stable. - \ccPrecond{a suitable \ccStyle{operator==} for the type $T$.}} + \ccPrecond a suitable \ccStyle{operator==} for the type $T$.} \ccMethod{void unique();}{erases all but the first element from every consecutive group of equal elements in the list \ccVar. - \ccPrecond{a suitable \ccStyle{operator==} for the type $T$.}} + \ccPrecond a suitable \ccStyle{operator==} for the type $T$.} \ccMethod{void merge(In_place_list& x);}{merges the list $x$ into the list \ccVar\ and $x$ becomes empty. It is stable. - \ccPrecond{Both lists are increasingly sorted. A suitable - \ccStyle{operator<} for the type $T$.}} + \ccPrecond Both lists are increasingly sorted. A suitable + \ccStyle{operator<} for the type $T$.} \ccMethod{void reverse();}{reverses the order of the elements in \ccVar\ in linear time.} \ccMethod{void sort();}{sorts the list \ccVar\ according to the \ccStyle{operator<} in time $O(n \log n)$ where \ccStyle{n = - size()}. It is stable. \ccPrecond{a suitable \ccStyle{operator<} - for the type $T$.}} + size()}. It is stable. \ccPrecond a suitable \ccStyle{operator<} + for the type $T$.} \newpage \ccExample diff --git a/STL_Extension/doc_tex/STL_Extension_ref/stl_extension.tex b/STL_Extension/doc_tex/STL_Extension_ref/stl_extension.tex index 89e90e3d46c..acee0bae49f 100644 --- a/STL_Extension/doc_tex/STL_Extension_ref/stl_extension.tex +++ b/STL_Extension/doc_tex/STL_Extension_ref/stl_extension.tex @@ -1729,9 +1729,9 @@ \ccConstructor{template Triple(U u, V v, W w);} {constructs a triple such that \ccc{first} is constructed from \ccc{u}, \ccc{second} is constructed from \ccc{v}, and - \ccc{third} is constructed from \ccc{w}. \ccRequire{ Proper + \ccc{third} is constructed from \ccc{w}. \ccRequire Proper conversion operators exist from \ccc{U} to \ccc{T1}, \ccc{V} to - \ccc{T2}, and \ccc{W} to \ccc{T3}.}} + \ccc{T2}, and \ccc{W} to \ccc{T3}.} \ccMemberFunction{template T get();} {Gives access to \ccc{first}, \ccc{second} or \ccc{third} whenever @@ -1779,7 +1779,7 @@ \ccc{std::pair}. \ccRefName\ is a heterogeneous quadruple: it holds one object of type \ccc{T1}, one of type \ccc{T2}, one of type \ccc{T3}, and one of type \ccc{T4}. A \ccRefName\ is much like a - container, in that it "owns" its elements. It is not actually a + container, in that it ``owns'' its elements. It is not actually a model of container, though, because it does not support the standard methods (such as iterators) for accessing the elements of a container. @@ -1829,9 +1829,9 @@ Quadruple(U u, V v, W w, X x);} {constructs a quadruple such that \ccc{first} is constructed from \ccc{u}, \ccc{second} is constructed from \ccc{v}, \ccc{third} is constructed from \ccc{w}, - and \ccc{fourth} is constructed from \ccc{x}. \ccRequire{ Proper + and \ccc{fourth} is constructed from \ccc{x}. \ccRequire Proper conversion operators exist from \ccc{U} to \ccc{T1}, \ccc{V} to - \ccc{T2}, \ccc{W} to \ccc{T3}, and \ccc{X} to \ccc{T4}. }} + \ccc{T2}, \ccc{W} to \ccc{T3}, and \ccc{X} to \ccc{T4}. } \ccMemberFunction{template T get();} {Gives access to \ccc{first}, \ccc{second}, \ccc{third} or \ccc{fourth} diff --git a/SearchStructures/doc_tex/SearchStructures/rangesegmentref.tex b/SearchStructures/doc_tex/SearchStructures/rangesegmentref.tex index 841114bc178..18e5c8e4447 100644 --- a/SearchStructures/doc_tex/SearchStructures/rangesegmentref.tex +++ b/SearchStructures/doc_tex/SearchStructures/rangesegmentref.tex @@ -949,7 +949,7 @@ created as a range tree (segment tree) with creation variable \ccStyle{Sublayer\_type s}, which is a prototype of a two-dimensional range tree (segment tree). Because a range tree or a segment tree is expecting a prototype for its creation, a recursion anchor which -builds dimension "zero" is needed. +builds dimension ``zero'' is needed. \ccStyle{Tree\_anchor} described in section~\ref{CGALTreeanchor} fulfills all these requirements. All tree classes (range tree, segment tree, tree anchor) are diff --git a/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_d.tex b/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_d.tex index c736b660c7b..b4a364d0a7a 100644 --- a/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_d.tex +++ b/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_d.tex @@ -16,7 +16,7 @@ A range tree is constructed, such that the subtree of each vertex is of the same type prototype -\ccStyle{sublayer_tree} is. \\ +\ccStyle{sublayer\_tree} is. \\ We assume that the dimension of the tree is $d$. This means, that \ccStyle{ sublayer_tree} is a prototype of a $d-1$-dimensional tree. All data items of the $d$-dimensional range tree @@ -34,15 +34,15 @@ The template class requirements one can have. In order to generate a one-dimensional range tree instantiate % - \ccStyle{Tree_anchor sublayer_tree} % + \ccStyle{Tree\_anchor sublayer\_tree} % with the same template parameters (\ccStyle{Data} and - \ccStyle{Window}) \ccStyle{Range_tree_d} is defined. In + \ccStyle{Window}) \ccStyle{Range\_tree\_d} is defined. In order to construct a two-dimensional range tree, create - \ccStyle{Range_tree_d} with - a one-dimensional \ccStyle{Range_tree_d} with the + \ccStyle{Range\_tree\_d} with + a one-dimensional \ccStyle{Range\_tree\_d} with the corresponding \ccStyle{Traits} class of the first dimension.\\ - \ccPrecond{\ccc{Traits::Data==Data} and - \ccc{Traits::Window==Window.}}} + \ccStyle{Precondition: Traits::Data==Data and + Traits::Window==Window.}} \ccOperations \ccMethod{template @@ -50,11 +50,11 @@ In order { The tree is constructed according to the data items in the sequence between the element pointed by iterator \ccStyle{first} and iterator \ccStyle{last}. The data items of the iterator must - have type \ccStyle{Data}. + have type \ccStyle{Data}.} \ccPrecond{This function can only be called once. If it is the first call the tree is build and \ccStyle{true} is -returned. Otherwise, nothing is done but a \cgal\ warning -is given and \ccStyle{false} returned.}} +returned. Otherwise, nothing is done but a \ccStyle{CGAL warning} +is given and \ccStyle{false} returned.} \ccMethod{template @@ -74,9 +74,9 @@ to the last location the function wrote to is returned.} {\bf Protected Operations} \ccMethod{bool is_inside(Window win, - Data object);}{returns \ccc{true}, if the + Data object);}{returns true, if the data of \ccStyle{object} lies between the start and endpoint of - interval \ccStyle{win}. Returns \ccc{false} otherwise.} + interval \ccStyle{win}. False otherwise.} \ccMethod{bool is_anchor();}{returns false.} diff --git a/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_k.tex b/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_k.tex index 582b23b841d..0ba65cea1ab 100644 --- a/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_k.tex +++ b/SearchStructures/doc_tex/SearchStructures_ref/Range_tree_k.tex @@ -41,7 +41,7 @@ range tree traits classes. ForwardIterator last);} {Introduces a range tree \ccVar\ and initializes it with the data in the range \ccc{[first, last)}. -\ccPrecond{\ccc{value_type(first) == Traits::Key}.}} +\ccPrecond \ccc{value_type(first) == Traits::Key}.} \ccOperations @@ -52,7 +52,7 @@ in the range \ccc{[first, last)}. {Introduces a range tree \ccVar\ and initializes it with the data in the range \ccc{[first, last)}. This function can only be applied once on an empty range tree. -\ccPrecond{\ccc{value_type(first) == Traits::Key}.}} +\ccPrecond \ccc{value_type(first) == Traits::Key}.} \ccMethod{template < class OutputIterator > @@ -62,7 +62,7 @@ once on an empty range tree. {writes all data that are in the interval \ccc{window} to the container where \ccc{out} points to, and returns an output iterator that points to the last location the function wrote to. -\ccPrecond{\ccc{value_type(out) == Traits::Key}.}} +\ccPrecond \ccc{value_type(out) == Traits::Key}.} \ccExample diff --git a/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_d.tex b/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_d.tex index 2fa166cdae2..1e6d5618c7c 100644 --- a/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_d.tex +++ b/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_d.tex @@ -13,7 +13,7 @@ Traits> s(Tree_base sublayer_tree)}% {A segment tree is defined, such that the subtree of each vertex is of the same type prototype -\ccStyle{sublayer_tree} is.\\ +\ccStyle{sublayer\_tree} is.\\ We assume that the dimension of the tree is $d$. This means, that \ccStyle{ sublayer_tree} is a prototype of a $d-1$-dimensional tree. All data items of the $d$-dimensional segment tree @@ -31,15 +31,15 @@ The template class requirements one can have. In order to generate a one-dimensional segment tree instantiate % - \ccStyle{Tree_anchor sublayer_tree} % + \ccStyle{Tree\_anchor sublayer\_tree} % with the same template parameters \ccStyle{Data} and - \ccStyle{Window} \ccStyle{Segment_tree_d} is defined. In + \ccStyle{Window} \ccStyle{Segment\_tree\_d} is defined. In order to construct a two-dimensional segment tree, create - \ccStyle{Segment_tree_d} with - a one-dimensional \ccStyle{Segment_tree_d} with the + \ccStyle{Segment\_tree\_d} with + a one-dimensional \ccStyle{Segment\_tree\_d} with the corresponding \ccStyle{Traits} of the first dimension.\\ - \ccPrecond{ \ccc{Traits::Data==Data} and - \ccc{Traits::Window==Window.}}} + \ccStyle{Precondition: Traits::Data==Data and + Traits::Window==Window.}} \ccOperations %\renewcommand{\ccAlternateThreeColumn}{\ccTrue} @@ -47,12 +47,12 @@ In order \ccMethod{bool make_tree(In_it first, In_it last);} {The tree is constructed according to the data items in the sequence between the element pointed by iterator \ccStyle{first} and - iterator \ccStyle{last}. + iterator \ccStyle{last}.} \ccPrecond{This function can only be called once. If it is the first call the tree is build and \ccStyle{true} is returned. Otherwise, nothing is done but a \ccStyle{CGAL warning} is given and \ccStyle{false} -returned.}} +returned.} @@ -84,15 +84,15 @@ to the last location the function wrote to.} vertex is checked on being valid. In the second case, each data item is checked weather it contains the associated interval of the vertex and does not contain the associated interval of the - parent vertex or not. \ccc{true} is returned if the tree structure is valid, - \ccc{false} otherwise.} + parent vertex or not. True is returned if the tree structure is valid, + false otherwise.} {\bf Protected Operations} \ccMethod{bool is_inside(Window win, - Data object);}{returns \ccc{true}, if the + Data object);}{returns true, if the interval of \ccStyle{object} is contained in the - interval of \ccStyle{win}, \ccc{false} otherwise.} + interval of \ccStyle{win}. False otherwise.} \ccMethod{bool is_anchor();}{returns false.} diff --git a/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_k.tex b/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_k.tex index 012df39bab8..671a91a934d 100644 --- a/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_k.tex +++ b/SearchStructures/doc_tex/SearchStructures_ref/Segment_tree_k.tex @@ -50,7 +50,7 @@ segment tree traits classes. ForwardIterator last);}% {Introduces a segment tree \ccVar\ and initializes it with the data in the range \ccc{[first, last)}. -\ccPrecond{\ccc{value_type(first) == Traits::Interval}.}} +\ccPrecond \ccc{value_type(first) == Traits::Interval}.} \ccOperations @@ -61,7 +61,7 @@ in the range \ccc{[first, last)}. {Introduces a segment tree \ccVar\ and initializes it with the data in the range \ccc{[first, last)}. This function can only be applied once on an empty segment tree. -\ccPrecond{\ccc{value_type(first) == Traits::Interval}.}} +\ccPrecond \ccc{value_type(first) == Traits::Interval}.} \ccMethod{template < class OutputIterator > @@ -71,7 +71,7 @@ once on an empty segment tree. {writes all intervals that have non empty intersection with interval \ccc{window} to the container where \ccc{out} points to, and returns an output iterator that points to the last location the function wrote to. -\ccPrecond{\ccc{value_type(out) == Traits::Interval}.}} +\ccPrecond \ccc{value_type(out) == Traits::Interval}.} \ccMethod{template < class OutputIterator > OutputIterator @@ -80,7 +80,7 @@ to the last location the function wrote to. {writes all intervals that enclose in the interval \ccc{window} to the container where \ccc{out} points to, and returns an output iterator that points to the last location the function wrote to. -\ccPrecond{\ccc{value_type(out) == Traits::Interval}.}} +\ccPrecond \ccc{value_type(out) == Traits::Interval}.} \ccExample diff --git a/Segment_Delaunay_graph_2/doc_tex/Segment_Delaunay_graph_2_ref/Segment_Delaunay_graph_2.tex b/Segment_Delaunay_graph_2/doc_tex/Segment_Delaunay_graph_2_ref/Segment_Delaunay_graph_2.tex index 65a481ff9f1..ff14b6d2ef3 100644 --- a/Segment_Delaunay_graph_2/doc_tex/Segment_Delaunay_graph_2_ref/Segment_Delaunay_graph_2.tex +++ b/Segment_Delaunay_graph_2/doc_tex/Segment_Delaunay_graph_2_ref/Segment_Delaunay_graph_2.tex @@ -363,7 +363,7 @@ to \ccc{v}.} \ccGlue \ccMethod{Face_circulator incident_faces(Vertex_handle v, Face_handle f);} {Starts at face \ccc{f}. -\ccPrecond{Face \ccc{f} is incident to vertex \ccc{v}.}} +\ccPrecond Face \ccc{f} is incident to vertex \ccc{v}.} \ccGlue \ccMethod{Edge_circulator incident_edges(Vertex_handle v);} {Starts at an arbitrary edge incident @@ -372,7 +372,7 @@ to \ccc{v}.} \ccMethod{Edge_circulator incident_edges(Vertex_handle v, Face_handle f);} {Starts at the first edge of \ccc{f} incident to \ccc{v}, in counterclockwise order around \ccc{v}. -\ccPrecond{Face \ccc{f} is incident to vertex \ccc{v}.}} +\ccPrecond Face \ccc{f} is incident to vertex \ccc{v}.} \ccGlue \ccMethod{Vertex_circulator incident_vertices(Vertex_handle v);} {Starts at an arbitrary vertex incident @@ -381,7 +381,7 @@ to \ccc{v}.} \ccMethod{Vertex_circulator incident_vertices(Vertex_handle v, Face_handle f);} {Starts at the first vertex of \ccc{f} adjacent to \ccc{v} in counterclockwise order around \ccc{v}. -\ccPrecond{Face \ccc{f} is incident to vertex \ccc{v}.}} +\ccPrecond Face \ccc{f} is incident to vertex \ccc{v}.} diff --git a/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h b/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h index 1a5dc0b8c40..5f33e8b94c9 100644 --- a/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h +++ b/Snap_rounding_2/doc/Snap_rounding_2/Concepts/SnapRoundingTraits_2.h @@ -5,21 +5,17 @@ The concept `SnapRoundingTraits_2` lists the set of requirements that must be fulfilled by an instance of the `Traits` template-parameter of -the function \ref CGAL::snap_rounding_2() "CGAL::snap_rounding_2()". -This concept provides the types of the geometric primitives used in -this class and some function object types for the required -predicates on those primitives. +the free function \ref CGAL::snap_rounding_2() "CGAL::snap_rounding_2()". +The list includes the nested types of the geometric primitives used in this class and +some function object types for the required predicates on those primitives. -\cgalRefines `DefaultConstructible` -\cgalRefines `Assignable` -\cgalRefines `CopyConstructible` -\cgalRefines `SweepLineTraits_2` -\cgalRefines An instance of this concept is used as the traits class for the `CGAL::Sweep_line_2::get_intersection_points()` operation. The requirements listed below are induced by components of the `CGAL::snap_rounding_2()` function other than the call to `Sweep_line_2::get_intersection_points()`. Naturally, some of them may already be listed in `SweepLineTraits_2`. +\cgalRefines `ArrangementTraits_2` \cgalHasModel `CGAL::Snap_rounding_traits_2` \sa `CGAL::Snap_rounding_2` +\todo check generated documentation page and in particular nested concepts */ class SnapRoundingTraits_2 { @@ -35,117 +31,75 @@ The number type. This type must fulfill the requirements on typedef Hidden_type FT; /*! -The point type. +Models the concept `ArrTraits::Point_2`. */ typedef Hidden_type Point_2; /*! -The segment type. +Models the concept `ArrTraits::XMonotoneCurve_2`. */ typedef Hidden_type Segment_2; /*! -The iso-rectangle type. +Models the concept `SRTraits_2::IsoRectangle_2` */ typedef Hidden_type Iso_rectangle_2; +/// @} + +/// \name Functor Types +/// @{ + /*! -Function object. Must provide the operator -`Point_2 operator()(Segment_2 seg, int i)`, which returns the source or -target of `seg`. If `i` modulo 2 is 0, the source is returned, -otherwise the target is returned. +Models the concept `SRTraits_2::ConstructVertex_2`. */ typedef Hidden_type Construct_vertex_2; /*! -Function object. Must provide the operator -`Segment_2 operator()(Point_2 p, Point_2 q)`, which introduces a segment -with source `p` and target `q`. The segment is directed from the -source towards the target. +Models the concept `SRTraits_2::ConstructSegment_2`. */ typedef Hidden_type Construct_segment_2; /*! -Function object. Must provide the -operator -`Iso_rectangle_2 operator()(Point_2 left, Point_2 right, Point_2 bottom, -Point_2 top)`, which introduces an iso-oriented rectangle fo whose minimal -\f$ x\f$ coordinate is the one of `left`, the maximal \f$ x\f$ coordinate is the one -of `right`, the minimal \f$ y\f$ coordinate is the one of `bottom`, the -maximal \f$ y\f$ coordinate is the one of `top`. +Models the concept `SRTraits_2::ConstructIsoRectangle_2`. */ typedef Hidden_type Construct_iso_rectangle_2; /*! -Function object. Must provide the operator -`double operator()(FT)`, which computes an approximation of a given number -of type `FT`. The precision of this operation is of not high significance, -as it is only used in the implementation of the heuristic technique to exploit -a cluster of kd-trees rather than just one. +Models the concept `RealEmbeddableTraits::ToDouble`. The precision of this operation is +of not high significance, as it is only used in the implementation of the +heuristic technique to exploit a cluster of kd-trees rather than just one. */ typedef Hidden_type To_double; /*! -Function object. Must provide the operator -`Comparison_result operator()(Point_2 p, Point_2 q)` -which returns -`SMALLER, EQUAL` or `LARGER` according to the -\f$ x\f$-ordering of points `p` and `q`. +Models the concept `SRTraits_2::CompareX_2`. */ typedef Hidden_type Compare_x_2; /*! -Function object. Must provide the operator -`Comparison_result operator()(Point_2 p, Point_2 q)` -which returns -`SMALLER, EQUAL` or ` LARGER` -according to the -\f$ y\f$-ordering of points `p` and `q`. +Models the concept `SRTraits_2::CompareY_2`. */ typedef Hidden_type Compare_y_2; /*! -Rounds a point to a center of a pixel (unit square) -in the grid used by the Snap Rounding algorithm. Note that no conversion -to an integer grid is done yet. Must have the syntax -`void operator()(Point_2 p,FT pixel_size,FT &x,FT &y)` where \f$ p\f$ is the -input point, `pixel_size` is the size of the pixel of the grid, -and \f$ x\f$ and \f$ y\f$ are the \f$ x\f$ and \f$ y\f$-coordinates of the rounded point -respectively. +Models the concept `SRTraits_2::Snap_2`. */ typedef Hidden_type Snap_2; /*! -Convert coordinates -into an integer representation where one unit is equal to pixel size. -For instance, if a point has the coordinates \f$ (3.7,5.3)\f$ and the pixel -size is \f$ 0.5\f$, then the new point will have the coordinates of \f$ (7,10)\f$. -Note, however, that the number type remains the same here, although -integers are represented. -Must have the syntax `Point_2 operator()(Point_2 p,NT pixel_size)` -where \f$ p\f$ is the converted point and `pixel_size` is the size of the pixel -of the grid. +Models the concept `SRTraits_2::IntegerGridPoint_2`. */ typedef Hidden_type Integer_grid_point_2; /*! -Returns the vertices of a polygon, -which is the Minkowski sum of a segment and a square centered at the origin -with edge size `pixel edge`. -Must have the syntax -`void operator()(std::list& vertices_list, Segment_2 s, -NT unit_square)` -where `vertices_list` is the list of the vertices of the Minkowski sum -polygon, \f$ s\f$ is the input segment and `unit_square` is the edge size of -the pixel. +Models the concept `SRTraits:MinkowskiSumWithPixel_2`. */ typedef Hidden_type Minkowski_sum_with_pixel_2; /// @} -/// \name Operations -/// The following functions construct the required function objects -/// occasionally referred as functors listed above. +/// \name Accessing Functor Objects /// @{ /*! @@ -188,7 +142,153 @@ Integer_grid_point_2 integer_grid_point_2_object(); */ Minkowski_sum_with_pixel_2 minkowski_sum_with_pixel_2_object(); + + + +/*! + Represents an iso rectangle + \cgalRefines `DefaultConstructible` + \cgalRefines `CopyConstructible` + \cgalRefines `Assignable` + \cgalHasModel `SRTraits_2::Iso_rectangle_2` +*/ +class IsoRectangle_2 +{}; + +/*! +\cgalRefines `AdaptableBinaryFunction` +\cgalHasModel `SRTraits_2::Construct_vertex_2` +*/ +class ConstructVertex_2 +{ + public: + /*! + returns the source or target of `seg`. If `i` modulo 2 is 0, + the source is returned, otherwise the target is returned.} + */ + Point_2 operator()(Segment_2 seg, int i); +}; + + +/*! + \cgalRefines `AdaptableBinaryFunction` + \cgalHasModel `SRTraits_2::Construct_segment_2 +*/ +class ConstructSegment_2 +{ + public: + /*! + introduces a segment with source `p` and target `q`. The segment + is directed from the source towards the target. + */ + Segment_2 operator()(Point_2 p, Point_2 q); +}; + + +/*! + \cgalRefines `AdaptableQuaternaryFunction` + \cgalHasModel `SRTraits_2::Construct_iso_rectangle_2` +*/ +class ConstructIsoRectangle_2 +{ + public: + + /*! + introduces an iso-oriented rectangle fo whose minimal `x` coordinate + is the one of `left`, the maximal `x` coordinate is the one of + `right`, the minimal `y` coordinate is the one of `bottom`, + the maximal `y` coordinate is the one of `top`.} + */ + Iso_rectangle_2 operator()(Point_2 left, Point_2 right, + Point_2 bottom, Point_2 top); +}; + + +/*! + \cgalRefines `AdaptableBinaryFunction` + \cgalHasModel `SRTraits_2::Compare_x_2` +*/ +class CompareX_2 +{ + public: +/*! + returns `SMALLER`, `EQUAL`, or `LARGER` according to the `x`-ordering + of the points `p` and `q`. +*/ + Comparison_result operator()(Point_2 p, Point_2 q) +}; + +/*! + \cgalRefines `AdaptableBinaryFunction` + \cgalHasModel `SRTraits_2::Compare_y_2` +*/ +class CompareY_2 +{ + public: + /*! + returns `SMALLER`, `EQUAL`, or `LARGER` according to the `y`-ordering + of the points `p` and `q`. + */ + Comparison_result operator()(Point_2 p, Point_2 q) +}; + + +/*! + \cgalRefines `AdaptableQuaternaryFunction` + \cgalHasModel `SRTraits_2::Snap_2` +*/ +class Snap_2 +{ + public: + /*! + rounds a point to a center of a pixel (unit square) in the grid used by + the Snap Rounding algorithm. Note that no conversion to an integer grid + is done yet. `p` is the input point, `pixel_size` is the size of the + pixel of the grid, and `x` and `y` are the `x` and `y`-coordinates of + the rounded point respectively. + */ + void operator()(Point_2 p, FT pixel_size, FT &x, FT &y) +}; + +/*! + \cgalRefines `AdaptableBinaryFunction` + \cgalHasModel `SRTraits_2::Integer_grid_point_2` + +*/ +class IntegerGridPoint_2 +{ + public: + /*! + converts coordinates into an integer representation where one unit is equal + to pixel size. For instance, if a point has the coordinates \f$ (3.7,5.3) \f$ + and the pixel size is \f$ 0.5 \f$, then the new point will have the coordinates + of \f$ (7,10) \f$. Note, however, that the number type remains the same here, + although integers are represented. `p` is the converted point and + `pixel_size` is the size of the pixel of the grid. + */ + Point_2 operator()(Point_2 p, NT pixel_size) +}; + +/*! + \cgalRefines `AdaptableTernaryFunction` + \cgalHasModel `SRTraits_2::Minkowski_sum_with_pixel_2` +*/ +class MinkowskiSumWithPixel_2 +{ + public: + /*! + returns the vertices of a polygon, which is the Minkowski sum of a segment + and a square centered at the origin with edge size `pixel edge`. + `vertices_list` is the list of the vertices of the Minkowski sum + polygon, `s` is the input segment and `unit_square` is the edge + size of the pixel. + */ + void operator()(std::list& vertices_list, Segment_2 s, NT unit_square); +}; + /// @} + + }; /* end SnapRoundingTraits_2 */ diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Incremental_neighbor_search.h b/Spatial_searching/doc/Spatial_searching/CGAL/Incremental_neighbor_search.h index 10b55ff4c67..dfd61c302dc 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Incremental_neighbor_search.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Incremental_neighbor_search.h @@ -14,7 +14,7 @@ for example `Search_traits_2 >`. Expects for the second template argument a model of the concept `GeneralDistance`. If `Traits` is `Search_traits_adapter` -the default type is `Distance_for_point_adapter >`, +the default type is `Distance_adapter >`, and `Euclidean_distance` otherwise. Expects for third template argument a model of the concept `Splitter`. diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/K_neighbor_search.h b/Spatial_searching/doc/Spatial_searching/CGAL/K_neighbor_search.h index 6529598971d..799ec405fbb 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/K_neighbor_search.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/K_neighbor_search.h @@ -13,10 +13,10 @@ Expects for the first template argument an implementation of the concept `Search for example `Simple_cartesian`. Expects for the second template argument a model of the -concept `GeneralDistance`. If `Traits` is +concept `GeneralDistance`. If `Traits` is `Search_traits_adapter` -the default type is `Distance_for_point_adapter >`, -and `Euclidean_distance` otherwise. +the default type is `Distance_adapter >`, +and `Euclidean_distance` otherwise. Expects for fourth template argument an implementation of the concept `SpatialTree`. The default type is `Kd_tree`. The diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Orthogonal_incremental_neighbor_search.h b/Spatial_searching/doc/Spatial_searching/CGAL/Orthogonal_incremental_neighbor_search.h index 20bba94d980..7f851151d74 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Orthogonal_incremental_neighbor_search.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Orthogonal_incremental_neighbor_search.h @@ -13,7 +13,7 @@ for example `Search_traits_2 >`. Expects for the second template argument a model of the concept `GeneralDistance`. If `Traits` is `Search_traits_adapter` -the default type is `Distance_for_point_adapter >`, +the default type is `Distance_adapter >`, and `Euclidean_distance` otherwise. Expects for third template argument a model of the concept `Splitter`. diff --git a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h index 08f9899e026..7258bd64e51 100644 --- a/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h +++ b/Spatial_searching/doc/Spatial_searching/CGAL/Search_traits_adapter.h @@ -24,7 +24,7 @@ with `Key` as `key_type` and `Base_distance::Point_d` as `value_type`. */ template< typename Key, typename PointPropertyMap, typename Base_distance > -class Distance_for_point_adapter : Base_distance { +class Distance_adapter : Base_distance { public: /// \name Types @@ -53,7 +53,7 @@ typedef Base_distance::Query_item Query_item; /*! Constructor initializing the class to `base` and setting the point property map of the class to `ppmap`. */ -Distance_for_point_adapter(const PointPropertyMap& ppmap=PointPropertyMap(),const Base_distance& base=Base_distance()); +Distance_adapter(const PointPropertyMap& ppmap=PointPropertyMap(),const Base_distance& base=Base_distance()); /// @} @@ -67,7 +67,7 @@ const PointPropertyMap& point_property_map() const; /// @} -}; /* end Distance_for_point_adapter */ +}; /* end Distance_adapter */ } /* end namespace CGAL */ namespace CGAL { @@ -77,7 +77,7 @@ namespace CGAL { The class `Search_traits_adapter` can be used as a template parameter of the kd tree and the search classes. When using this traits class in a nearest neighbor search algorithm, the class -`Distance_for_point_adapter` +`Distance_adapter` must be used as distance. ### Parameters ### @@ -92,7 +92,7 @@ with `Key` as `key_type` and `Base_distance::Point_d` as `value_type`. \cgalModels `SearchTraits` if `BaseTraits` is a model of `SearchTraits`. \cgalModels `RangeSearchTraits` if `BaseTraits` is a model of `RangeSearchTraits`. -\sa `Distance_for_point_adapter` +\sa `Distance_adapter` \sa `Search_traits_2` \sa `Search_traits_3` \sa `Search_traits_d` diff --git a/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt b/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt index db4921b9232..2eeb36f7158 100644 --- a/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt +++ b/Spatial_searching/doc/Spatial_searching/Spatial_searching.txt @@ -299,7 +299,7 @@ wrapper for all these types. The searching itself works exactly as for \cgal ker \subsection Spatial_searchingExamplesforUsinganArbitrary Examples for Using an Arbitrary Point Type with Point Property Maps The following three example programs illustrate how to use the classes `Search_traits_adapter` and -`Distance_for_point_adapter` to store in the kd-tree objects of an arbitrary key type. Points are +`Distance_adapter` to store in the kd-tree objects of an arbitrary key type. Points are accessed through a point property map. This is really convenient to associate information to a point or to reduce the size of the search structure. diff --git a/Spatial_sorting/doc_tex/Spatial_sorting/spatial_sorting.tex b/Spatial_sorting/doc_tex/Spatial_sorting/spatial_sorting.tex index 457cbf80fb9..58bc26026b0 100644 --- a/Spatial_sorting/doc_tex/Spatial_sorting/spatial_sorting.tex +++ b/Spatial_sorting/doc_tex/Spatial_sorting/spatial_sorting.tex @@ -129,7 +129,7 @@ Since the median policy cannot be much worse than the middle policy, while the converse can happen, the median policy is the default behavior. Most theoretical results are using the middle policy -\cite{acr-icb-03}, \cite{b-aahsf-71}, \cite{bg-sfche-89,pb-scpts-89}. +\cite{acr-icb-03,b-aahsf-71,bg-sfche-89,pb-scpts-89}. This other example illustrates the use of the two different policies diff --git a/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_2.tex b/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_2.tex index cbb7826a4c9..26bb805c768 100644 --- a/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_2.tex +++ b/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_2.tex @@ -18,7 +18,7 @@ or the middle depending on the \ccc{PolicyTag}. \ccThree{void;;}{A}{} \ccMethod{template void operator() (RandomAccessIterator begin, RandomAccessIterator end) const;}{sorts the range [\ccc{begin}, \ccc{end}). - \ccRequire{ \ccc{RandomAccessIterator::value_type} equals to \ccc{Traits::Point_2}.}} + \ccRequire \ccc{RandomAccessIterator::value_type} equals to \ccc{Traits::Point_2}.} \ccTagDefaults diff --git a/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_3.tex b/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_3.tex index 25721fc1506..1b548776765 100644 --- a/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_3.tex +++ b/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_3.tex @@ -17,7 +17,7 @@ or the middle depending on the \ccc{PolicyTag}. \ccThree{void;;}{A}{} \ccMethod{template void operator() (RandomAccessIterator begin, RandomAccessIterator end) const;}{sorts the range [\ccc{begin}, \ccc{end}). - \ccRequire{ \ccc{RandomAccessIterator::value_type} equals to \ccc{Traits::Point_3}.}} + \ccRequire \ccc{RandomAccessIterator::value_type} equals to \ccc{Traits::Point_3}.} \ccTagDefaults diff --git a/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_d.tex b/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_d.tex index 85d33645ad7..2eecab74e04 100644 --- a/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_d.tex +++ b/Spatial_sorting/doc_tex/Spatial_sorting_ref/Hilbert_sort_d.tex @@ -17,7 +17,7 @@ or the middle depending on the \ccc{PolicyTag}. \ccThree{void;;}{A}{} \ccMethod{template void operator() (RandomAccessIterator begin, RandomAccessIterator end) const;}{sorts the range [\ccc{begin}, \ccc{end}). - \ccRequire{ \ccc{RandomAccessIterator::value_type} equals to \ccc{Traits::Point_d}.}} + \ccRequire \ccc{RandomAccessIterator::value_type} equals to \ccc{Traits::Point_d}.} \ccTagDefaults diff --git a/Straight_skeleton_2/doc_tex/Straight_skeleton_2_ref/Compute_outer_frame_margin.tex b/Straight_skeleton_2/doc_tex/Straight_skeleton_2_ref/Compute_outer_frame_margin.tex index 7092da92c81..81b7c4891f5 100644 --- a/Straight_skeleton_2/doc_tex/Straight_skeleton_2_ref/Compute_outer_frame_margin.tex +++ b/Straight_skeleton_2/doc_tex/Straight_skeleton_2_ref/Compute_outer_frame_margin.tex @@ -54,9 +54,9 @@ between an offset line and its original, not between an offset vertex and its or The later, which is calculated by this function and needed to place the frame sufficiently away from the polygon, can be thousands of times larger than \ccc{offset}.\\ If the result is {\em absent}, any attempt to construct an exterior offset polygon at distance \ccc{offset} will fail. This will occur whenever the polygon has a vertex with an internal angle approaching \ccc{0} (because the offset vertex of a vertex whose internal angle equals 0 is at {\em infinity} ).\\ -\ccPrecond{offset $>$ 0.} -\ccPrecond{The range [\ccc{first},\ccc{beyond}) contains the vertices -of a non-degenerate strictly-simple 2D polygon.} +\ccPrecond offset $>$ 0. +\ccPrecond The range [\ccc{first},\ccc{beyond}) contains the vertices +of a non-degenerate strictly-simple 2D polygon. } The default traits class \ccc{Default_traits} is an instance of the diff --git a/Stream_lines_2/doc_tex/Stream_lines_2_ref/Integrator_2.tex b/Stream_lines_2/doc_tex/Stream_lines_2_ref/Integrator_2.tex index 02cdaae689c..5163954bb40 100644 --- a/Stream_lines_2/doc_tex/Stream_lines_2_ref/Integrator_2.tex +++ b/Stream_lines_2/doc_tex/Stream_lines_2_ref/Integrator_2.tex @@ -45,13 +45,13 @@ with a predefined step, and according to a specified vector. The following operations return the newly integrated point. \ccMemberFunction{Point_2 operator()(Point_2 p, Vector_field_2 vector_field_2);} {returns the new position from the actual position defined by \ccc{p}, according to the vector given by \ccc{vector_field_2} at \ccc{p}. -\ccPrecond{\ccc{vector_field_2.is_in_domain(p)} must be true.}} +\ccPrecond \ccc{vector_field_2.is_in_domain(p)} must be true.} \ccMemberFunction{Point_2 operator()(Point_2 p, Vector_field_2 vector_field_2, FT integration_step);} {As above. The integration step is defined by \ccc{integration_step}. -\ccPrecond{\ccc{vector_field_2.is_in_domain(p)} must be true.}} +\ccPrecond \ccc{vector_field_2.is_in_domain(p)} must be true.} \ccMemberFunction{Point_2 operator()(Point_2 p, Vector_field_2 vector_field_2, FT integration_step, bool direction);} {As above. In addition, this function integrates forward if \ccc{direction} is true, and backward if it is false. -\ccPrecond{\ccc{vector_field_2.is_in_domain(p)} must be true.}} +\ccPrecond \ccc{vector_field_2.is_in_domain(p)} must be true.} \ccHasModels \ccc{CGAL::Euler_integrator_2} \\ diff --git a/Stream_lines_2/doc_tex/Stream_lines_2_ref/Triangular_field_2.tex b/Stream_lines_2/doc_tex/Stream_lines_2_ref/Triangular_field_2.tex index dd215a33d0b..d6f3cb7c61d 100644 --- a/Stream_lines_2/doc_tex/Stream_lines_2_ref/Triangular_field_2.tex +++ b/Stream_lines_2/doc_tex/Stream_lines_2_ref/Triangular_field_2.tex @@ -45,8 +45,8 @@ vertices of the face \ccc{f}. { Defines the points in the range $\left[\right.$\ccc{first_point}, \ccc{last_point}$\left.\right)$ as the sample points of the grid, with the corresponding number of vectors started at \ccc{first_vector}. -\ccPrecond{The \ccc{value_type} of \ccc{InputIterator1} is \ccc{Point}.} -\ccPrecond{The \ccc{value_type} of \ccc{InputIterator2} is \ccc{Vector}.}} +\ccPrecond The \ccc{value_type} of \ccc{InputIterator1} is \ccc{Point}. +\ccPrecond The \ccc{value_type} of \ccc{InputIterator2} is \ccc{Vector}.} \ccIsModel diff --git a/Stream_lines_2/doc_tex/Stream_lines_2_ref/VectorField_2.tex b/Stream_lines_2/doc_tex/Stream_lines_2_ref/VectorField_2.tex index bbf6e1c18c2..2853e2c949c 100644 --- a/Stream_lines_2/doc_tex/Stream_lines_2_ref/VectorField_2.tex +++ b/Stream_lines_2/doc_tex/Stream_lines_2_ref/VectorField_2.tex @@ -48,14 +48,14 @@ the bounding box of the whole domain.} \ccGlue \ccMethod{std::pair get_field(Point_2 p);} {returns the vector field value and the local density. -\ccPrecond{\ccc{is_in_domain(p)} must be true.}} +\ccPrecond \ccc{is_in_domain(p)} must be true.} \ccGlue \ccMethod{bool is_in_domain(Point_2 p);}{returns true if the point p is inside the domain boundaries, false otherwise.} \ccGlue \ccMethod{FT get_integration_step(Point_2 p);} {returns the integration step at the point p (i.e. the distance between \ccc{p} and the next point in the polyline.). -\ccPrecond{\ccc{is_in_domain(p)} must be true.}} +\ccPrecond \ccc{is_in_domain(p)} must be true.} \ccGlue \ccHasModels diff --git a/Surface_mesh_parameterization/doc_tex/Surface_mesh_parameterization_ref/Vector.tex b/Surface_mesh_parameterization/doc_tex/Surface_mesh_parameterization_ref/Vector.tex index 4e3898cd5e3..7fce3ffe31d 100644 --- a/Surface_mesh_parameterization/doc_tex/Surface_mesh_parameterization_ref/Vector.tex +++ b/Surface_mesh_parameterization/doc_tex/Surface_mesh_parameterization_ref/Vector.tex @@ -82,7 +82,7 @@ Return the vector's number of coefficients. \ccMethod{NT operator[](int row) const;} { Read/write access to a vector coefficient. -\ccPrecond{0 $<$= \ccc{row} $<$ \ccc{dimension()}}. +\ccPrecond 0 $<$= row $<$ dimension(). } \ccGlue \ccMethod{NT& operator[](int row);} diff --git a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeProfile.h b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeProfile.h index f2e15b4a288..1fb623ae244 100644 --- a/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeProfile.h +++ b/Surface_mesh_simplification/doc/Surface_mesh_simplification/Concepts/EdgeProfile.h @@ -56,13 +56,13 @@ vertex_descriptor v1() const; One of the directed edges corresponding to the undirected edge being collapsed. */ -edge_descriptor v0v1() const; +edge_descriptor v0_v1() const; /*! The other directed edge corresponding to the undirected edge being collapsed. */ -edge_descriptor v1v0() const; +edge_descriptor v1_v0() const; /*! The point of vertex ` v0`. @@ -84,13 +84,13 @@ vertex_descriptor vL() const; If ` v0v1` belongs to a finite face (is not a border edge) the directed edge from ` v1` to ` vL`, a null descriptor otherwise. */ -edge_descriptor v1vL() const; +edge_descriptor v1_vL() const; /*! If ` v0v1` belongs to a finite face (is not a border edge) the directed edge from ` vL` to ` v0`, a null descriptor otherwise. */ -edge_descriptor vLv0() const; +edge_descriptor vL_v0() const; /*! If ` v1v0` belongs to a finite face (is not a border edge) @@ -102,13 +102,13 @@ vertex_descriptor vR() const; If ` v1v0` belongs to a finite face (is not a border edge) the directed edge from ` v0` to ` vR`, a null descriptor otherwise. */ -edge_descriptor v0vR() const; +edge_descriptor v0_vR() const; /*! If ` v1v0` belongs to a finite face (is not a border edge) the directed edge from ` vR` to ` v1`, a null descriptor otherwise. */ -edge_descriptor vRv1() const; +edge_descriptor vR_v1() const; /*! The unique sequence of the vertices diff --git a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification/Surface_mesh_simplification.tex b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification/Surface_mesh_simplification.tex index b7945e8ab73..c2d14d9c29f 100644 --- a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification/Surface_mesh_simplification.tex +++ b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification/Surface_mesh_simplification.tex @@ -109,7 +109,7 @@ Global error tracking methods produce highly accurate simplifications but take u of additional space. Cost-driven methods, like the one in this package, produce slightly less accurate simplifications but take up much less additional space, even none in some cases. -The cost-driven method implemented in this package is mainly based on \cite{cgal:lt-fmeps-98}, \cite{cgal:lt-ems-99}, with contributions from \cite{hddms-mo-93}, \cite{gh-ssqem-97} +The cost-driven method implemented in this package is mainly based on \cite{cgal:lt-fmeps-98,cgal:lt-ems-99}, with contributions from \cite{hddms-mo-93}, \cite{gh-ssqem-97} and \cite{degn-tpec-98}. The algorithm proceeds in two stages. In the first stage, called {\em collection stage}, @@ -126,7 +126,7 @@ and geometric conditions. The algorithm presented in \cite{gh-ssqem-97} contracts (collapses) arbitrary vertex pairs and not only edges by considering certain vertex pairs as forming a pseudo-edge and proceeding to collapse -both edges and pseudo-edges in the same way as in \cite{cgal:lt-fmeps-98}, \cite{cgal:lt-ems-99} ( +both edges and pseudo-edges in the same way as in \cite{cgal:lt-fmeps-98,cgal:lt-ems-99} ( which is the algorithm implemented here). However, contracting an arbitrary vertex-pair may result in a non-manifold surface, but the current state of this package can only deal with manifold surfaces, thus, it can only collapse edges. That is, this package cannot be used as a framework for vertex contraction. \section{Cost Strategy} @@ -145,7 +145,7 @@ midpoint placement (much faster but less accurate). \subsection{Lindstrom-Turk Cost and Placement Strategy\label{SurfaceMeshSimplification:LindstromTurkStrategy}} The main characteristic of the strategy presented in -\cite{cgal:lt-fmeps-98}, \cite{cgal:lt-ems-99} is that the simplified surface +\cite{cgal:lt-fmeps-98,cgal:lt-ems-99} is that the simplified surface is not compared at each step with the original surface (or the surface at a previous step) so there is no need to keep extra information, such as the original surface or a history of the local changes. Hence diff --git a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/EdgeCollapsableMesh.tex b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/EdgeCollapsableMesh.tex index 95cceca0288..c564c10773a 100644 --- a/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/EdgeCollapsableMesh.tex +++ b/Surface_mesh_simplification/doc_tex/Surface_mesh_simplification_ref/EdgeCollapsableMesh.tex @@ -49,8 +49,8 @@ The mesh simplification algorithm requires the free function \ccc{collapse_trian } {Collapses the undirected edge \ccc{(v0v1,v1v0)} replacing it with \ccc{v0} or \ccc{v1}, as described in the following paragraph. - \ccPrecond{This function requires \ccc{mesh} to be an oriented 2-manifold with or without boundaries. Furthermore, the undirected edge \ccc{(v0v1,v1v0)} must satisfy the {\em link - condition} \cite{degn-tpec-98}, which guarantees that the surface is also 2-manifold after the edge collapse. }} + \ccPrecond This function requires \ccc{mesh} to be an oriented 2-manifold with or without boundaries. Furthermore, the undirected edge \ccc{(v0v1,v1v0)} must satisfy the {\em link + condition} \cite{degn-tpec-98}, which guarantees that the surface is also 2-manifold after the edge collapse. } \smallskip Let \ccc{v0} be the source and \ccc{v1} be the target vertices of \ccc{v0v1}. diff --git a/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex b/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex index 274a52ee2fa..d81b05f8f39 100644 --- a/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex +++ b/Surface_mesher/doc_tex/Complex_2_in_triangulation_3_ref/Complex_2_in_triangulation_3.tex @@ -190,12 +190,12 @@ it should only be called for ISOLATED vertices.} \ccMethod{void set_info(Facet f, Facet_info fi);}{Sets info attached to facet \ccc{f} in the 2D complex. -\ccPrecond{Facet \ccc{f} has to be a facet of the 2D complex.}} +\ccPrecond Facet \ccc{f} has to be a facet of the 2D complex.} \ccGlue \ccMethod{void set_info(Cell_handle c, int i,Facet_info fi);} {Sets info attached to facet \ccc{(c,i)} in the 2D complex. -\ccPrecond{Facet \ccc{(c,i)} has to be a facet of the 2D complex.}} +\ccPrecond Facet \ccc{(c,i)} has to be a facet of the 2D complex.} \ccGlue \ccMethod{void set_info(Facet_iterator fit,Facet_info fi);} {Sets info attached to the facet of the 2D complex pointed @@ -204,14 +204,14 @@ to by \ccc{fit}.} \ccMethod{void set_info(Edge e, Edge_info ei);} {Sets info attached to edge \ccc{e} in the 2D complex. -\ccPrecond{Edge \ccc{e} has to be either an isolated edge -of the 2D complex or a marked edge.}} +\ccPrecond Edge \ccc{e} has to be either an isolated edge +of the 2D complex or a marked edge.} \ccGlue \ccMethod{void set_info(Cell_handle c, int i, int j, Edge_info ei);} {Sets info attached to edge \ccc{(c,i,j)} in the 2D complex. -\ccPrecond{Edge \ccc{(c,i,j)} has to be either an isolated edge -of the 2D complex or a marked edge.}} +\ccPrecond Edge \ccc{(c,i,j)} has to be either an isolated edge +of the 2D complex or a marked edge.} \ccGlue \ccMethod{void set_info(Isolated_edges_iterator ieit, Edge_info ei);} {Sets info attached @@ -283,12 +283,12 @@ i, int j);} \ccMethod{Facet_info get_info(Facet f);}{Get info attached to facet \ccc{f} in the 2D complex. -\ccPrecond{Facet \ccc{f} has to be a facet of the 2D complex.}} +\ccPrecond Facet \ccc{f} has to be a facet of the 2D complex.} \ccGlue \ccMethod{Facet_info get_info(Cell_handle c, int i);} {Get info attached to facet \ccc{(c,i)} in the 2D complex. -\ccPrecond{Facet \ccc{(c,i)} has to be a facet of the 2D complex.}} +\ccPrecond Facet \ccc{(c,i)} has to be a facet of the 2D complex.} \ccGlue \ccMethod{Facet_info get_info(Facet_iterator fit);} {Get info attached to the facet of the 2D complex pointed @@ -297,14 +297,14 @@ to by \ccc{fit}.} \ccMethod{Edge_info get_info(Edge e);} {Get info attached to edge \ccc{e} in the 2D complex. -\ccPrecond{Edge \ccc{e} has to be either an isolated edge -of the 2D complex or a marked edge.}} +\ccPrecond Edge \ccc{e} has to be either an isolated edge +of the 2D complex or a marked edge.} \ccGlue \ccMethod{Edge_info get_info(Cell_handle c, int i, int j);} {Get info attached to edge \ccc{(c,i,j)} in the 2D complex. -\ccPrecond{Edge \ccc{(c,i,j)} has to be either an isolated edge -of the 2D complex or a marked edge.}} +\ccPrecond Edge \ccc{(c,i,j)} has to be either an isolated edge +of the 2D complex or a marked edge.} \ccGlue \ccMethod{Edge_info get_info(Isolated_edges_iterator ieit);} {Get info attached diff --git a/Surface_mesher/doc_tex/Surface_mesher_ref/ImplicitSurfaceTraits_3.tex b/Surface_mesher/doc_tex/Surface_mesher_ref/ImplicitSurfaceTraits_3.tex index dfaac0988ab..bfb41fe8d39 100644 --- a/Surface_mesher/doc_tex/Surface_mesher_ref/ImplicitSurfaceTraits_3.tex +++ b/Surface_mesher/doc_tex/Surface_mesher_ref/ImplicitSurfaceTraits_3.tex @@ -83,7 +83,7 @@ the midpoint of the segment \ccc{pq}.} \ccStyle{point(j)}, for all \ccStyle{i} $<$ \ccStyle{j}.\\ \ccc{Point_3 operator()(const Ray_3& r,int i);} which returns a point on \ccc{r}. \ccStyle{point(0)} is the source, \ccStyle{point(i)}, with - $i>0$, is different from the source. \ccPrecond{$i \geq 0$.}\\ + $i>0$, is different from the source. \ccPrecond $i \geq 0$.\\ \ccc{Point_3 operator()(const Segment_3& s,int i);} which returns source or target of \ccc{s}: \ccStyle{point(0)} returns the source of \ccc{s}, \ccStyle{point(1)} returns the target of \ccc{s}. The parameter diff --git a/Surface_mesher/doc_tex/Surface_mesher_ref/PiecewiseSmoothSurfaceMeshComplex_2InTriangulation_3.tex b/Surface_mesher/doc_tex/Surface_mesher_ref/PiecewiseSmoothSurfaceMeshComplex_2InTriangulation_3.tex index 1c0b179ad0d..b23b06a991a 100644 --- a/Surface_mesher/doc_tex/Surface_mesher_ref/PiecewiseSmoothSurfaceMeshComplex_2InTriangulation_3.tex +++ b/Surface_mesher/doc_tex/Surface_mesher_ref/PiecewiseSmoothSurfaceMeshComplex_2InTriangulation_3.tex @@ -46,12 +46,12 @@ certain edges of the complex, and attach some information to marked edges. \ccMethod{Edge_info get_info(Edge e);} {Get info attached to edge \ccc{e} in the 2D complex. -\ccPrecond{Edge \ccc{e} has to be a marked edge.}} +\ccPrecond Edge \ccc{e} has to be a marked edge.} \ccGlue \ccMethod{Edge_info get_info(Cell_handle c, int i, int j);} {Get info attached to edge \ccc{(c,i,j)} in the 2D complex. -\ccPrecond{Edge \ccc{(c,i,j)} has a marked edge.}} +\ccPrecond Edge \ccc{(c,i,j)} has a marked edge.} @@ -84,11 +84,11 @@ Returns \ccc{true} iff \ccc{e} was marked.} \ccMethod{void set_info(Edge e, Edge_info ei);} {Sets info attached to edge \ccc{e} in the 2D complex. -\ccPrecond{Edge \ccc{e} has to be a marked edge.}} +\ccPrecond Edge \ccc{e} has to be a marked edge.} \ccGlue \ccMethod{void set_info(Cell_handle c, int i, int j, Edge_info ei);} {Sets info attached to edge \ccc{(c,i,j)} in the 2D complex. -\ccPrecond{Edge \ccc{(c,i,j)} has to be a marked edge.}} +\ccPrecond Edge \ccc{(c,i,j)} has to be a marked edge.} \ccMethod{void mark(Edge e, Edge_info ei);}{Marks edge \ccc{e} of the 2D complex. If \ccc{e} is not in the complex, inserts it. Then sets the info diff --git a/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt b/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt index a7351954756..81515944572 100644 --- a/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt +++ b/Surface_reconstruction_points_3/doc/Surface_reconstruction_points_3/Surface_reconstruction_points_3.txt @@ -76,27 +76,8 @@ by default to be the median value of \f$ f\f$ at all input points. \subsection Surface_reconstruction_points_3Interface Interface -The class template declaration is: - -\code{.cpp} - -template < - class Gt // geometric traits class - > -class Poisson_reconstruction_function { - // Creation - template - Poisson_reconstruction_function::Poisson_reconstruction_function(InputIterator first, InputIterator beyond, PointPMap point_pmap, NormalPMap normal_pmap); - - // Main Operations - Sphere bounding_sphere() const; - - bool compute_implicit_function(); - - FT value(const Point& p) const; - Point get_inner_point() const; -}; -\endcode +The class template declaration is `template class Poisson_reconstruction_function` wher +`Gt` is a geometric traits class. For details see: `Poisson_reconstruction_function` @@ -258,18 +239,26 @@ The reconstruction is devised to solve for an implicit function which is an approximate indicator function of an inferred solid. For this reason the contouring algorithm always extracts a closed surface mesh and hence is able to fill the small holes where data are missing due, -e.g., to occlusions during acquisition. In case of large holes the -algorithm still closes them all but sometimes in an unexpected -manner. In addition the resulting piecewise linear implicit function -may exhibit large triangle patches and sharp creases as the 3D -Delaunay triangulation used for solving is very coarse where the holes -are filled (see +e.g., to occlusions during acquisition (see \cgalFigureRef{Surface_reconstruction_points_3figholes_bad}). \cgalFigureBegin{Surface_reconstruction_points_3figholes_bad,holes_bad.jpg} Left: 65K points sampled on a hand with no data captured at the wrist base. Right: reconstructed surface mesh. The surface is properly closed on the fingers and also closed at the wrist but in a less plausible manner. \cgalFigureEnd + + +In case of large holes the algorithm still closes them all but the resulting piecewise +linear implicit function may exhibit large triangle patches and sharp creases as the 3D +Delaunay triangulation used for solving is very coarse where the holes are filled. +This can be avoided by a two pass approach. The first pass for a subset of the points +serves to get an approximation of the surface at the holes. This surface then serves to +compute a smoother 3D Delaunay triangulation for the second pass with the full set of points. + +\cgalFigureBegin{Surface_reconstruction_points_3-fig-two_passes,two-passes.png} +Left: The wrist. Middle: one pass. Right: two passes. +\cgalFigureEnd + \subsection Surface_reconstruction_points_3WronglyOriented Wrongly Oriented Normals The Poisson surface reconstruction approaches solves for an implicit @@ -317,6 +306,251 @@ into smoothed sharp creases. Left: 5K points sampled on a mechanical piece with sharp features (creases, darts and corners). Right: reconstructed surface mesh with smoothed creases. \cgalFigureEnd +\section SurfReconstPerformances Performances + +We provide some performance numbers for scanning data. We measure the Poisson implicit function computation time, +the contouring time for a range of approximation distances, the memory occupancy as well as the influence of +the point set simplification. The machine used is a PC running Windows 7 64 bits with an Intel CPU Core 2 Duo +processor clocked at 2.81 GHz and with 8 GB of RAM. The software is compiled with Visual \CC 2010 (VC9) compiler +with the 03 option which maximizes speed. All measurements were done using the \ref thirdpartyEigen "Eigen" library. + + +\subsection SurfReconstPerfPIF Poisson implicit function + +The point set chosen for benchmarking the Poisson implicit function is the Bimba con Nastrino point set +(1.6 million points) depicted by \cgalFigureRef{Surface_reconstruction_points_3-fig-contouring_bench}. +We measure the Poisson implicit function computation (i.e., the call to +`Poisson_reconstruction_function::compute_implicit_function()` denoted by Poisson solve hereafter) +for this point set as well as for simplified versions obtained through random simplification. +The following table provides Poisson solve computation times in seconds for an increasing number of points. + + + + + + + + + + + +

+
+ +Number of points (x1000) + +Poisson solve duration (in s) +

+
+60 + +15 +
+100 + +25 +
+250 + +96 +
+500 + +150 +
+1,000 + +249 +
+1,800 + +478 +

+
+ + +\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 `CGAL::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). + + + + + + + + + +

+
+Approx. distance (*average spacing) + +Contouring duration (in s) + +Reconstruction error (mm) +

+
+0.1 + +19.2 + +0.055 +
+0.25 + +6.9 + +0.106 +
+0.5 + +3.2 + +0.18 +
+1 + +1.65 + +0.36 +
+2 + +0.8 + +0.76 +

+
+ + +\cgalFigureBegin{Surface_reconstruction_points_3-fig-contouring_bench,contouring_bench.jpg} +Contouring duration (in s) and reconstruction error (mm) +against several approximation distance parameters +for the Bimba con Nastrino point set simplified to 100k points. +\cgalFigureEnd + +\subsection SurfReconstPerfMem Memory + +We measure the memory occupancy for the reconstruction of the full Bimba con Nastrino point +set (1.8 millions points) as well as for simplified versions.\n +The Poisson implicit function computation has a memory peak when solving the Poisson linear +system using the sparse linear solver. + + + + + + + + + +

+
+Number of points (x1000) + +Memory occupancy (MBytes) +

+
+60 + +180 +
+100 + +270 +
+250 + +790 +
+500 + +1300 +
+1,000 + +2200 +
+1,800 + +3800 +

+
+ + +\subsection SurfReconstPerfPSS Point Set Simplification + +Due to the memory limitations described above, we recommend to simplify the point sets captured by laser scanners.\n +We measure the reconstruction error for the Bimba con Nastrino point set (1.6M points) as well as for +simplified versions. All reconstructions use the recommended contouring parameter +`approximation distance = 0.25 * the input point` set's average spacing. +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). + + + + + + + + + + +

+
+Number of points (x1000) + +Reconstruction error (mm) +

+
+60 + +0.27 +
+120 + +0.15 +
+250 + +0.11 +
+500 + +0.079 +
+1,000 + +0.066 +
+1,500 + +0.061 +
+1,600 + +0.06 +

+
+ + +\cgalFigureBegin{Surface_reconstruction_points_3-fig-simplification_bench,simplification_bench.jpg} +Reconstruction error (mm) against number of points +for the Bimba con Nastrino point set with 1.6M points +as well as for simplified versions. +\cgalFigureEnd + +\section SurfReconstDesignHistory Design and Implementation History + +The initial implementation was essentially done by Laurent Saboret, guided by Pierre Alliez and Ga\"el Guennebaud. +For later releases of the package Andreas Fabri worked on performance improvements, and Laurent Rineau added the +two passes for dealing with holes. + + */ } /* namespace CGAL */ diff --git a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/case_studies.tex b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/case_studies.tex index f411b75f829..9737793d9dc 100644 --- a/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/case_studies.tex +++ b/Surface_reconstruction_points_3/doc_tex/Surface_reconstruction_points_3/case_studies.tex @@ -87,7 +87,7 @@ The algorithm works well even when the inferred surface is composed of several c \subsubsection{Contouring Parameters} Our implementation of the Poisson surface reconstruction algorithm computes an implicit function represented as a piecewise linear function over the tetrahedra of a 3D Delaunay triangulation constructed from the input points then refined through Delaunay refinement. For this reason, any iso-surface is also piecewise linear and hence may contain sharp creases. As the contouring algorithm \ccc{CGAL::make_surface_mesh()} expects a smooth implicit function these sharp creases may create spurious clusters of vertices in the final reconstructed surface mesh when setting a small mesh sizing or surface approximation error parameter (see Figure~\ref{Surface_reconstruction_points_3-fig-contouring_bad}).\\ -One way to avoid these spurious clusters consists of adjusting the mesh sizing and surface approximation parameters large enough compared to the average sampling density (obtained through \ccc{CGAL::compute_average_spacing()}) so that the contouring algorithm "perceives" a smooth iso-surface. We recommend to use the following contouring parameters: +One way to avoid these spurious clusters consists of adjusting the mesh sizing and surface approximation parameters large enough compared to the average sampling density (obtained through \ccc{CGAL::compute_average_spacing()}) so that the contouring algorithm ``perceives'' a smooth iso-surface. We recommend to use the following contouring parameters: \begin{itemize} \item Max triangle radius: at least 100 times the average spacing. \item Approximation distance: at least 0.25 times the average spacing. diff --git a/Surface_reconstruction_points_3/include/CGAL/Poisson_reconstruction_function.h b/Surface_reconstruction_points_3/include/CGAL/Poisson_reconstruction_function.h index ac19624bbe6..ebd07a15695 100644 --- a/Surface_reconstruction_points_3/include/CGAL/Poisson_reconstruction_function.h +++ b/Surface_reconstruction_points_3/include/CGAL/Poisson_reconstruction_function.h @@ -219,7 +219,7 @@ public: return m_tr->input_points_bounding_sphere(); } - /*! + /*! This function must be called after the insertion of oriented points. It computes the piecewise linear scalar function operator() by: applying Delaunay refinement, solving for @@ -230,13 +230,17 @@ public: \tparam SparseLinearAlgebraTraits_d Symmetric definite positive sparse linear solver. If \ref thirdpartyEigen "Eigen" 3.1 (or greater) is available and `CGAL_EIGEN3_ENABLED` - is defined, the default solver is `CGAL::Eigen_solver_traits`::EigenType> >`. + is defined, an overload with \link Eigen_solver_traits Eigen_solver_traits::EigenType> > \endlink + as default solver is provided. + + \param solver sparse linear solver. + \param smoother_hole_filling controls if the Delaunay refinement is done for the input points, or for an approximation of the surface obtained from a first pass of the algorithm on a sample of the points. - \return false if the linear solver fails. + \return `false` if the linear solver fails. */ template bool compute_implicit_function( - SparseLinearAlgebraTraits_d solver = SparseLinearAlgebraTraits_d()) ///< sparse linear solver + SparseLinearAlgebraTraits_d solver = SparseLinearAlgebraTraits_d(), bool smoother_hole_filling = false) ///< sparse linear solver { CGAL::Timer task_timer; task_timer.start(); CGAL_TRACE_STREAM << "Delaunay refinement...\n"; diff --git a/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFaceBase_2.tex b/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFaceBase_2.tex index d07219de8b7..03ee35c7f2f 100644 --- a/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFaceBase_2.tex +++ b/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFaceBase_2.tex @@ -123,7 +123,7 @@ with \ccc{Face_handle()}.} \ccGlue \ccMethod{Face_handle neighbor(int i) const;} {{returns the neighbor \ccc{i} of \ccVar\ . -\ccPrecond{$0\leq i \leq 2$.}}} +\ccPrecond $0\leq i \leq 2$.}} \ccGlue \ccMethod{bool has_neighbor(Face_handle n);} {returns true if \ccc{n} is a neighbor of \ccVar\ .} @@ -137,7 +137,7 @@ with \ccc{Face_handle()}.} \ccHeading{Setting} \ccMethod{void set_vertex(int i, Vertex_handle v);} {sets vertex \ccc{i} to \ccc{v}. -{\ccPrecond{$0\leq i \leq 2$.}}} +{\ccPrecond $0\leq i \leq 2$.}} \ccGlue \ccMethod{ void set_vertices();} {sets the vertices to \ccc{Vertex_handle()}.} @@ -149,7 +149,7 @@ with \ccc{Face_handle()}.} \ccGlue \ccMethod{void set_neighbor(int i, Face_handle n);} {sets neighbors \ccc{i} to \ccc{n}. -{\ccPrecond{$0\leq i \leq 2$.}}} +{\ccPrecond $0\leq i \leq 2$.} } \ccGlue \ccMethod{void set_neighbors();} {sets the neighbors to \ccc{Face_handle()}.} diff --git a/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFace_2.tex b/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFace_2.tex index 8048de1172b..a8a6827fef3 100644 --- a/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFace_2.tex +++ b/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDSFace_2.tex @@ -58,11 +58,11 @@ define new faces and to delete non longer used faces. \ccMethod{Vertex_handle vertex(int i) const;} {returns the vertex \ccc{i} of \ccVar. -\ccPrecond{$0\leq i \leq 2$.}} +\ccPrecond $0\leq i \leq 2$.} \ccGlue \ccMethod{int index(Vertex_handle v) const;} -{returns the index of vertex \ccc{v} in \ccVar. \ccPrecond{\ccc{v} is -a vertex of \ccVar.}} +{returns the index of vertex \ccc{v} in \ccVar. \ccPrecond \ccc{v} is +a vertex of \ccVar} \ccGlue \ccMethod{bool has_vertex(Vertex_handle v) const;} {returns \ccc{true} if \ccc{v} is a vertex of \ccVar.} @@ -80,12 +80,12 @@ to the vertex with index \ccc{i}. \ccMethod{Face_handle neighbor(int i) const;} {returns the neighbor \ccc{i} of \ccVar. -\ccPrecond{$0\leq i \leq 2$}. +\ccPrecond $0\leq i \leq 2$. } \ccGlue \ccMethod{int index(Face_handle n) const;} {returns the index of face \ccc{n}. -\ccPrecond{\ccc{n} is a neighbor of \ccVar.}} +\ccPrecond \ccc{n} is a neighbor of \ccVar.} \ccGlue \ccMethod{bool has_neighbor(Face_handle n) const;} {returns \ccc{true} if \ccc{n} is a neighbor of \ccVar.} @@ -102,12 +102,12 @@ compute the index \ccc{i} of \ccc{n}.} \ccThree{Vertex_handle}{f.has_vertex( Vertex_handle v, int& i)x}{} \ccMethod{void set_vertex(int i, Vertex_handle v);} {sets vertex \ccc{i} to be \ccc{v}. -\ccPrecond{$0\leq i \leq 2$.} +\ccPrecond $0\leq i \leq 2$. } \ccGlue \ccMethod{void set_neighbor(int i, Face_handle n);} {sets neighbor \ccc{i} to be \ccc{n}. -\ccPrecond{$0\leq i \leq 2$.} +\ccPrecond $0\leq i \leq 2$. } \ccGlue \ccMethod{ void set_vertices();}{sets the vertices pointers to \ccc{NULL}.} @@ -138,10 +138,10 @@ in correct reverse order.} \ccHeading{Miscellaneous} \ccMethod{int ccw(int i) const;} -{Returns $i+1$ modulo 3.\ccPrecon{$0\leq i \leq 2$.}} +{Returns $i+1$ modulo 3.\ccPrecond $0\leq i \leq 2$.} \ccMethod{int cw(int i) const;} -{Returns $i+2$ modulo 3.\ccPrecond{$0\leq i \leq 2$.}} +{Returns $i+2$ modulo 3.\ccPrecond $0\leq i \leq 2$.} \ccHeading{I/O} diff --git a/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDataStructure_2.tex b/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDataStructure_2.tex index 1fb0df7d36f..577c0a593cc 100644 --- a/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDataStructure_2.tex +++ b/Triangulation_2/doc_tex/TDS_2_ref/TriangulationDataStructure_2.tex @@ -263,29 +263,29 @@ and \ccc{w}. \ccMethod{Vertex_circulator incident_vertices(Vertex_handle v, Face_handle f=NULL) const;} -{\ccPrecond{If the +{\ccPrecond If the face \ccc{f} is given, it has to be incident to be a face of \ccVar\ incident to \ccc{v} and the circulator begins with the vertex \ccc{f->vertex(ccw(i))} -if \ccc{i} is the index of \ccc{v} in \ccc{f}.}} +if \ccc{i} is the index of \ccc{v} in \ccc{f}.} \ccGlue \ccMethod{Edge_circulator incident_edges(Vertex_handle v, Face_handle f=NULL) const;} -{\ccPrecond{If the +{\ccPrecond If the face \ccc{f} is given, it has to be a face of \ccVar\ incident to \ccc{v} and the circulator begins with the edge \ccc{(f,cw(i))} of \ccc{f} -if \ccc{i} is the index of \ccc{v} in \ccc{f}.}} +if \ccc{i} is the index of \ccc{v} in \ccc{f}.} \ccGlue \ccMethod{Face_circulator incident_faces(Vertex_handle v, Face_handle f=NULL) const;} -{\ccPrecond{If the +{\ccPrecond If the face \ccc{f} is given, it has to be a face of \ccVar\ incident to \ccc{v} and the circulator begins with the face -\ccc{f}.}} +\ccc{f}.} \ccMethod{Vertex_handle mirror_vertex(Face_handle f, int i) const;}{returns vertex of \ccc{f->neighbor(i)}.} @@ -379,7 +379,7 @@ vertex.} \ccMethod{void remove_dim_down(Vertex_handle v);} {removes vertex \ccc{v} incident to all other vertices and decreases by one the dimension of the triangulation. -\ccPrecond{If the dimension is 2, the number of vertices is more than +\ccPrecond{if the dimension is 2, the number of vertices is more than 3, if the dimension is 1, the number of vertices is 2.} } @@ -394,7 +394,7 @@ of the two-dimensional triangulation data-structure ($\mathbb{S}^2$), \ccc{dim\_ data-structure ($\mathbb{S}^2$) onto the one-dimensional data structure ($\mathbb{S}^1$) formed by the link of \ccc{v} augmented with the vertex \ccc{v} itself; this one is placed on the edge \ccc{(f, i)}. (see Fig. \ref{fig-tds-dim_down_2}). -\ccPrecond{\ccc{dimension()} must be equal to \ccc{2}, the degree of \ccc{f->vertex(i)} must be equal to the total number of vertices minus 1.} +\ccPrecond{ \ccc{dimension()} must be equal to \ccc{2}, the degree of \ccc{f->vertex(i)} must be equal to the total number of vertices minus 1.} } \begin{figure} @@ -495,10 +495,10 @@ and neighbors \ccc{f1}, \ccc{f2}, \ccc{f3}.} \ccHeading{Miscellaneous} -\ccMethod{int ccw(int i) const;}{returns $i+1$ modulo 3.\ccPrecond{$0\leq i \leq 2$.}} +\ccMethod{int ccw(int i) const;}{returns $i+1$ modulo 3.\ccPrecond $0\leq i \leq 2$.} \ccGlue \ccMethod{int cw(int i) const;} -{returns $i+2$ modulo 3.\ccPrecond{$0\leq i \leq 2$.}} +{returns $i+2$ modulo 3.\ccPrecond $0\leq i \leq 2$.} \ccGlue \ccMethod{bool is_valid();}{checks the combinatorial validity of the triangulation: call the \ccc{is_valid()} member function for each vertex and diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/ConstrainedFaceBase_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/ConstrainedFaceBase_2.tex index 17a31895b9d..0909ff7d530 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/ConstrainedFaceBase_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/ConstrainedFaceBase_2.tex @@ -43,7 +43,7 @@ Defines the same types as the \ccc{TriangulationFaceBase_2} concept \ccMethod{bool is_constrained(int i);} {returns true if the edge between \ccVar\ and its neighbor \ccVar .\ccc{neighbor(i)} is constrained. -\ccPrecond{$0\leq i \leq 2$.}} +\ccPrecond $0\leq i \leq 2$.} \begin{ccAdvanced} \ccModifiers diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex index ba690fdedbf..ef3da0ac0d4 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_Delaunay_triangulation_2.tex @@ -136,8 +136,8 @@ is copied.} {A templated constructor which introduces and builds a constrained triangulation with constrained edges in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. -\ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Constraint}.}} +\ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Constraint}.} @@ -169,8 +169,8 @@ for the location of \ccc{p}.} {Inserts the points in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. Returns the number of inserted points. - \ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Point}.}} + \ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Point}.} \ccMethod{ void insert_constraint(Point a, Point b);} { Inserts segment ab as a constrained edge in the triangulation. } @@ -186,7 +186,7 @@ for the location of \ccc{p}.} \ccMethod{void remove(Vertex_handle & v);} { Removes vertex v. -\ccPrecond{Vertex \ccc{v} is not incident to a constrained edge.}} +\ccPrecond Vertex \ccc{v} is not incident to a constrained edge.} \ccMethod{ void remove_incident_constraints(Vertex_handle v);} {Make the edges incident to vertex \ccc{v} unconstrained edges.} @@ -223,7 +223,7 @@ of the conflict zone are output in counterclockwise order and each edge is described through its incident face which is not in conflict with \ccc{p}. The function returns in a std::pair the resulting output iterators. -\ccPrecond{\ccc{dimension()==2}.}} +\ccPrecond dimension()==2} \ccMethod{template OutputItFaces @@ -232,7 +232,7 @@ The function returns in a std::pair the resulting output iterators. Face_handle start) const;} {Same as above except that only the faces in conflict with \ccc{p} are output. The function returns the resulting output iterator. -\ccPrecond{\ccc{dimension()==2}.}} +\ccPrecond dimension()==2} \ccMethod{template OutputItBoundaryEdges diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_2.tex index d9d45cdcb05..c0f87692075 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_2.tex @@ -166,8 +166,8 @@ is copied.} {A templated constructor which introduces and builds a constrained triangulation with constrained edges in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. -\ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Constraint}.}} +\ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Constraint}.} \ccHeading{Queries} \ccMethod{ bool is_constrained(Edge e);} @@ -209,8 +209,8 @@ for the location of \ccc{p}.} {Inserts the points in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. Returns the number of inserted points. - \ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Point}.}} + \ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Point}.} \ccMethod{void insert_constraint(Point a, Point b);} { Inserts points \ccc{a} and \ccc{b}, and inserts segment \ccc{ab} as a @@ -219,8 +219,8 @@ faces instead. If a vertex \ccc{c} lies on segment \ccc{ab}, constraint \ccc{ab} replaced by the two constraints \ccc{ac} and \ccc{cb}. Apart from the insertion of \ccc{a} and \ccc{b}, the algorithm runs in time proportional to the number of removed triangles. -\ccPrecond{The relative interior of segment \ccc{ab} does not -intersect the relative interior of another constrained edge.}} +\ccPrecond The relative interior of segment \ccc{ab} does not +intersect the relative interior of another constrained edge.} \ccMethod{ void push_back(const Constraint& c);} {Inserts constraints \ccc{c} as above.} @@ -233,8 +233,8 @@ are removed and new ones are created.} \ccMethod{void remove(Vertex_handle v);} -{ Removes a vertex \ccc{v}. -\ccPrecond{Vertex \ccc{v} is not incident to a constrained edge.}} +{ Removes a vertex v. +\ccPrecond Vertex \ccc{v} is not incident to a constrained edge.} \ccMethod{ void remove_incident_constraints(Vertex_handle v);} {Make the edges incident to vertex \ccc{v} unconstrained edges.} @@ -255,7 +255,7 @@ the consistency of the constrained marks in edges.} \ccFunction{ostream & operator<<(ostream& os, const Constrained_triangulation_2 &Ct);} {Writes the triangulation as for \ccc{CGAL::Triangulation_2} and, for each face f, and integers i=0,1,2, -write "C" or "N" depending whether edge +write ``C'' or ``N'' depending whether edge \ccc{(f,i)} is constrained or not.} \ccFunction{istream& operator>>(istream& is,Constrained_triangulation_2 Ct& t);} diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex index 39b8d1a558d..2f8d4476d4b 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Constrained_triangulation_plus_2.tex @@ -115,8 +115,8 @@ Constrained_triangulation_plus_2( {Introduces and builds a constrained triangulation from the constraints in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. -\ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Constraint}.} +\ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Constraint}. } %\ccFunction{void ~ctp();} @@ -160,8 +160,8 @@ to be given by \ccc{(lt,loc,li)}.} {Inserts the points in the range $\left[\right.$\ccc{first}, \ccc{last}$\left.\right)$. Returns the number of inserted points. - \ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Point}.}} + \ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Point}.} \ccMethod{ void insert_constraint(Point a, Point b);} {Inserts the constraint segment ab in the triangulation. } @@ -175,8 +175,8 @@ pointed by \ccc{va} and \ccc{vb} in the triangulation. } \ccMethod{void remove_constraint(Vertex_handle va, Vertex_handle vb);} {Removes the constraint joining the vertices pointed by \ccc{va} and \ccc{vb}. -\ccPrecond{\ccc{va} and \ccc{vb} have to refer to the endpoint vertices -of an input constraint.}} +\ccPrecond \ccc{va} and \ccc{vb} have to refer to the endpoint vertices +of an input constraint.} \ccHeading{Queries} @@ -200,44 +200,44 @@ sub-constraint.} Vertex_handle vb);} {Returns the number of constraints enclosing the sub-constraint \ccc{(va,vb).} -\ccPrecond{\ccc{va} and \ccc{vb} refer to the vertices -of a constrained edge of the triangulation.}} +\ccPrecond \ccc{va} and \ccc{vb} refer to the vertices +of a constrained edge of the triangulation.} \ccGlue \ccMethod{Context context(Vertex_handle va, Vertex_handle vb);} {Returns the \ccc{Context} relative to one of the constraint enclosing the sub-constraint \ccc{(va,vb)}. -\ccPrecond{\ccc{va} and \ccc{vb} refer to the vertices -of a constrained edge of the triangulation.}} +\ccPrecond \ccc{va} and \ccc{vb} refer to the vertices +of a constrained edge of the triangulation.} \ccGlue \ccMethod{Context_iterator contexts_begin(Vertex_handle va, Vertex_handle vb);} {Returns an iterator pointing on the first \ccc{Context} of the sequence of \ccc{Contexts} corresponding to the constraints enclosing the sub-constraint\ccc{(va,vb).} -\ccPrecond{\ccc{va} and \ccc{vb} refer to the vertices -of a constrained edge of the triangulation.}} +\ccPrecond \ccc{va} and \ccc{vb} refer to the vertices +of a constrained edge of the triangulation.} \ccGlue \ccMethod{Context_iterator contexts_end(Vertex_handle va, Vertex_handle vb);} {Returns an iterator past the last \ccc{Context} of the sequence of \ccc{Contexts} corresponding to the constraints enclosing the \ccc{(va,vb).} -\ccPrecond{\ccc{va} and \ccc{vb} refer to the vertices -of a constrained edge of the triangulation.}} +\ccPrecond \ccc{va} and \ccc{vb} refer to the vertices +of a constrained edge of the triangulation.} \ccGlue \ccMethod{Vertices_in_constraint_iterator vertices_in_constraint_begin(Vertex_handle va, Vertex_handle vb);} {Returns an iterator on the first vertex on the constraint \ccc{(va,vb)} -\ccPrecond{\ccc{va} and \ccc{vb} refer to the vertices -of an input constraint.}} +\ccPrecond \ccc{va} and \ccc{vb} refer to the vertices +of an input constraint.} \ccGlue \ccMethod{Vertices_in_constraint_iterator vertices_in_constraint_end(Vertex_handle va, Vertex_handle vb);} {Returns an iterator past the last vertex on the constraint \ccc{(va,vb)} -\ccPrecond{\ccc{va} and \ccc{vb} refer to the vertices -of an input constraints.}} +\ccPrecond \ccc{va} and \ccc{vb} refer to the vertices +of an input constraints.} \ccSeeAlso diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Delaunay_triangulation_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Delaunay_triangulation_2.tex index 0bfa1c8f8eb..6f52ded35b1 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Delaunay_triangulation_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Delaunay_triangulation_2.tex @@ -130,8 +130,8 @@ given by \ccc{(lt,loc,li)}, see the description of member function Note that this function is not guaranteed to insert the points following the order of \ccc{PointInputIterator}, as \ccc{spatial_sort} is used to improve efficiency. - \ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Point}.}} + \ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Point}.} \ccMethod{template < class PointWithInfoInputIterator > std::ptrdiff_t @@ -167,12 +167,12 @@ which is no longer a Delaunay triangulation. the triangulation is modified such that the new position of vertex \ccc{v} is \ccc{p}, and \ccc{v} is returned. Otherwise, the triangulation is not modified and the vertex at point \ccc{p} is returned. -\ccPrecond{Vertex \ccc{v} must be finite.}} +\ccPrecond Vertex \ccc{v} must be finite.} \ccMethod{Vertex_handle move(Vertex_handle v, const Point & p);} {same as above if there is no collision. Otherwise, \ccc{v} is deleted and the vertex placed on \ccc{p} is returned. - \ccPrecond{Vertex \ccc{v} must be finite.}} + \ccPrecond Vertex \ccc{v} must be finite.} \ccHeading{Queries} @@ -200,7 +200,7 @@ of the conflict zone are output in counter-clockwise order and each edge is described through its incident face which is not in conflict with \ccc{p}. The function returns in a std::pair the resulting output iterators. -\ccPrecond{\ccc{dimension()==2}}.} +\ccPrecond dimension()==2} \ccMethod{template OutputItFaces @@ -209,7 +209,7 @@ The function returns in a std::pair the resulting output iterators. Face_handle start) const;} {same as above except that only the faces in conflict with \ccc{p} are output. The function returns the resulting output iterator. -\ccPrecond{\ccc{dimension()==2}.} +\ccPrecond dimension()==2} \ccMethod{template OutputItBoundaryEdges @@ -235,7 +235,7 @@ dual Voronoi diagram. \ccMethod{Point dual(const Face_handle &f) const;} {Returns the center of the circle circumscribed to face \ccc{f}. -\ccPrecond{\ccc{f} is not infinite.}} +\ccPrecond \ccc{f} is not infinite} \ccMethod{Object dual(const Edge &e) const;} {returns a segment, a ray or a line supported by the bisector of the diff --git a/Triangulation_2/doc_tex/Triangulation_2_ref/Regular_triangulation_2.tex b/Triangulation_2/doc_tex/Triangulation_2_ref/Regular_triangulation_2.tex index 455b76730a5..f07c2cc0ead 100644 --- a/Triangulation_2/doc_tex/Triangulation_2_ref/Regular_triangulation_2.tex +++ b/Triangulation_2/doc_tex/Triangulation_2_ref/Regular_triangulation_2.tex @@ -215,8 +215,8 @@ located in \ccc{lt,loc,li}.} Note that this function is not guaranteed to insert the weighted points following the order of \ccc{InputIterator}, as \ccc{spatial_sort} is used to improve efficiency. - \ccPrecond{The \ccc{value_type} of \ccc{first} and \ccc{last} - is \ccc{Weighted_point}}.} + \ccPrecond The \ccc{value_type} of \ccc{first} and \ccc{last} + is \ccc{Weighted_point}.} \ccMethod{template < class WeightedPointWithInfoInputIterator > std::ptrdiff_t @@ -260,9 +260,9 @@ The \ccc{value_type} of \ccc{first} and \ccc{last} is \ccc{std::pair std::pair @@ -273,7 +273,7 @@ The \ccc{value_type} of \ccc{first} and \ccc{last} is \ccc{std::pair @@ -285,7 +285,7 @@ The \ccc{value_type} of \ccc{first} and \ccc{last} is \ccc{std::pair