spelling corrections

Some spelling corrections (Directories starting with `E`-` L`),
some backward work
some forward work
This commit is contained in:
albert-github 2022-11-15 13:39:40 +01:00
parent 7a62583efa
commit 45478184de
213 changed files with 367 additions and 367 deletions

View File

@ -1466,7 +1466,7 @@ is_valid(const Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Compute the zone of the given x-monotone curve in the existing arrangement. // Compute the zone of the given x-monotone curve in the existing arrangement.
// Meaning, it output the arrangment's vertices, edges and faces that the // Meaning, it output the arrangement's vertices, edges and faces that the
// x-monotone curve intersects. // x-monotone curve intersects.
template <typename GeometryTraits_2, typename TopologyTraits, template <typename GeometryTraits_2, typename TopologyTraits,
typename OutputIterator, typename PointLocation> typename OutputIterator, typename PointLocation>

View File

@ -3026,7 +3026,7 @@ template <typename GeomTraits, typename TopTraits>
bool is_valid(const Arrangement_on_surface_2<GeomTraits, TopTraits>& arr); bool is_valid(const Arrangement_on_surface_2<GeomTraits, TopTraits>& arr);
/*! Compute the zone of the given x-monotone curve in the existing arrangement. /*! Compute the zone of the given x-monotone curve in the existing arrangement.
* Meaning, it output the arrangment's vertices, edges and faces that the * Meaning, it output the arrangement's vertices, edges and faces that the
* x-monotone curve intersects. * x-monotone curve intersects.
* \param arr The arrangement. * \param arr The arrangement.
* \param c the x-monotone curve that its zone is computed. * \param c the x-monotone curve that its zone is computed.

View File

@ -37,7 +37,7 @@ namespace boost {
/*! \class /*! \class
* Specialization of the BGL graph-traits template, which serves as a (primal) * Specialization of the BGL graph-traits template, which serves as a (primal)
* adapter for Arrangment_on_surface_2, where the valid arrangement vertices * adapter for Arrangement_on_surface_2, where the valid arrangement vertices
* correspond to graph verices and arrangement halfedges correspond to * correspond to graph verices and arrangement halfedges correspond to
* arrangement edges. * arrangement edges.
* Note that non-fictitious vertices at infinity are also considered as graph * Note that non-fictitious vertices at infinity are also considered as graph
@ -333,7 +333,7 @@ public:
/*! \class /*! \class
* Specialization of the BGL graph-traits template, which serves as a (primal) * Specialization of the BGL graph-traits template, which serves as a (primal)
* adapter for Arrangment_2, where the arrangement vertices correspond to graph * adapter for Arrangement_2, where the arrangement vertices correspond to graph
* verices and arrangement halfedges correspond to arrangement edges. * verices and arrangement halfedges correspond to arrangement edges.
*/ */
template <class Traits_, class Dcel_> template <class Traits_, class Dcel_>

View File

@ -80,7 +80,7 @@ namespace CGAL {
// we can optimize the computations of the sign (for the has_on functor), // we can optimize the computations of the sign (for the has_on functor),
// by computing the vector s-c and t-s, in order to use them directly on // by computing the vector s-c and t-s, in order to use them directly on
// another compute_sign_of_cross_product function // another compute_sign_of_cross_product function
// we can save time computing the substractions // we can save time computing the subtractions
// the problem is: more memory space is needed // the problem is: more memory space is needed
_sign_cross_product = _sign_cross_product =
CGAL::SphericalFunctors::compute_sign_of_cross_product<SK>(s,t,c.center()); CGAL::SphericalFunctors::compute_sign_of_cross_product<SK>(s,t,c.center());

View File

@ -1856,7 +1856,7 @@ ABSTRACT = {We present the first complete, exact and efficient C++ implementatio
@article{ cgal:p-plcbd-93 @article{ cgal:p-plcbd-93
,author = "B. Piper" ,author = "B. Piper"
,title = "Properties of Local Coordinates based on Dirichlet ,title = "Properties of Local Coordinates based on Dirichlet
tesselations" Tessellations"
,journal = "Computing Suppl." ,journal = "Computing Suppl."
,year = "1993" ,year = "1993"
,volume = "8" ,volume = "8"

View File

@ -230,7 +230,7 @@
@article{am-castd-90 @article{am-castd-90
, author = "D. J. Abel and D. M. Mark" , author = "D. J. Abel and D. M. Mark"
, title = "A comparative analysis of some two-dimensional orderings" , title = "A comparative analysis of some two-dimensional orderings"
, journal = "Intl. J. Geographic Informations Systems" , journal = "Intl. J. Geographic Information Systems"
, volume = 4 , volume = 4
, year = 1990 , year = 1990
, pages = "21--31" , pages = "21--31"
@ -10917,7 +10917,7 @@ sites with respect to the geodesic metric within a simple $n$-sided polygon."
@article{ab-rdt-85 @article{ab-rdt-85
, author = "Peter F. Ash and Ethan D. Bolker" , author = "Peter F. Ash and Ethan D. Bolker"
, title = "Recognizing {Dirichlet} Tesselations" , title = "Recognizing {Dirichlet} Tessellations"
, journal = "Geom. Dedicata" , journal = "Geom. Dedicata"
, volume = 19 , volume = 19
, year = 1985 , year = 1985
@ -26077,7 +26077,7 @@ present a polynomial-time exact algorithm to solve this problem."
@article{b-cdt-81 @article{b-cdt-81
, author = "A. Bowyer" , author = "A. Bowyer"
, title = "Computing {Dirichlet} tesselations" , title = "Computing {Dirichlet} Tessellations"
, journal = "Comput. J." , journal = "Comput. J."
, volume = 24 , volume = 24
, year = 1981 , year = 1981
@ -48682,7 +48682,7 @@ library."
@article{dcn-accac-85 @article{dcn-accac-85
, author = "J. A. Dougenik and N. R. Chrisman and D. R. Niemeyer" , author = "J. A. Dougenik and N. R. Chrisman and D. R. Niemeyer"
, title = "An algorithm to construct continous area cartograms" , title = "An algorithm to construct continuous area cartograms"
, journal = "Professional Geographer" , journal = "Professional Geographer"
, volume = 37 , volume = 37
, year = 1985 , year = 1985
@ -56844,7 +56844,7 @@ points per bucket (on average) is fastest."
@article{f-sodt-90 @article{f-sodt-90
, author = "G. Farin" , author = "G. Farin"
, title = "Surfaces over {Dirichlet} tesselations" , title = "Surfaces over {Dirichlet} Tessellations"
, journal = "Comput. Aided Geom. Design" , journal = "Comput. Aided Geom. Design"
, volume = 7 , volume = 7
, year = 1990 , year = 1990
@ -76188,7 +76188,7 @@ processing. Contains C code."
@article{hm-mcedr-80 @article{hm-mcedr-80
, author = "A. L. Hinde and R. E. Miles" , author = "A. L. Hinde and R. E. Miles"
, title = "{Monte}-{Carlo} Estimates of the Distributions of the Random Polygons of the {Voronoi} Tesselation With Respect to a {Poisson} Process" , title = "{Monte}-{Carlo} Estimates of the Distributions of the Random Polygons of the {Voronoi} Tessellation With Respect to a {Poisson} Process"
, journal = "Journal of Statistics and Computer Simulation" , journal = "Journal of Statistics and Computer Simulation"
, volume = 10 , volume = 10
, year = 1980 , year = 1980
@ -80482,7 +80482,7 @@ fitting method."
@inproceedings{ikm-owlac-93 @inproceedings{ikm-owlac-93
, author = "Christian Icking and Rolf Klein and Lihong Ma" , author = "Christian Icking and Rolf Klein and Lihong Ma"
, title = "The Optimal Way for Looking Around a Corner" , title = "The Optimal Way for Looking Around a Corner"
, booktitle = "Proc. 4th IEEE--IEE Vehicle Navigation and Informations Systems Conference" , booktitle = "Proc. 4th IEEE--IEE Vehicle Navigation and Information Systems Conference"
, nickname = "VNIS '93" , nickname = "VNIS '93"
, site = "Ottawa, Canada" , site = "Ottawa, Canada"
, year = 1993 , year = 1993
@ -92210,7 +92210,7 @@ some 2 curves cross exponentially many times."
@article{kkbs-p3dpv-92 @article{kkbs-p3dpv-92
, author = "S. Kumar and S. K. Kurtz and J. R. Banavar and M. G. Sharma" , author = "S. Kumar and S. K. Kurtz and J. R. Banavar and M. G. Sharma"
, title = "Properties of a 3-Dimensional {Poisson}-{Voronoi} Tesselation: a {Monte}-{Carlo} Study" , title = "Properties of a 3-Dimensional {Poisson}-{Voronoi} Tessellation: a {Monte}-{Carlo} Study"
, journal = "Journal Of Statistical Physics" , journal = "Journal Of Statistical Physics"
, volume = 67 , volume = 67
, number = "3--4" , number = "3--4"
@ -102836,7 +102836,7 @@ used in many computational geometry algorithms. Contains C++ code."
@incollection{m-rtgh-84 @incollection{m-rtgh-84
, author = "J. Mecke" , author = "J. Mecke"
, title = "Random tesselations generated by hyperplanes" , title = "Random Tessellations generated by hyperplanes"
, editor = "R. Ambartzumian and W. Weil" , editor = "R. Ambartzumian and W. Weil"
, booktitle = "Stochastic Geometry, Geometric Statistics, Stereology" , booktitle = "Stochastic Geometry, Geometric Statistics, Stereology"
, publisher = "B. G. Teubner" , publisher = "B. G. Teubner"
@ -122558,7 +122558,7 @@ Previous title: On-Line Navigation Through Regions of Variable
@article{rohg-nrgdv-88 @article{rohg-nrgdv-88
, author = "R. Riedinger and P. Oelhafen and M. Habar and H. J. Guntherodt" , author = "R. Riedinger and P. Oelhafen and M. Habar and H. J. Guntherodt"
, title = "A New Realization of the Global {Delaunay}-{Voronoi} Tesselation in Arbitrary Dimension" , title = "A New Realization of the Global {Delaunay}-{Voronoi} Tessellation in Arbitrary Dimension"
, journal = "Zeitschrift Fur Physikalische Chemie Neue Folge" , journal = "Zeitschrift Fur Physikalische Chemie Neue Folge"
, volume = 157 , volume = 157
, number = "P1" , number = "P1"
@ -122569,7 +122569,7 @@ Previous title: On-Line Navigation Through Regions of Variable
@article{rohg-advt-88 @article{rohg-advt-88
, author = "R. Riedinger and P. Oelhafen and M. Habar and H. J. Guntherodt" , author = "R. Riedinger and P. Oelhafen and M. Habar and H. J. Guntherodt"
, title = "About the {Delaunay}-{Voronoi} Tesselation" , title = "About the {Delaunay}-{Voronoi} Tessellation"
, journal = "J. Comput. Phys." , journal = "J. Comput. Phys."
, volume = 74 , volume = 74
, number = 1 , number = 1
@ -125934,7 +125934,7 @@ convex hulls."
@article{st-pwvt-88 @article{st-pwvt-88
, author = "M. Sakamoto and M. Takagi" , author = "M. Sakamoto and M. Takagi"
, title = "Patterns of weighted {Voronoi} tesselations" , title = "Patterns of weighted {Voronoi} Tessellations"
, journal = "Science and Form" , journal = "Science and Form"
, volume = 3 , volume = 3
, year = 1988 , year = 1988
@ -132348,7 +132348,7 @@ Contains C code."
@article{sc-tdfem-85 @article{sc-tdfem-85
, author = "D. N. Shenton and Z. J. Cendes" , author = "D. N. Shenton and Z. J. Cendes"
, title = "Three-Dimensional Finite Element Mesh Generation Using {Delaunay} Tesselation" , title = "Three-Dimensional Finite Element Mesh Generation Using {Delaunay} Tessellation"
, journal = "IEEE Trans. Magn." , journal = "IEEE Trans. Magn."
, volume = "MAG-21" , volume = "MAG-21"
, number = 6 , number = 6
@ -133265,7 +133265,7 @@ Contains C code."
@article{s-vidt-80 @article{s-vidt-80
, author = "R. Sibson" , author = "R. Sibson"
, title = "A vector identity for the {Dirichlet} tesselation" , title = "A vector identity for the {Dirichlet} Tessellation"
, journal = "Math. Proc. Camb. Phil. Soc." , journal = "Math. Proc. Camb. Phil. Soc."
, volume = 87 , volume = 87
, year = 1980 , year = 1980
@ -133301,7 +133301,7 @@ Contains C code."
@article{s-dtada-80 @article{s-dtada-80
, author = "R. Sibson" , author = "R. Sibson"
, title = "The {Dirichlet} tesselation as an aid in data analysis" , title = "The {Dirichlet} Tessellation as an aid in data analysis"
, journal = "Scand. J. Statist." , journal = "Scand. J. Statist."
, volume = 7 , volume = 7
, year = 1980 , year = 1980
@ -137630,7 +137630,7 @@ depth."
, author = "K. Sugihara" , author = "K. Sugihara"
, title = "Algorithms for computing {Voronoi} diagrams" , title = "Algorithms for computing {Voronoi} diagrams"
, editor = "A. Okabe and B. Boots and K. Sugihara" , editor = "A. Okabe and B. Boots and K. Sugihara"
, booktitle = "Spatial Tesselations: Concepts and Applications of Voronoi Diagrams" , booktitle = "Spatial Tessellations: Concepts and Applications of Voronoi Diagrams"
, publisher = "John Wiley \& Sons" , publisher = "John Wiley \& Sons"
, address = "Chichester, UK" , address = "Chichester, UK"
, year = 1992 , year = 1992
@ -139848,7 +139848,7 @@ code."
@article{too-natdv-83 @article{too-natdv-83
, author = "M. Tanemura and T. Ogawa and W. Ogita" , author = "M. Tanemura and T. Ogawa and W. Ogita"
, title = "A New Algorithm for Three-Dimensional {Voronoi} Tesselation" , title = "A New Algorithm for Three-Dimensional {Voronoi} Tessellation"
, journal = "J. Comput. Phys." , journal = "J. Comput. Phys."
, volume = 51 , volume = 51
, year = 1983 , year = 1983
@ -146302,7 +146302,7 @@ multiple two-dimensional obstacles of convex and concave shapes are shown."
@article{w-cnddt-81 @article{w-cnddt-81
, author = "D. F. Watson" , author = "D. F. Watson"
, title = "Computing the $n$-Dimensional {Delaunay} Tesselation with Applications to {Voronoi} Polytopes" , title = "Computing the $n$-Dimensional {Delaunay} Tessellation with Applications to {Voronoi} Polytopes"
, journal = "Comput. J." , journal = "Comput. J."
, volume = 24 , volume = 24
, number = 2 , number = 2
@ -148056,7 +148056,7 @@ Contains C code."
@techreport{wl-pvatp-82 @techreport{wl-pvatp-82
, author = "H. A. G. Wijshoff and J. van Leeuwen" , author = "H. A. G. Wijshoff and J. van Leeuwen"
, title = "Periodic versus arbitrary tesselations of the plane using polyominos of a single type" , title = "Periodic versus arbitrary Tessellations of the plane using polyominos of a single type"
, type = "Report" , type = "Report"
, number = "RUU-CS-82-11" , number = "RUU-CS-82-11"
, institution = "Dept. Comput. Sci., Utrecht Univ." , institution = "Dept. Comput. Sci., Utrecht Univ."

View File

@ -101,7 +101,7 @@ namespace CGAL {
Computes the upper envelope of a set of \f$ x\f$-monotone curves in Computes the upper envelope of a set of \f$ x\f$-monotone curves in
\f$ \mathbb{R}^2\f$, as given by the range `[begin, end)` with the help \f$ \mathbb{R}^2\f$, as given by the range `[begin, end)` with the help
of the arrangement traits object `traits` responsbile for their creation. of the arrangement traits object `traits` responsible for their creation.
Reusing the same traits object improves speed if the traits class caches data. Reusing the same traits object improves speed if the traits class caches data.
The upper envelope is represented using the output maximization diagram `diag`. The upper envelope is represented using the output maximization diagram `diag`.

View File

@ -8,7 +8,7 @@
\cgalPkgPicture{Envelope_2/fig/Envelope_2.png} \cgalPkgPicture{Envelope_2/fig/Envelope_2.png}
\cgalPkgSummaryBegin \cgalPkgSummaryBegin
\cgalPkgAuthor{Ron Wein} \cgalPkgAuthor{Ron Wein}
\cgalPkgDesc{This package consits of functions that computes the lower (or upper) envelope of a set of arbitrary curves in 2D. The output is represented as an envelope diagram, namely a subdivision of the \f$ x\f$-axis into intervals, such that the identity of the curves that induce the envelope on each interval is unique.} \cgalPkgDesc{This package consists of functions that computes the lower (or upper) envelope of a set of arbitrary curves in 2D. The output is represented as an envelope diagram, namely a subdivision of the \f$ x\f$-axis into intervals, such that the identity of the curves that induce the envelope on each interval is unique.}
\cgalPkgManuals{Chapter_Envelopes_of_Curves_in_2D,PkgEnvelope2Ref} \cgalPkgManuals{Chapter_Envelopes_of_Curves_in_2D,PkgEnvelope2Ref}
\cgalPkgSummaryEnd \cgalPkgSummaryEnd
\cgalPkgShortInfoBegin \cgalPkgShortInfoBegin

View File

@ -24,7 +24,7 @@ typedef CGAL::Envelope_diagram_1<Traits_2> Diagram_1;
int main () int main ()
{ {
// Consrtuct the input segments and label them 'A' ... 'H'. // Construct the input segments and label them 'A' ... 'H'.
std::list<Labeled_segment_2> segments; std::list<Labeled_segment_2> segments;
segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (0, 1), segments.push_back (Labeled_segment_2 (Segment_2 (Point_2 (0, 1),

View File

@ -507,7 +507,7 @@ compare_y_at_end(const X_monotone_curve_2& xcv1,
if (ps_y1 != ARR_INTERIOR) { if (ps_y1 != ARR_INTERIOR) {
if (ps_y2 != ARR_INTERIOR) { if (ps_y2 != ARR_INTERIOR) {
// The curve ends have boundary conditions with oposite signs in y, // The curve ends have boundary conditions with opposite signs in y,
// we readily know their relative position (recall that they do not // we readily know their relative position (recall that they do not
// instersect). // instersect).
if ((ps_y1 == ARR_BOTTOM_BOUNDARY) && (ps_y2 == ARR_TOP_BOUNDARY)) if ((ps_y1 == ARR_BOTTOM_BOUNDARY) && (ps_y2 == ARR_TOP_BOUNDARY))
@ -678,7 +678,7 @@ _merge_two_intervals(Edge_const_handle e1, bool is_leftmost1,
break; break;
} }
// Create a new vertex in the output diagram that corrsponds to the // Create a new vertex in the output diagram that corresponds to the
// current intersection point. // current intersection point.
if (is_in_x_range) { if (is_in_x_range) {
CGAL_assertion(current_res != EQUAL); CGAL_assertion(current_res != EQUAL);
@ -903,7 +903,7 @@ _merge_two_intervals(Edge_const_handle e1, bool is_leftmost1,
// origin_of_v could be EQUAL but the curves do not intersect. // origin_of_v could be EQUAL but the curves do not intersect.
// This is because of the fact that v could be the endpoint of the NEXT // This is because of the fact that v could be the endpoint of the NEXT
// curve (which is lower than the currrent curve. The second diagram, however, // curve (which is lower than the current curve. The second diagram, however,
// has a curve that ends at v. // has a curve that ends at v.
// For example: // For example:
// First diagram is the segment: [(0, -1), (1, 0)] // First diagram is the segment: [(0, -1), (1, 0)]

View File

@ -35,7 +35,7 @@ enum Coord_input_format
* \param filename The name of the input file. * \param filename The name of the input file.
* \param format The coordinate format. * \param format The coordinate format.
* \param segs Output: The segments. * \param segs Output: The segments.
* \return Whether the segments were successfuly read. * \return Whether the segments were successfully read.
*/ */
bool read_segments (const char* filename, bool read_segments (const char* filename,
Coord_input_format format, Coord_input_format format,
@ -113,7 +113,7 @@ bool find_curve(I begin, I end, const Curve_2& c)
* Check the envelope of a given set of segments. * Check the envelope of a given set of segments.
* \param segs The segments. * \param segs The segments.
* \param diag The diagram. * \param diag The diagram.
* \param is_lower Does the diagram reprsent the lower or the upper envelope. * \param is_lower Does the diagram represent the lower or the upper envelope.
* \return Whether the diagram structure is correct. * \return Whether the diagram structure is correct.
*/ */
bool check_envelope (const Curve_list& segs, bool check_envelope (const Curve_list& segs,

View File

@ -8,7 +8,7 @@
\cgalPkgPicture{Envelope_3/fig/Envelope_3.png} \cgalPkgPicture{Envelope_3/fig/Envelope_3.png}
\cgalPkgSummaryBegin \cgalPkgSummaryBegin
\cgalPkgAuthors{Dan Halperin, Michal Meyerovitch, Ron Wein, and Baruch Zukerman} \cgalPkgAuthors{Dan Halperin, Michal Meyerovitch, Ron Wein, and Baruch Zukerman}
\cgalPkgDesc{This package consits of functions that compute the lower (or upper) envelope of a set of arbitrary surfaces in 3D. The output is represented as an 2D envelope diagram, namely a planar subdivision such that the identity of the surfaces that induce the envelope over each diagram cell is unique.} \cgalPkgDesc{This package consists of functions that compute the lower (or upper) envelope of a set of arbitrary surfaces in 3D. The output is represented as an 2D envelope diagram, namely a planar subdivision such that the identity of the surfaces that induce the envelope over each diagram cell is unique.}
\cgalPkgManuals{Chapter_Envelopes_of_Surfaces_in_3D,PkgEnvelope3Ref} \cgalPkgManuals{Chapter_Envelopes_of_Surfaces_in_3D,PkgEnvelope3Ref}
\cgalPkgSummaryEnd \cgalPkgSummaryEnd
\cgalPkgShortInfoBegin \cgalPkgShortInfoBegin

View File

@ -847,7 +847,7 @@ public:
// the curve cv (i.e. lower if computing the lower envelope, or upper if // the curve cv (i.e. lower if computing the lower envelope, or upper if
// computing the upper envelope) // computing the upper envelope)
// precondition: the surfaces are defined above cv // precondition: the surfaces are defined above cv
// the choise between s1 and s2 for the envelope is the same // the choice between s1 and s2 for the envelope is the same
// for every point in the infinitesimal region above cv // for every point in the infinitesimal region above cv
// the surfaces are EQUAL over the curve cv // the surfaces are EQUAL over the curve cv
Comparison_result Comparison_result

View File

@ -48,10 +48,10 @@ public:
typedef typename Base_traits_3::Xy_monotone_surface_3 typedef typename Base_traits_3::Xy_monotone_surface_3
Base_xy_monotone_surface_3; Base_xy_monotone_surface_3;
// Representation of a surface with an addtional data field: // Representation of a surface with an additional data field:
typedef _Curve_data_ex<Base_surface_3, Surface_data> Surface_3; typedef _Curve_data_ex<Base_surface_3, Surface_data> Surface_3;
// Representation of an xy-monotone surface with an addtional data field: // Representation of an xy-monotone surface with an additional data field:
typedef _Curve_data_ex<Base_xy_monotone_surface_3, typedef _Curve_data_ex<Base_xy_monotone_surface_3,
Xy_monotone_surface_data> Xy_monotone_surface_3; Xy_monotone_surface_data> Xy_monotone_surface_3;
@ -70,7 +70,7 @@ public:
{} {}
//@} //@}
/// \name Overriden functors. /// \name Overridden functors.
//@{ //@{
class Make_xy_monotone_3 class Make_xy_monotone_3

View File

@ -259,7 +259,7 @@ public:
} }
/*! /*!
* Check if the triangel is vertical. * Check if the triangle is vertical.
*/ */
bool is_vertical() const bool is_vertical() const
{ {
@ -457,7 +457,7 @@ public:
// the points should not be collinear // the points should not be collinear
CGAL_assertion(s1 != 0); CGAL_assertion(s1 != 0);
// should also take care for the original and trasformed direction of // should also take care for the original and transformed direction of
// the segment // the segment
Sign s2 = CGAL_NTS sign(w3 - w1); Sign s2 = CGAL_NTS sign(w3 - w1);
Sign s = CGAL_NTS sign(int(s1 * s2)); Sign s = CGAL_NTS sign(int(s1 * s2));
@ -756,7 +756,7 @@ public:
// upper envelope) // upper envelope)
// precondition: the surfaces are defined above cv (to the left of cv, // precondition: the surfaces are defined above cv (to the left of cv,
// if cv is directed from min point to max point) // if cv is directed from min point to max point)
// the choise between surf1 and surf2 for the envelope is // the choice between surf1 and surf2 for the envelope is
// the same for every point in the infinitesimal region // the same for every point in the infinitesimal region
// above cv // above cv
// the surfaces are EQUAL over the curve cv // the surfaces are EQUAL over the curve cv
@ -1019,7 +1019,7 @@ public:
return b; return b;
} }
// check whethe two xy-monotone surfaces (3D-triangles or segments) // check whether two xy-monotone surfaces (3D-triangles or segments)
// intersect // intersect
bool do_intersect(const Xy_monotone_surface_3& s1, bool do_intersect(const Xy_monotone_surface_3& s1,
const Xy_monotone_surface_3& s2) const const Xy_monotone_surface_3& s2) const
@ -1057,7 +1057,7 @@ public:
return Object(); return Object();
// if intersecting two segment - alculate the intersection // if intersecting two segment - alculate the intersection
// as in the case of dimention 2 // as in the case of dimension 2
if (s1.is_segment() && s2.is_segment()) if (s1.is_segment() && s2.is_segment())
{ {
Object res = intersection_of_segments(s1, s2); Object res = intersection_of_segments(s1, s2);

View File

@ -73,7 +73,7 @@ Object half_plane_half_plane_proj_intersection(const typename K::Plane_3 &h1,
if(assign(ray, obj)) if(assign(ray, obj))
return ray_under_linear_constraint(ray, l1, k); return ray_under_linear_constraint(ray, l1, k);
CGAL_error(); // doesnt suppose to reach here CGAL_error(); // doesn't suppose to reach here
return Object(); return Object();
} }

View File

@ -183,7 +183,7 @@ public:
} }
// compute the envelope of surfaces in 3D, using the default arbitrary // compute the envelope of surfaces in 3D, using the default arbitrary
// dividor // divider
template <class SurfaceIterator> template <class SurfaceIterator>
void construct_lu_envelope(SurfaceIterator begin, SurfaceIterator end, void construct_lu_envelope(SurfaceIterator begin, SurfaceIterator end,
Minimization_diagram_2& result) Minimization_diagram_2& result)
@ -193,7 +193,7 @@ public:
} }
// compute the envelope of surfaces in 3D using the given set dividor // compute the envelope of surfaces in 3D using the given set divider
template <class SurfaceIterator, class SetDividor> template <class SurfaceIterator, class SetDividor>
void construct_lu_envelope(SurfaceIterator begin, SurfaceIterator end, void construct_lu_envelope(SurfaceIterator begin, SurfaceIterator end,
Minimization_diagram_2& result, Minimization_diagram_2& result,
@ -219,7 +219,7 @@ public:
} }
// compute the envelope of xy-monotone surfaces in 3D, // compute the envelope of xy-monotone surfaces in 3D,
// using the default arbitrary dividor // using the default arbitrary divider
template <class SurfaceIterator> template <class SurfaceIterator>
void construct_envelope_xy_monotone(SurfaceIterator begin, void construct_envelope_xy_monotone(SurfaceIterator begin,
SurfaceIterator end, SurfaceIterator end,
@ -230,7 +230,7 @@ public:
} }
// compute the envelope of xy-monotone surfaces in 3D using the given // compute the envelope of xy-monotone surfaces in 3D using the given
// set dividor // set divider
template <class SurfaceIterator, class SetDividor> template <class SurfaceIterator, class SetDividor>
void construct_envelope_xy_monotone(SurfaceIterator begin, void construct_envelope_xy_monotone(SurfaceIterator begin,
SurfaceIterator end, SurfaceIterator end,
@ -366,7 +366,7 @@ protected:
he->twin()->face()->set_no_data(); he->twin()->face()->set_no_data();
} }
// init auxiliary data for f and its boundarys. // init auxiliary data for f and its boundaries.
for(Outer_ccb_iterator ocit = f->outer_ccbs_begin(); for(Outer_ccb_iterator ocit = f->outer_ccbs_begin();
ocit != f->outer_ccbs_end(); ocit++){ ocit != f->outer_ccbs_end(); ocit++){
Ccb_halfedge_circulator face_hec = *ocit; Ccb_halfedge_circulator face_hec = *ocit;
@ -475,7 +475,7 @@ public:
{ {
Halfedge_handle hh = ei; Halfedge_handle hh = ei;
// there must be data from at least one map, because all the surfaces // there must be data from at least one map, because all the surfaces
// are continous // are continuous
if (!get_aux_is_set(hh, 0) || !get_aux_is_set(hh, 1)) if (!get_aux_is_set(hh, 0) || !get_aux_is_set(hh, 1))
continue; continue;
CGAL_assertion(get_aux_is_set(hh, 0)); CGAL_assertion(get_aux_is_set(hh, 0));
@ -604,7 +604,7 @@ public:
if (vh->is_decision_set()) if (vh->is_decision_set())
continue; continue;
// there must be data from at least one map, because all the surfaces // there must be data from at least one map, because all the surfaces
// are continous // are continuous
CGAL_assertion(get_aux_is_set(vh, 0)); CGAL_assertion(get_aux_is_set(vh, 0));
CGAL_assertion(get_aux_is_set(vh, 1)); CGAL_assertion(get_aux_is_set(vh, 1));
CGAL_assertion(!aux_has_no_data(vh, 1) || !aux_has_no_data(vh, 0)); CGAL_assertion(!aux_has_no_data(vh, 1) || !aux_has_no_data(vh, 0));

View File

@ -511,7 +511,7 @@ public:
// we should have a list of points where we should split the edge's curve // we should have a list of points where we should split the edge's curve
// we then will sort the list, and split the curve // we then will sort the list, and split the curve
// we should pay a special attension for overlaps, since we can get special // we should pay a special attention for overlaps, since we can get special
// edges // edges
// we associate with every point 2 flags: // we associate with every point 2 flags:
@ -567,7 +567,7 @@ public:
CGAL_assertion(icv != nullptr); CGAL_assertion(icv != nullptr);
// we will add the *icv end points to the split_points, unless // we will add the *icv end points to the split_points, unless
// but we should be carefull with infinite curves. // but we should be careful with infinite curves.
Arr_traits_adaptor_2<Traits> tr_adaptor(*m_traits); Arr_traits_adaptor_2<Traits> tr_adaptor(*m_traits);
if (tr_adaptor.parameter_space_in_y_2_object() if (tr_adaptor.parameter_space_in_y_2_object()
(*icv, ARR_MIN_END) == ARR_INTERIOR && (*icv, ARR_MIN_END) == ARR_INTERIOR &&
@ -825,7 +825,7 @@ protected:
// and we compare the surfaces to the left/right of it // and we compare the surfaces to the left/right of it
// otherwise we compare the surfaces over an (arbitrary) edge of the face, // otherwise we compare the surfaces over an (arbitrary) edge of the face,
// assuming this is the correct answer for the face since the surfaces are // assuming this is the correct answer for the face since the surfaces are
// continous // continuous
// In either case, we try to copy decision from an incident face, is possible // In either case, we try to copy decision from an incident face, is possible
// before asking the geometric question // before asking the geometric question
Comparison_result resolve_minimal_face(Face_handle face, Comparison_result resolve_minimal_face(Face_handle face,
@ -1000,7 +1000,7 @@ protected:
const Xy_monotone_surface_3&, const Xy_monotone_surface_3&,
Arr_all_sides_oblivious_tag) Arr_all_sides_oblivious_tag)
{ {
CGAL_error(); // doesnt' suppose to reach here at all!!! CGAL_error(); // doesn't suppose to reach here at all!!!
return SMALLER; return SMALLER;
} }
@ -1035,7 +1035,7 @@ protected:
bool can_copy_decision_from_face_to_edge(Halfedge_handle h) bool can_copy_decision_from_face_to_edge(Halfedge_handle h)
{ {
// can copy decision from face to its incident edge if the aux // can copy decision from face to its incident edge if the aux
// envelopes are continous over the face and edge // envelopes are continuous over the face and edge
return (h->get_has_equal_aux_data_in_face(0) && return (h->get_has_equal_aux_data_in_face(0) &&
h->get_has_equal_aux_data_in_face(1)); h->get_has_equal_aux_data_in_face(1));
} }
@ -1043,7 +1043,7 @@ protected:
bool can_copy_decision_from_edge_to_vertex(Halfedge_handle h) bool can_copy_decision_from_edge_to_vertex(Halfedge_handle h)
{ {
// can copy decision from face to its incident edge if the aux // can copy decision from face to its incident edge if the aux
// envelopes are continous over the face and edge // envelopes are continuous over the face and edge
return (h->get_has_equal_aux_data_in_target(0) && return (h->get_has_equal_aux_data_in_target(0) &&
h->get_has_equal_aux_data_in_target(1)); h->get_has_equal_aux_data_in_target(1));
} }
@ -1113,7 +1113,7 @@ protected:
// intersection, there would also be intersection between the surfaces // intersection, there would also be intersection between the surfaces
// over the face, and we know now that there isn't. // over the face, and we know now that there isn't.
// if the first map is continous, but the second isn't (i.e. when we move // if the first map is continuous, but the second isn't (i.e. when we move
// from the face to the edge, the envelope goes closer), then if the // from the face to the edge, the envelope goes closer), then if the
// second map wins on the face, it wins on the edge also // second map wins on the face, it wins on the edge also
else if (!hh->is_decision_set() && else if (!hh->is_decision_set() &&
@ -1125,7 +1125,7 @@ protected:
hh->twin()->set_decision(DAC_DECISION_SECOND); hh->twin()->set_decision(DAC_DECISION_SECOND);
} }
// if the second map is continous, but the first isn't, then if the // if the second map is continuous, but the first isn't, then if the
// first map wins on the face, it wins on the edge also // first map wins on the face, it wins on the edge also
else if (!hh->is_decision_set() && else if (!hh->is_decision_set() &&
face->get_decision() == DAC_DECISION_FIRST && face->get_decision() == DAC_DECISION_FIRST &&
@ -1164,7 +1164,7 @@ protected:
{ {
vh->set_decision(hh->get_decision()); vh->set_decision(hh->get_decision());
} }
// if the first map is continous, but the second isn't (i.e. when we move // if the first map is continuous, but the second isn't (i.e. when we move
// from the edge to the vertex, the envelope goes closer), then if the // from the edge to the vertex, the envelope goes closer), then if the
// second map wins on the edge, it wins on the vertex also // second map wins on the edge, it wins on the vertex also
else if (hh->get_decision() == DAC_DECISION_SECOND && else if (hh->get_decision() == DAC_DECISION_SECOND &&
@ -1173,7 +1173,7 @@ protected:
{ {
vh->set_decision(DAC_DECISION_SECOND); vh->set_decision(DAC_DECISION_SECOND);
} }
// if the second map is continous, but the first isn't, then if the // if the second map is continuous, but the first isn't, then if the
// first map wins on the edge, it wins on the vertex also // first map wins on the edge, it wins on the vertex also
else if (hh->get_decision() == DAC_DECISION_FIRST && else if (hh->get_decision() == DAC_DECISION_FIRST &&
!hh->get_has_equal_aux_data_in_target(0) && !hh->get_has_equal_aux_data_in_target(0) &&
@ -1299,7 +1299,7 @@ protected:
res = convert_decision_to_comparison_result(hh->get_decision()); res = convert_decision_to_comparison_result(hh->get_decision());
result = true; result = true;
} }
// if the first map is continous, but the second isn't (i.e. when we // if the first map is continuous, but the second isn't (i.e. when we
// move from the edge to the face, the envelope goes farther), then // move from the edge to the face, the envelope goes farther), then
// if the first map wins on the edge, it wins on the face also // if the first map wins on the edge, it wins on the face also
else if (hh->is_decision_set() && else if (hh->is_decision_set() &&
@ -1310,7 +1310,7 @@ protected:
res = convert_decision_to_comparison_result(DAC_DECISION_FIRST); res = convert_decision_to_comparison_result(DAC_DECISION_FIRST);
result = true; result = true;
} }
// if the second map is continous, but the first isn't, then if the // if the second map is continuous, but the first isn't, then if the
// second map wins on the edge, it wins on the face also // second map wins on the edge, it wins on the face also
else if (hh->is_decision_set() && else if (hh->is_decision_set() &&
hh->get_decision() == DAC_DECISION_SECOND && hh->get_decision() == DAC_DECISION_SECOND &&
@ -1342,7 +1342,7 @@ protected:
res = convert_decision_to_comparison_result(hh->get_decision()); res = convert_decision_to_comparison_result(hh->get_decision());
result = true; result = true;
} }
// if the first map is continous, but the second isn't (i.e. when we // if the first map is continuous, but the second isn't (i.e. when we
// move from the edge to the face, the envelope goes farther), then // move from the edge to the face, the envelope goes farther), then
// if the first map wins on the edge, it wins on the face also // if the first map wins on the edge, it wins on the face also
else if (hh->is_decision_set() && else if (hh->is_decision_set() &&
@ -1354,7 +1354,7 @@ protected:
result = true; result = true;
} }
// if the second map is continous, but the first isn't, then if the // if the second map is continuous, but the first isn't, then if the
// second map wins on the edge, it wins on the face also // second map wins on the edge, it wins on the face also
else if (hh->is_decision_set() && else if (hh->is_decision_set() &&
hh->get_decision() == DAC_DECISION_SECOND && hh->get_decision() == DAC_DECISION_SECOND &&
@ -1408,7 +1408,7 @@ protected:
// can copy the data from the edge, since we already took care of // can copy the data from the edge, since we already took care of
// the vertices of projected intersections // the vertices of projected intersections
edge->source()->set_decision(edge->get_decision()); edge->source()->set_decision(edge->get_decision());
// if the first map is continous, but the second isn't (i.e. when we move // if the first map is continuous, but the second isn't (i.e. when we move
// from the edge to the vertex, the envelope goes closer), then if the // from the edge to the vertex, the envelope goes closer), then if the
// second map wins on the edge, it wins on the vertex also // second map wins on the edge, it wins on the vertex also
else if (edge->get_decision() == DAC_DECISION_SECOND && else if (edge->get_decision() == DAC_DECISION_SECOND &&
@ -1417,7 +1417,7 @@ protected:
{ {
edge->source()->set_decision(DAC_DECISION_SECOND); edge->source()->set_decision(DAC_DECISION_SECOND);
} }
// if the second map is continous, but the first isn't, then if the // if the second map is continuous, but the first isn't, then if the
// first map wins on the edge, it wins on the vertex also // first map wins on the edge, it wins on the vertex also
else if (edge->get_decision() == DAC_DECISION_FIRST && else if (edge->get_decision() == DAC_DECISION_FIRST &&
!edge->twin()->get_has_equal_aux_data_in_target(0) && !edge->twin()->get_has_equal_aux_data_in_target(0) &&
@ -1432,7 +1432,7 @@ protected:
// can copy the data from the edge, since we already took care of // can copy the data from the edge, since we already took care of
// the vertices of projected intersections // the vertices of projected intersections
edge->target()->set_decision(edge->get_decision()); edge->target()->set_decision(edge->get_decision());
// if the first map is continous, but the second isn't (i.e. when we move // if the first map is continuous, but the second isn't (i.e. when we move
// from the edge to the vertex, the envelope goes closer), then if the // from the edge to the vertex, the envelope goes closer), then if the
// second map wins on the edge, it wins on the vertex also // second map wins on the edge, it wins on the vertex also
else if (edge->get_decision() == DAC_DECISION_SECOND && else if (edge->get_decision() == DAC_DECISION_SECOND &&
@ -1441,7 +1441,7 @@ protected:
{ {
edge->target()->set_decision(DAC_DECISION_SECOND); edge->target()->set_decision(DAC_DECISION_SECOND);
} }
// if the second map is continous, but the first isn't, then if the // if the second map is continuous, but the first isn't, then if the
// first map wins on the edge, it wins on the vertex also // first map wins on the edge, it wins on the vertex also
else if (edge->get_decision() == DAC_DECISION_FIRST && else if (edge->get_decision() == DAC_DECISION_FIRST &&
!edge->get_has_equal_aux_data_in_target(0) && !edge->get_has_equal_aux_data_in_target(0) &&
@ -2117,7 +2117,7 @@ protected:
// this observer is used in the process of resolving a face // this observer is used in the process of resolving a face
// it listens to what happpens in the copied arrangement, and copies back // it listens to what happens in the copied arrangement, and copies back
// the actions to result arrangements very efficiently // the actions to result arrangements very efficiently
class Copy_observer : public Md_observer class Copy_observer : public Md_observer
{ {
@ -2263,7 +2263,7 @@ protected:
virtual void after_create_edge(Halfedge_handle e) virtual void after_create_edge(Halfedge_handle e)
{ {
// a new edge e was created in small_arr, we should create a corresponing // a new edge e was created in small_arr, we should create a corresponding
// edge in big_arr // edge in big_arr
CGAL_assertion(map_vertices.is_defined(create_edge_v1)); CGAL_assertion(map_vertices.is_defined(create_edge_v1));
CGAL_assertion(map_vertices.is_defined(create_edge_v2)); CGAL_assertion(map_vertices.is_defined(create_edge_v2));
@ -3171,7 +3171,7 @@ protected:
// for using its methods // for using its methods
Self* parent; Self* parent;
// current type of interection curve that is inserted // current type of intersection curve that is inserted
Multiplicity itype; Multiplicity itype;
}; };

View File

@ -46,7 +46,7 @@ public:
}; };
//! The last element is stored in the second sequence and all the other (n-1) //! The last element is stored in the second sequence and all the other (n-1)
// elments are stored in the first sequence. // elements are stored in the first sequence.
class Incremental_dividor class Incremental_dividor
{ {
public: public:

View File

@ -34,7 +34,7 @@
// of general surfaces in 3d, used for testing. // of general surfaces in 3d, used for testing.
// The algorithm projects the surfaces on the plane, and projects all the intersections // The algorithm projects the surfaces on the plane, and projects all the intersections
// between surfaces, to get an arrangement that is a partition of the real envelope. // between surfaces, to get an arrangement that is a partition of the real envelope.
// Then it computes for each part in the arragement the surfaces on the envelope over it // Then it computes for each part in the arrangement the surfaces on the envelope over it
// by comparing them all. // by comparing them all.
namespace CGAL { namespace CGAL {
@ -214,7 +214,7 @@ public:
for(; hi != result.halfedges_end(); ++hi, ++hi) for(; hi != result.halfedges_end(); ++hi, ++hi)
{ {
Halfedge_handle hh = hi; Halfedge_handle hh = hi;
// first we find the surfaces that are defined over the egde // first we find the surfaces that are defined over the edge
std::list<Xy_monotone_surface_3> defined_surfaces; std::list<Xy_monotone_surface_3> defined_surfaces;
for(std::size_t i=0; i<number_of_surfaces; ++i) for(std::size_t i=0; i<number_of_surfaces; ++i)
if (is_surface_defined_over_edge(hh, surfaces[i])) if (is_surface_defined_over_edge(hh, surfaces[i]))
@ -256,7 +256,7 @@ public:
* \todo The overlay compares the data using assertions. This should be * \todo The overlay compares the data using assertions. This should be
* replaced, but since we want to terminate the overlay once we * replaced, but since we want to terminate the overlay once we
* determine that the 2 diagrams differ, we cannot simply remove the * determine that the 2 diagrams differ, we cannot simply remove the
* assertions. One option is to generate an exeption and catch it. * assertions. One option is to generate an exception and catch it.
*/ */
bool compare_diagrams(Minimization_diagram_2 &test_env, bool compare_diagrams(Minimization_diagram_2 &test_env,
Minimization_diagram_2 &env) Minimization_diagram_2 &env)

View File

@ -34,7 +34,7 @@
// The algorithm projects the surfaces on the plane, and projects all the // The algorithm projects the surfaces on the plane, and projects all the
// intersections between surfaces, to get an arrangement that is a partition // intersections between surfaces, to get an arrangement that is a partition
// of the real envelope. // of the real envelope.
// Then it computes for each part in the arragement the surfaces on the // Then it computes for each part in the arrangement the surfaces on the
// envelope over it by comparing them all. // envelope over it by comparing them all.
namespace CGAL { namespace CGAL {
@ -222,7 +222,7 @@ public:
Halfedge_iterator hi = result.halfedges_begin(); Halfedge_iterator hi = result.halfedges_begin();
for (; hi != result.halfedges_end(); ++hi, ++hi) { for (; hi != result.halfedges_end(); ++hi, ++hi) {
Halfedge_handle hh = hi; Halfedge_handle hh = hi;
// first we find the surfaces that are defined over the egde // first we find the surfaces that are defined over the edge
std::list<Xy_monotone_surface_3> defined_surfaces; std::list<Xy_monotone_surface_3> defined_surfaces;
for(std::size_t i=0; i<number_of_surfaces; ++i) for(std::size_t i=0; i<number_of_surfaces; ++i)
if (is_surface_defined_over_edge(hh, surfaces[i])) if (is_surface_defined_over_edge(hh, surfaces[i]))

View File

@ -2,7 +2,7 @@ Concerning the main code:
------------------------- -------------------------
- Policy for overlapping comparisons : another good (faster) solution - Policy for overlapping comparisons : another good (faster) solution
would be to set a static boolean variable to indicate a buggy comparison would be to set a static boolean variable to indicate a buggy comparison
happenned (a la IEEE inexact flags). Drawback is that it's not thread safe, happened (a la IEEE inexact flags). Drawback is that it's not thread safe,
but could be made safe with pthread_key_create()... but could be made safe with pthread_key_create()...
Clearly, all this stuff is policy. Clearly, all this stuff is policy.
struct overlap_throw { struct overlap_throw {
@ -108,7 +108,7 @@ except we could merge stuff with Olivier's Fixed !
- Another approach to consider : Implement predicates taking one or several - Another approach to consider : Implement predicates taking one or several
epsilons as additional parameters, and have the functionality found in Open epsilons as additional parameters, and have the functionality found in Open
CasCade, using sign(a, epsilon). Then with a special traits or something, CasCade, using sign(a, epsilon). Then with a special traits or something,
we can define sign(a,epsilon) = sign(a), and get the traditionnal template we can define sign(a,epsilon) = sign(a), and get the traditional template
predicates from that... So that the epsilons are removed at compile time ? predicates from that... So that the epsilons are removed at compile time ?
It would be nice to know exactly the desired functionality for epsilons... It would be nice to know exactly the desired functionality for epsilons...

View File

@ -129,7 +129,7 @@ private:
// variable. // variable.
// _e is a bound on the absolute error (difference between _b and the // _e is a bound on the absolute error (difference between _b and the
// _real_ value of the variable. // _real_ value of the variable.
// _d is the degree of the variable, it allows some additionnal checks. // _d is the degree of the variable, it allows some additional checks.
double _b, _e; double _b, _e;
int _d; int _d;
}; };

View File

@ -781,7 +781,7 @@ public:
// E2A()(e) and std::forward<E>(e) could be evaluated in any order, but // E2A()(e) and std::forward<E>(e) could be evaluated in any order, but
// that's ok, "forward" itself does not modify e, it may only mark it as // that's ok, "forward" itself does not modify e, it may only mark it as
// modifyable by the outer call, which is obviously sequenced after the inner // modifiable by the outer call, which is obviously sequenced after the inner
// call E2A()(e). // call E2A()(e).
template<class E> template<class E>
Lazy_rep_0(E&& e) Lazy_rep_0(E&& e)

View File

@ -89,7 +89,7 @@ protected:
// Exact_kernel = exact kernel that will be made lazy // Exact_kernel = exact kernel that will be made lazy
// Kernel = lazy kernel // Kernel = lazy kernel
// the Generic base simplies applies the generic magic functor stupidly. // the Generic base simply applies the generic magic functor stupidly.
// then the real base fixes up a few special cases. // then the real base fixes up a few special cases.
template < typename EK_, typename AK_, typename E2A_, typename Kernel_ > template < typename EK_, typename AK_, typename E2A_, typename Kernel_ >
class Lazy_kernel_generic_base : protected internal::Enum_holder class Lazy_kernel_generic_base : protected internal::Enum_holder

View File

@ -16,7 +16,7 @@
namespace CGAL { namespace CGAL {
// This template class is a functor adaptor targetting geometric constructions. // This template class is a functor adaptor targeting geometric constructions.
// //
// They are "robust" in the following sense : the input and output are // They are "robust" in the following sense : the input and output are
// approximate (doubles), but the internal computation tries to guarantees the // approximate (doubles), but the internal computation tries to guarantees the

View File

@ -117,7 +117,7 @@ To answer this need, a generalized map allows to create <I>attributes</I> which
<LI>an <I>i</I>-cell may have no associated <I>i</I>-attribute. <LI>an <I>i</I>-cell may have no associated <I>i</I>-attribute.
</UL> </UL>
Since <I>i</I>-cells are not explicitely represented in generalized maps, the association between <I>i</I>-cells and <I>i</I>-attributes is transferred to darts: if attribute <I>a</I> is associated to <I>i</I>-cell <I>c</I>, all the darts belonging to <I>c</I> are associated to <I>a</I>. Since <I>i</I>-cells are not explicitly represented in generalized maps, the association between <I>i</I>-cells and <I>i</I>-attributes is transferred to darts: if attribute <I>a</I> is associated to <I>i</I>-cell <I>c</I>, all the darts belonging to <I>c</I> are associated to <I>a</I>.
We can see two examples of generalized maps having some attributes in \cgalFigureRef{fig_gmap_with_attribs}. In the first example (Left), a 2D generalized map has 1-attributes containing a float, for example corresponding to the length of the associated 1-cell, and 2-attributes containing a color in RGB format. In the second example (Right), a 3D generalized map has 2-attributes containing a color in RGB format. We can see two examples of generalized maps having some attributes in \cgalFigureRef{fig_gmap_with_attribs}. In the first example (Left), a 2D generalized map has 1-attributes containing a float, for example corresponding to the length of the associated 1-cell, and 2-attributes containing a color in RGB format. In the second example (Right), a 3D generalized map has 2-attributes containing a color in RGB format.

View File

@ -40,7 +40,7 @@ struct Split_functor
// operator() automatically called after a split. // operator() automatically called after a split.
void operator()(Face_attribute& ca1, Face_attribute& ca2) void operator()(Face_attribute& ca1, Face_attribute& ca2)
{ {
// We need to reinitalize the weight of the two faces // We need to reinitialize the weight of the two faces
GMap_3::size_type nb1=mmap.darts_of_cell<2>(ca1.dart()).size(); GMap_3::size_type nb1=mmap.darts_of_cell<2>(ca1.dart()).size();
GMap_3::size_type nb2=mmap.darts_of_cell<2>(ca2.dart()).size(); GMap_3::size_type nb2=mmap.darts_of_cell<2>(ca2.dart()).size();
mmap.info<2>(ca1.dart())*=(double(nb1)/(nb1+nb2)); mmap.info<2>(ca1.dart())*=(double(nb1)/(nb1+nb2));

View File

@ -193,7 +193,7 @@ namespace CGAL {
* @param dartinfoconverter functor to transform original information of darts into information of copies * @param dartinfoconverter functor to transform original information of darts into information of copies
* @param pointconverter functor to transform points in original map into points of copies. * @param pointconverter functor to transform points in original map into points of copies.
* @param copy_perforated_darts true to copy also darts marked perforated (if any) * @param copy_perforated_darts true to copy also darts marked perforated (if any)
* @param mark_perforated_darts true to mark darts wich are copies of perforated darts (if any) * @param mark_perforated_darts true to mark darts which are copies of perforated darts (if any)
* @post *this is valid. * @post *this is valid.
*/ */
template <typename GMap2, typename Dart_descriptor_2, template <typename GMap2, typename Dart_descriptor_2,
@ -1415,7 +1415,7 @@ namespace CGAL {
std::get<Helper::template Dimension_index<i>::value> std::get<Helper::template Dimension_index<i>::value>
(mattribute_containers).emplace(args...); (mattribute_containers).emplace(args...);
// Reinitialize the ref counting of the new attribute. This is normally // Reinitialize the ref counting of the new attribute. This is normally
// not required except if create_attribute is used as "copy contructor". // not required except if create_attribute is used as "copy constructor".
this->template init_attribute_ref_counting<i>(res); this->template init_attribute_ref_counting<i>(res);
internal::Init_id<typename Attribute_range<i>::type>::run internal::Init_id<typename Attribute_range<i>::type>::run
(this->template attributes<i>(), res); (this->template attributes<i>(), res);
@ -2632,7 +2632,7 @@ namespace CGAL {
<Self, Map2, 0>::run(*this, map2, current, other); <Self, Map2, 0>::run(*this, map2, current, other);
} }
// We test if the injection is valid with its neighboors. // We test if the injection is valid with its neighbours.
// We go out as soon as it is not satisfied. // We go out as soon as it is not satisfied.
for (i = 0; match && i <= dimension; ++i) for (i = 0; match && i <= dimension; ++i)
{ {
@ -3021,7 +3021,7 @@ namespace CGAL {
/** Test if a face is a combinatorial polygon of length alg /** Test if a face is a combinatorial polygon of length alg
* (a cycle of alg edges alpha1 links together). * (a cycle of alg edges alpha1 links together).
* @param adart an intial dart * @param adart an initial dart
* @return true iff the face containing adart is a polygon of length alg. * @return true iff the face containing adart is a polygon of length alg.
*/ */
bool is_face_combinatorial_polygon(Dart_const_descriptor adart, bool is_face_combinatorial_polygon(Dart_const_descriptor adart,
@ -3115,7 +3115,7 @@ namespace CGAL {
} }
/** Test if a volume is a combinatorial tetrahedron. /** Test if a volume is a combinatorial tetrahedron.
* @param adart an intial dart * @param adart an initial dart
* @return true iff the volume containing adart is a combinatorial tetrahedron. * @return true iff the volume containing adart is a combinatorial tetrahedron.
*/ */
bool is_volume_combinatorial_tetrahedron(Dart_const_descriptor d1) const bool is_volume_combinatorial_tetrahedron(Dart_const_descriptor d1) const
@ -3192,7 +3192,7 @@ namespace CGAL {
} }
/** Test if a volume is a combinatorial hexahedron. /** Test if a volume is a combinatorial hexahedron.
* @param adart an intial dart * @param adart an initial dart
* @return true iff the volume containing adart is a combinatorial hexahedron. * @return true iff the volume containing adart is a combinatorial hexahedron.
*/ */
bool is_volume_combinatorial_hexahedron(Dart_const_descriptor d1) const bool is_volume_combinatorial_hexahedron(Dart_const_descriptor d1) const
@ -3385,7 +3385,7 @@ namespace CGAL {
} }
/** Insert a vertex in the given 2-cell which is split in triangles, /** Insert a vertex in the given 2-cell which is split in triangles,
* once for each inital edge of the facet. * once for each initial edge of the facet.
* @param adart a dart of the facet to triangulate. * @param adart a dart of the facet to triangulate.
* @return A dart incident to the new vertex. * @return A dart incident to the new vertex.
*/ */

View File

@ -34,7 +34,7 @@
* GMap_group_attribute_functor<GMap> to group the <i>-attributes of two * GMap_group_attribute_functor<GMap> to group the <i>-attributes of two
* given i-cells (except for j-adim). If one i-attribute is nullptr, we set the * given i-cells (except for j-adim). If one i-attribute is nullptr, we set the
* darts of its i-cell to the second attribute. If both i-attributes are * darts of its i-cell to the second attribute. If both i-attributes are
* non nullptr, we overide all the i-attribute of the second i-cell to the * non nullptr, we override all the i-attribute of the second i-cell to the
* first i-attribute. * first i-attribute.
* *
* GMap_degroup_attribute_functor_run<GMap> to degroup one i-attributes in two * GMap_degroup_attribute_functor_run<GMap> to degroup one i-attributes in two

View File

@ -658,7 +658,7 @@ struct Address_of {
} }
}; };
}//namesapce internal }//namespace internal
template <class Point_2, template <class Point_2,
class Triangle_2=typename Kernel_traits<Point_2>::Kernel::Triangle_2, class Triangle_2=typename Kernel_traits<Point_2>::Kernel::Triangle_2,

View File

@ -221,7 +221,7 @@ void random_convex_hull_in_disc_2(std::size_t n, double radius, std::list<typena
boost::variate_generator< boost::variate_generator<
GEN&, boost::binomial_distribution<long> > bin(gen, dbin); GEN&, boost::binomial_distribution<long> > bin(gen, dbin);
// How many points are falling in the small disc and wont be generated: // How many points are falling in the small disc and won't be generated:
long k_disc = bin(); long k_disc = bin();
simulated_points += k_disc; simulated_points += k_disc;

View File

@ -59,7 +59,7 @@ public:
// Returns the midpoint (under the L1 metric) that is on the rectangle // Returns the midpoint (under the L1 metric) that is on the rectangle
// defined by the two points (the rectangle can be degenerate). // defined by the two points (the rectangle can be degenerate).
// As there are to enpoints, the index determines which is returned // As there are to endpoints, the index determines which is returned
static Point_2 midpoint(const Point_2& p1, const Point_2& p2, std::size_t index) { static Point_2 midpoint(const Point_2& p1, const Point_2& p2, std::size_t index) {
const Point_2 *pp1; const Point_2 *pp1;
const Point_2 *pp2; const Point_2 *pp2;

View File

@ -8,7 +8,7 @@ objects in <I>Qt</I>, and the other way round. Note that some objects have no eq
For example the `CGAL::Circle_2<K>` cannot be converted to something in Qt, For example the `CGAL::Circle_2<K>` cannot be converted to something in Qt,
and the unbounded objects `CGAL::Ray_2<K>` and `CGAL::Line_2<K>` are clipped. and the unbounded objects `CGAL::Ray_2<K>` and `CGAL::Line_2<K>` are clipped.
Note also that \cgal and <I>Qt</I> sometimes also use the same word for different things. Note also that \cgal and <I>Qt</I> sometimes also use the same word for different things.
For example <I>line</I> denotes an unbounded line in \cgal, wheras it denotes a bounded For example <I>line</I> denotes an unbounded line in \cgal, whereas it denotes a bounded
segment in <I>Qt</I>. segment in <I>Qt</I>.
\tparam K must be a model of `Kernel`. \tparam K must be a model of `Kernel`.

View File

@ -106,7 +106,7 @@ namespace internal
} }
}; };
// Specialization when K==Local_kernel, because there is no need of convertion here. // Specialization when K==Local_kernel, because there is no need of conversion here.
template<typename Local_kernel> template<typename Local_kernel>
struct Geom_utils<Local_kernel, Local_kernel> struct Geom_utils<Local_kernel, Local_kernel>
{ {
@ -577,7 +577,7 @@ protected:
add_gouraud_normal(m_vertex_normals_for_face[i]); add_gouraud_normal(m_vertex_normals_for_face[i]);
} }
else else
{ // Here user does not provide all vertex normals: we use face normal istead { // Here user does not provide all vertex normals: we use face normal instead
// and thus we will not be able to use Gouraud // and thus we will not be able to use Gouraud
add_gouraud_normal(normal); add_gouraud_normal(normal);
} }
@ -703,7 +703,7 @@ protected:
else { ++(edges[p1][p2]); } else { ++(edges[p1][p2]); }
} }
// (1) We insert all the edges as contraint in the CDT. // (1) We insert all the edges as constraint in the CDT.
typename CDT::Vertex_handle previous=nullptr, first=nullptr; typename CDT::Vertex_handle previous=nullptr, first=nullptr;
for (unsigned int i=0; i<m_points_of_face.size(); ++i) for (unsigned int i=0; i<m_points_of_face.size(); ++i)
{ {
@ -872,7 +872,7 @@ protected:
} }
protected: protected:
// Types usefull for triangulation // Types useful for triangulation
struct Vertex_info struct Vertex_info
{ {
Local_vector v; Local_vector v;

View File

@ -1781,7 +1781,7 @@ protected:
QGLBuffer buffers[NB_VBO_BUFFERS]; QGLBuffer buffers[NB_VBO_BUFFERS];
// The following enum gives the indices of the differents vao. // The following enum gives the indices of the different vao.
enum enum
{ VAO_MONO_POINTS=0, { VAO_MONO_POINTS=0,
VAO_COLORED_POINTS, VAO_COLORED_POINTS,

View File

@ -58,12 +58,12 @@ protected:
bool closed = true); bool closed = true);
// mousePressEvent returns true iff the event is consummed // mousePressEvent returns true iff the event is consumed
bool mousePressEvent(QGraphicsSceneMouseEvent *event); bool mousePressEvent(QGraphicsSceneMouseEvent *event);
void mouseMoveEvent(QGraphicsSceneMouseEvent *event); void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
// keyPressEvent returns true iff the event is consummed // keyPressEvent returns true iff the event is consumed
bool keyPressEvent(QKeyEvent *event); bool keyPressEvent(QKeyEvent *event);
void rubberbands(const QPointF& p); void rubberbands(const QPointF& p);

View File

@ -1301,7 +1301,7 @@ void Camera::setFromProjectionMatrix(const qreal matrix[12]) {
// divide the first 3 coordinates by the 4th one. // divide the first 3 coordinates by the 4th one.
// We derive the 4 dimensional vectorial product formula from the // We derive the 4 dimensional vectorial product formula from the
// computation of a 4x4 determinant that is developped according to // computation of a 4x4 determinant that is developed according to
// its 4th column. This implies some 3x3 determinants. // its 4th column. This implies some 3x3 determinants.
const Vec cam_pos = const Vec cam_pos =
Vec(det(matrix[ind(0, 1)], matrix[ind(0, 2)], matrix[ind(0, 3)], Vec(det(matrix[ind(0, 1)], matrix[ind(0, 2)], matrix[ind(0, 3)],

View File

@ -51,5 +51,5 @@ void traverse_resources(const QString& name, const QString& dirname, int indent)
} }
} }
} // namesapce Qt } // namespace Qt
} // namespace CGAL } // namespace CGAL

View File

@ -106,7 +106,7 @@ class Constraint;
the Frame. The default constraint() is \c nullptr resulting in no filtering. Use the Frame. The default constraint() is \c nullptr resulting in no filtering. Use
setConstraint() to attach a Constraint to a frame. setConstraint() to attach a Constraint to a frame.
Constraints are especially usefull for the ManipulatedFrame instances, in Constraints are especially useful for the ManipulatedFrame instances, in
order to forbid some mouse motions. See the <a order to forbid some mouse motions. See the <a
href="../examples/constrainedFrame.html">constrainedFrame</a>, <a href="../examples/constrainedFrame.html">constrainedFrame</a>, <a
href="../examples/constrainedCamera.html">constrainedCamera</a> and <a href="../examples/constrainedCamera.html">constrainedCamera</a> and <a
@ -119,7 +119,7 @@ class Constraint;
<h3>Derived classes</h3> <h3>Derived classes</h3>
The ManipulatedFrame class inherits Frame and implements a mouse motion The ManipulatedFrame class inherits Frame and implements a mouse motion
convertion, so that a Frame (and hence an object) can be manipulated in the conversion, so that a Frame (and hence an object) can be manipulated in the
scene with the mouse. scene with the mouse.
\nosubgrouping */ \nosubgrouping */

View File

@ -717,7 +717,7 @@ bool Frame::settingAsReferenceFrameWillCreateALoop(const Frame *const frame) {
/*! Returns the Frame coordinates of a point \p src defined in the world /*! Returns the Frame coordinates of a point \p src defined in the world
coordinate system (converts from world to Frame). coordinate system (converts from world to Frame).
inverseCoordinatesOf() performs the inverse convertion. transformOf() converts inverseCoordinatesOf() performs the inverse conversion. transformOf() converts
3D vectors instead of 3D coordinates. 3D vectors instead of 3D coordinates.
See the <a href="../examples/frameTransform.html">frameTransform example</a> See the <a href="../examples/frameTransform.html">frameTransform example</a>
@ -733,7 +733,7 @@ Vec Frame::coordinatesOf(const Vec &src) const {
/*! Returns the world coordinates of the point whose position in the Frame /*! Returns the world coordinates of the point whose position in the Frame
coordinate system is \p src (converts from Frame to world). coordinate system is \p src (converts from Frame to world).
coordinatesOf() performs the inverse convertion. Use inverseTransformOf() to coordinatesOf() performs the inverse conversion. Use inverseTransformOf() to
transform 3D vectors instead of 3D coordinates. */ transform 3D vectors instead of 3D coordinates. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
Vec Frame::inverseCoordinatesOf(const Vec &src) const { Vec Frame::inverseCoordinatesOf(const Vec &src) const {
@ -749,7 +749,7 @@ Vec Frame::inverseCoordinatesOf(const Vec &src) const {
/*! Returns the Frame coordinates of a point \p src defined in the /*! Returns the Frame coordinates of a point \p src defined in the
referenceFrame() coordinate system (converts from referenceFrame() to Frame). referenceFrame() coordinate system (converts from referenceFrame() to Frame).
localInverseCoordinatesOf() performs the inverse convertion. See also localInverseCoordinatesOf() performs the inverse conversion. See also
localTransformOf(). */ localTransformOf(). */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
Vec Frame::localCoordinatesOf(const Vec &src) const { Vec Frame::localCoordinatesOf(const Vec &src) const {
@ -759,7 +759,7 @@ Vec Frame::localCoordinatesOf(const Vec &src) const {
/*! Returns the referenceFrame() coordinates of a point \p src defined in the /*! Returns the referenceFrame() coordinates of a point \p src defined in the
Frame coordinate system (converts from Frame to referenceFrame()). Frame coordinate system (converts from Frame to referenceFrame()).
localCoordinatesOf() performs the inverse convertion. See also localCoordinatesOf() performs the inverse conversion. See also
localInverseTransformOf(). */ localInverseTransformOf(). */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
Vec Frame::localInverseCoordinatesOf(const Vec &src) const { Vec Frame::localInverseCoordinatesOf(const Vec &src) const {

View File

@ -290,7 +290,7 @@ private Q_SLOTS:
} }
private: private:
// Copy constructor and opertor= are declared private and undefined // Copy constructor and operator= are declared private and undefined
// Prevents everyone from trying to use them // Prevents everyone from trying to use them
// KeyFrameInterpolator(const KeyFrameInterpolator& kfi); // KeyFrameInterpolator(const KeyFrameInterpolator& kfi);
// KeyFrameInterpolator& operator=(const KeyFrameInterpolator& kfi); // KeyFrameInterpolator& operator=(const KeyFrameInterpolator& kfi);

View File

@ -355,7 +355,7 @@ void KeyFrameInterpolator::updateCurrentKeyFrameForTime(qreal time) {
// TODO: Special case for loops when closed path is implemented !! // TODO: Special case for loops when closed path is implemented !!
if (!currentFrameValid_) if (!currentFrameValid_)
// Recompute everything from scrach // Recompute everything from scratch
currentFrame_[1]->toFront(); currentFrame_[1]->toFront();
while (currentFrame_[1]->peekNext()->time() > time) { while (currentFrame_[1]->peekNext()->time() > time) {

View File

@ -174,7 +174,7 @@ public:
Default value is (0,1,0), but it is updated by the Camera when this object is Default value is (0,1,0), but it is updated by the Camera when this object is
set as its Camera::frame(). Camera::setOrientation() and set as its Camera::frame(). Camera::setOrientation() and
Camera::setUpVector()) direclty modify this value and should be used instead. Camera::setUpVector()) directly modify this value and should be used instead.
*/ */
Vec sceneUpVector() const { return sceneUpVector_; } Vec sceneUpVector() const { return sceneUpVector_; }

View File

@ -308,7 +308,7 @@ protected:
const Camera *const camera); const Camera *const camera);
MouseAction action_; MouseAction action_;
Constraint *previousConstraint_; // When manipulation is without Contraint. Constraint *previousConstraint_; // When manipulation is without Constraint.
virtual void startAction( virtual void startAction(
int ma, int ma,

View File

@ -269,7 +269,7 @@ protected:
//@} //@}
private: private:
// Copy constructor and opertor= are declared private and undefined // Copy constructor and operator= are declared private and undefined
// Prevents everyone from trying to use them // Prevents everyone from trying to use them
MouseGrabber(const MouseGrabber &); MouseGrabber(const MouseGrabber &);
MouseGrabber &operator=(const MouseGrabber &); MouseGrabber &operator=(const MouseGrabber &);

View File

@ -385,7 +385,7 @@ public:
* of the world and the origin of the scene. It is relevant when the whole scene is translated * of the world and the origin of the scene. It is relevant when the whole scene is translated
* of a big number, because there is a useless loss of precision when drawing. * of a big number, because there is a useless loss of precision when drawing.
* *
* The offset must be added to the drawn coordinates, and substracted from the computation * The offset must be added to the drawn coordinates, and subtracted from the computation
* \attention the result of pointUnderPixel is the real item translated by the offset. * \attention the result of pointUnderPixel is the real item translated by the offset.
* *
*/ */

View File

@ -3370,7 +3370,7 @@ void CGAL::QGLViewer::copyBufferToTexture(GLint , GLenum ) {
Use glBindTexture() to use this texture. Note that this is already done by Use glBindTexture() to use this texture. Note that this is already done by
copyBufferToTexture(). copyBufferToTexture().
Returns \c 0 is copyBufferToTexture() was never called or if the texure was Returns \c 0 is copyBufferToTexture() was never called or if the texture was
deleted using glDeleteTextures() since then. */ deleted using glDeleteTextures() since then. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
GLuint CGAL::QGLViewer::bufferTextureId() const { GLuint CGAL::QGLViewer::bufferTextureId() const {

View File

@ -36,7 +36,7 @@ namespace qglviewer {
You can apply the Quaternion \c q rotation to the OpenGL matrices using: You can apply the Quaternion \c q rotation to the OpenGL matrices using:
\code \code
glMultMatrixd(q.matrix()); glMultMatrixd(q.matrix());
// equvalent to glRotate(q.angle()*180.0/M_PI, q.axis().x, q.axis().y, // equivalent to glRotate(q.angle()*180.0/M_PI, q.axis().x, q.axis().y,
q.axis().z); \endcode q.axis().z); \endcode
Quaternion is part of the \c qglviewer namespace, specify \c Quaternion is part of the \c qglviewer namespace, specify \c

View File

@ -59,7 +59,7 @@ void Vec::projectOnPlane(const Vec &normal) {
/*! Returns a Vec orthogonal to the Vec. Its norm() depends on the Vec, but is /*! Returns a Vec orthogonal to the Vec. Its norm() depends on the Vec, but is
zero only for a null Vec. Note that the function that associates an zero only for a null Vec. Note that the function that associates an
orthogonalVec() to a Vec is not continous. */ orthogonalVec() to a Vec is not continuous. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
Vec Vec::orthogonalVec() const { Vec Vec::orthogonalVec() const {
// Find smallest component. Keep equal case for null values. // Find smallest component. Keep equal case for null values.

View File

@ -427,7 +427,7 @@ public:
insert_tip( inew->opposite(), hnew); insert_tip( inew->opposite(), hnew);
insert_tip( jnew->opposite(), inew); insert_tip( jnew->opposite(), inew);
insert_tip( hnew->opposite(), jnew); insert_tip( hnew->opposite(), jnew);
// Make the new incidences with the old stucture. // Make the new incidences with the old structure.
CGAL_assertion_code( std::size_t termination_count = 0;) CGAL_assertion_code( std::size_t termination_count = 0;)
if ( h->next() != i) { if ( h->next() != i) {
Halfedge_handle g = h->next(); Halfedge_handle g = h->next();

View File

@ -33,7 +33,7 @@ namespace CGAL {
// Instead, we rely now on a static local variable. Static variables are // Instead, we rely now on a static local variable. Static variables are
// first of all zero-initialized (Section 3.6.2), which guarantees that // first of all zero-initialized (Section 3.6.2), which guarantees that
// pointers and such are set to zero even if the construtor does not // pointers and such are set to zero even if the constructor does not
// initialize them (Section 8.5). With static variables, the order of // initialize them (Section 8.5). With static variables, the order of
// initialization could be critical, if the initialization of one // initialization could be critical, if the initialization of one
// requires another one to be initialized already (I have not seen such a // requires another one to be initialized already (I have not seen such a
@ -48,7 +48,7 @@ namespace CGAL {
// for weird static initialization situations. Usually the std::vector // for weird static initialization situations. Usually the std::vector
// class uses a plain C-pointer as iterator, which would be a POD and // class uses a plain C-pointer as iterator, which would be a POD and
// thus efficient. However, the std::list iterators might not be POD's if // thus efficient. However, the std::list iterators might not be POD's if
// they define their own copy contructor. This is the case for // they define their own copy constructor. This is the case for
// std::list::iterator of the current SGI STL, but not for the // std::list::iterator of the current SGI STL, but not for the
// std::list::const_iterator, which is a funny side-effect of having // std::list::const_iterator, which is a funny side-effect of having
// only a single class for both and a constructor that allows iterator to // only a single class for both and a constructor that allows iterator to

View File

@ -547,7 +547,7 @@ public:
-- --rr; -- --rr;
Hiterator rrhv = hvector.end(); Hiterator rrhv = hvector.end();
-- --rrhv; -- --rrhv;
// The comments proove the invariant of the partitioning step. // The comments prove the invariant of the partitioning step.
// Note that + 1 or - 1 denotes plus one edge or minus one edge, // Note that + 1 or - 1 denotes plus one edge or minus one edge,
// so they mean actually + 2 and - 2. // so they mean actually + 2 and - 2.
// Pivot is in *ll // Pivot is in *ll
@ -617,7 +617,7 @@ public:
CGAL_assertion( llhv >= rrhv); CGAL_assertion( llhv >= rrhv);
// rr + 1 >= ll >= rr // rr + 1 >= ll >= rr
// Elements in [rr+1..end) >= pivot // Elements in [rr+1..end) >= pivot
// Elemente in [begin..ll) < pivot // Elements in [begin..ll) < pivot
// Pivot is in a[ll] // Pivot is in a[ll]
if ( ll == rr) { if ( ll == rr) {
// Check for the possibly missed swap. // Check for the possibly missed swap.

View File

@ -30,7 +30,7 @@ namespace HomogeneousKernelFunctors {
using namespace CommonKernelFunctors; using namespace CommonKernelFunctors;
// For lazyness... // For laziness...
using CartesianKernelFunctors::Are_parallel_2; using CartesianKernelFunctors::Are_parallel_2;
using CartesianKernelFunctors::Are_parallel_3; using CartesianKernelFunctors::Are_parallel_3;
using CartesianKernelFunctors::Compute_squared_area_3; using CartesianKernelFunctors::Compute_squared_area_3;

View File

@ -46,7 +46,7 @@ public:
// TODO MT improve // TODO MT improve
// The cirle belongs to the pencil with limit points p and q // The circle belongs to the pencil with limit points p and q
// p, q are zero-circles // p, q are zero-circles
// (x, y, xˆ2 + yˆ2 - rˆ2) = alpha*(xp, yp, xpˆ2 + ypˆ2) + (1-alpha)*(xq, yq, xqˆ2 + yqˆ2) // (x, y, xˆ2 + yˆ2 - rˆ2) = alpha*(xp, yp, xpˆ2 + ypˆ2) + (1-alpha)*(xq, yq, xqˆ2 + yqˆ2)
// xˆ2 + yˆ2 - rˆ2 = 1 (= radius of the Poincare disc) // xˆ2 + yˆ2 - rˆ2 = 1 (= radius of the Poincare disc)

View File

@ -76,7 +76,7 @@ typedef unspecified_type Less_y_2;
/// @} /// @}
/// \name Creation /// \name Creation
/// Only a default constructor, copy constructor and an assignement /// Only a default constructor, copy constructor and an assignment
/// operator are required. Note that further constructors can be /// operator are required. Note that further constructors can be
/// provided. /// provided.
/// @{ /// @{

View File

@ -36,7 +36,7 @@ return to the departure airfield. To score simply based on the total
distance flown is not a good measure, since circling in thermals distance flown is not a good measure, since circling in thermals
allows to increase it easily. allows to increase it easily.
\section Inscribed_areasLargest Largest Empty Rectange \section Inscribed_areasLargest Largest Empty Rectangle
We further provide an algorithm for computing the maximal area We further provide an algorithm for computing the maximal area
inscribed axis parallel rectangle for a point set. inscribed axis parallel rectangle for a point set.

View File

@ -265,8 +265,8 @@ public:
std::set<Point_data *,Less_yx> *right_tent; std::set<Point_data *,Less_yx> *right_tent;
std::set<Point_data *,Less_yx> *left_tent; std::set<Point_data *,Less_yx> *left_tent;
/* detemine whether the point is a bounding box corner /* determine whether the point is a bounding box corner
(thus not implicitely inserted as a point, or not. (thus not implicitly inserted as a point, or not).
*/ */
Point_type type; Point_type type;
@ -893,7 +893,7 @@ Largest_empty_iso_rectangle_2<T>::phase_1_on_x()
} }
// traverse over all possibilities for finding a larger empty rectangle // traverse over all possibilities for finding a larger empty rectangle
// rectangles here touch the top and the buttom of the bounding box // rectangles here touch the top and the bottom of the bounding box
while(iter != last_iter) { while(iter != last_iter) {
// filter false points // filter false points
if((*iter)->type != TOP_RIGHT && (*iter)->type != TOP_LEFT) { if((*iter)->type != TOP_RIGHT && (*iter)->type != TOP_LEFT) {

View File

@ -1,4 +1,4 @@
Largest Emtpy Rectangle 2: Largest Empty Rectangle 2:
Tel-Aviv University (Israel). Tel-Aviv University (Israel).
Extremal Polygon 2: Extremal Polygon 2:
ETH Zurich (Switzerland). ETH Zurich (Switzerland).

View File

@ -202,7 +202,7 @@ int test(std::ifstream& is_ptr, const std::string& expected)
empty_rectangle1.get_left_bottom_right_top(); empty_rectangle1.get_left_bottom_right_top();
output << "test left_bottom_right_top is " << q.first << ", " << q.second << ", " << q.third << ", " << q.fourth << std::endl; output << "test left_bottom_right_top is " << q.first << ", " << q.second << ", " << q.third << ", " << q.fourth << std::endl;
// comapre output with expected // compare output with expected
std::string outputstring = output.str(); std::string outputstring = output.str();
std::cout << outputstring << std::endl; std::cout << outputstring << std::endl;

View File

@ -382,7 +382,7 @@ can be used to find out which CGAL data structures can be used given a specific
### [Surface Mesh Topology](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshTopologySummary) ### [Surface Mesh Topology](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshTopologySummary)
- Added the function [`CGAL::Surface_mesh_topology::Curves_on_surface_topology::is_homotopic_to_simple_cycle()`](https://doc.cgal.org/5.3/Surface_mesh_topology/classCGAL_1_1Surface__mesh__topology_1_1Curves__on__surface__topology.html#a8d7c4cba2cf2cff542f5cd93117233db), - Added the function [`CGAL::Surface_mesh_topology::Curves_on_surface_topology::is_homotopic_to_simple_cycle()`](https://doc.cgal.org/5.3/Surface_mesh_topology/classCGAL_1_1Surface__mesh__topology_1_1Curves__on__surface__topology.html#a8d7c4cba2cf2cff542f5cd93117233db),
which can be used to determine whehter a closed path on a surface mesh can be continously which can be used to determine whether a closed path on a surface mesh can be continuously
transformed to a cycle without self intersection. transformed to a cycle without self intersection.
### [Surface Mesh Simplification](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshSimplification) ### [Surface Mesh Simplification](https://doc.cgal.org/5.3/Manual/packages.html#PkgSurfaceMeshSimplification)
@ -749,7 +749,7 @@ Release date: September 2020
the intersection of two constraint segments in a 'T'-like junction is an existing point the intersection of two constraint segments in a 'T'-like junction is an existing point
and as such does not require any new construction). The former tag, `CGAL::No_constraint_intersection_tag`, and as such does not require any new construction). The former tag, `CGAL::No_constraint_intersection_tag`,
does not allow any intersection, except for the configuration of two constraints having a single does not allow any intersection, except for the configuration of two constraints having a single
common endpoints, for convience. common endpoints, for convenience.
- Added the function [`CGAL::split_subconstraint_graph_into_constraints()`](https://doc.cgal.org/5.1/Triangulation_2/classCGAL_1_1Constrained__triangulation__plus__2.html#adea77f5db5cd4dfae302e4502f1caa85) - Added the function [`CGAL::split_subconstraint_graph_into_constraints()`](https://doc.cgal.org/5.1/Triangulation_2/classCGAL_1_1Constrained__triangulation__plus__2.html#adea77f5db5cd4dfae302e4502f1caa85)
to [`Constrained_triangulation_plus_2`](https://doc.cgal.org/5.1/Triangulation_2/classCGAL_1_1Constrained__triangulation__plus__2.html) to initialize the constraints to [`Constrained_triangulation_plus_2`](https://doc.cgal.org/5.1/Triangulation_2/classCGAL_1_1Constrained__triangulation__plus__2.html) to initialize the constraints
from a soup of disconnected segments that should first be split into polylines. from a soup of disconnected segments that should first be split into polylines.
@ -894,7 +894,7 @@ Release date: November 2019
- **Breaking change**: The [graph traits](https://doc.cgal.org/5.0/BGL/group__PkgBGLTraits.html) enabling CGAL's 2D triangulations to be used as a parameter - **Breaking change**: The [graph traits](https://doc.cgal.org/5.0/BGL/group__PkgBGLTraits.html) enabling CGAL's 2D triangulations to be used as a parameter
for any graph-based algorithm of CGAL (or boost) have been improved to fully model the [`FaceGraph`](https://doc.cgal.org/5.0/BGL/classFaceGraph.html) concept. for any graph-based algorithm of CGAL (or boost) have been improved to fully model the [`FaceGraph`](https://doc.cgal.org/5.0/BGL/classFaceGraph.html) concept.
In addition, only the finite simplicies (those not incident to the infinite vertex) of the 2D triangulations In addition, only the finite simplicies (those not incident to the infinite vertex) of the 2D triangulations
are now visibile through this scope. The complete triangulation can still be accessed as a graph, are now visible through this scope. The complete triangulation can still be accessed as a graph,
by using the graph traits of the underlying triangulation data structure (usually, by using the graph traits of the underlying triangulation data structure (usually,
[`CGAL::Triangulation_data_structure_2`](https://doc.cgal.org/5.0/TDS_2/classCGAL_1_1Triangulation__data__structure__2.html)). [`CGAL::Triangulation_data_structure_2`](https://doc.cgal.org/5.0/TDS_2/classCGAL_1_1Triangulation__data__structure__2.html)).
- **Breaking change**: The `insert()` function - **Breaking change**: The `insert()` function
@ -2402,7 +2402,7 @@ Release date: October 2015
method, a variant of the method described in "2D Minkowski Sum method, a variant of the method described in "2D Minkowski Sum
of Polygons Using Reduced Convolution" by Behar and Lien. The of Polygons Using Reduced Convolution" by Behar and Lien. The
new method supports polygons with holes and in many cases out new method supports polygons with holes and in many cases out
pergorms the implementation of the exsisting (full) convolution performs the implementation of the existing (full) convolution
method. method.
- Introduced two new classes that decompose polygons into convex - Introduced two new classes that decompose polygons into convex
pieces (models of the `PolygonConvexDecomposition_2` concept) pieces (models of the `PolygonConvexDecomposition_2` concept)
@ -2422,7 +2422,7 @@ Release date: October 2015
### 2D Conforming Triangulations and Meshes ### 2D Conforming Triangulations and Meshes
- Add an optimization method `CGAL::lloyd_optimize_mesh_2()` that - Add an optimization method `CGAL::lloyd_optimize_mesh_2()` that
implements the Lloyd (or Centroidal Voronoi Tesselation) implements the Lloyd (or Centroidal Voronoi Tessellation)
optimization algorithm in a Constrained Delaunay Triangulation. For optimization algorithm in a Constrained Delaunay Triangulation. For
optimization, the triangulation data structure on which the mesher optimization, the triangulation data structure on which the mesher
relies needs its `VertexBase` template parameter to be a model of relies needs its `VertexBase` template parameter to be a model of
@ -3163,7 +3163,7 @@ Release date: March 2013
- Introduction of `CGAL::cpp11::result_of` as an alias to the tr1 - Introduction of `CGAL::cpp11::result_of` as an alias to the tr1
implementation from boost of the `result_of` mechanism. When all implementation from boost of the `result_of` mechanism. When all
compilers supported by CGAL will have a Standard compliant compilers supported by CGAL will have a Standard compliant
implemention of the C++11 `decltype` feature, it will become an implementation of the C++11 `decltype` feature, it will become an
alias to `std::result_of`. alias to `std::result_of`.
### Surface Reconstruction from Point Sets ### Surface Reconstruction from Point Sets
@ -4216,7 +4216,7 @@ fixes for this release.
compose, compose\_shared, swap\_\*, negate, along with the helper compose, compose\_shared, swap\_\*, negate, along with the helper
functions set\_arity\_\* and Arity class and Arity\_tag typedefs) functions set\_arity\_\* and Arity class and Arity\_tag typedefs)
which were provided by `<CGAL/functional.h>` have been removed. which were provided by `<CGAL/functional.h>` have been removed.
Please use the better boost::bind mecanism instead. The concept Please use the better boost::bind mechanism instead. The concept
AdaptableFunctor has been changed accordingly such that only a AdaptableFunctor has been changed accordingly such that only a
nested result\_type is required. nested result\_type is required.
- The accessory classes Twotuple, Threetuple, Fourtuple and Sixtuple - The accessory classes Twotuple, Threetuple, Fourtuple and Sixtuple
@ -4340,10 +4340,10 @@ This is a bug fix release.
- Fixed bug in Arrangement\_2 in walk along a line point location for - Fixed bug in Arrangement\_2 in walk along a line point location for
unbounded curves. unbounded curves.
- Fixed bug in aggregated insertion to Arrangement\_2. - Fixed bug in aggregated insertion to Arrangement\_2.
- Fixed bug in Arrangment\_2 class when inserting an unbounded curve - Fixed bug in Arrangement\_2 class when inserting an unbounded curve
from an existing vertex. from an existing vertex.
- Fixed bug when dealing with a degenerate conic arc in - Fixed bug when dealing with a degenerate conic arc in
Arr\_conic\_traits\_2 of the Arrangment package, meaning a line Arr\_conic\_traits\_2 of the Arrangement package, meaning a line
segment which is part of a degenerate parabola/hyperbola. segment which is part of a degenerate parabola/hyperbola.
- Fixed bug in the Bezier traits-class: properly handle line segments. - Fixed bug in the Bezier traits-class: properly handle line segments.
properly handle comparison near a vertical tangency. properly handle comparison near a vertical tangency.
@ -4680,7 +4680,7 @@ static runtime (/ML).
discrete conformal map, discrete authalic parameterization, Floater discrete conformal map, discrete authalic parameterization, Floater
mean value coordinates or Tutte barycentric mapping. mean value coordinates or Tutte barycentric mapping.
- Principal Component Analysis (new package) - Principal Component Analysis (new package)
This package provides functions to compute global informations on This package provides functions to compute global information on
the shape of a set of 2D or 3D objects such as points. It provides the shape of a set of 2D or 3D objects such as points. It provides
the computation of axis-aligned bounding boxes, centroids of point the computation of axis-aligned bounding boxes, centroids of point
sets, barycenters of weighted point sets, as well as linear least sets, barycenters of weighted point sets, as well as linear least
@ -5046,7 +5046,7 @@ The following functionality has been added or changed:
implements the data structure for 2D triangulation class, now implements the data structure for 2D triangulation class, now
makes use of CGAL::Compact\_container (see Support Library makes use of CGAL::Compact\_container (see Support Library
section below). section below).
- The triangulation classes use a Rebind mecanism to provide the - The triangulation classes use a Rebind mechanism to provide the
full flexibility on Vertex and Face base classes. This means full flexibility on Vertex and Face base classes. This means
that it is possible for the user to derive its own Face of that it is possible for the user to derive its own Face of
Vertex base class, adding a functionality that makes use of Vertex base class, adding a functionality that makes use of
@ -5073,7 +5073,7 @@ The following functionality has been added or changed:
- Triangulation\_3 now gives non-const access to the data - Triangulation\_3 now gives non-const access to the data
structure. structure.
- Interval Skip List (new package) - Interval Skip List (new package)
An interval skip list is a data strucure for finding all intervals An interval skip list is a data structure for finding all intervals
that contain a point, and for stabbing queries, that is for that contain a point, and for stabbing queries, that is for
answering the question whether a given point is contained in an answering the question whether a given point is contained in an
interval or not. interval or not.
@ -5394,11 +5394,11 @@ The following functionality has been added or changed:
is transparent for the user of triangulation classes. is transparent for the user of triangulation classes.
- Constrained and Delaunay constrained triangulations are now able - Constrained and Delaunay constrained triangulations are now able
to handle intersecting input constraints. The behavior of to handle intersecting input constraints. The behavior of
constrained triangulations with repect to intersection of input constrained triangulations with respect to intersection of input
constraints can be customized using an intersection tag. constraints can be customized using an intersection tag.
- A new class Constrained\_triangulation\_plus offers a - A new class Constrained\_triangulation\_plus offers a
constrained hierarchy on top of a constrained triangulations. constrained hierarchy on top of a constrained triangulations.
This additionnal data structure describes the subdivision of the This additional data structure describes the subdivision of the
original constraints into edges of the triangulations. original constraints into edges of the triangulations.
@ -5464,7 +5464,7 @@ The following functionality is no longer supported:
Bugs in the following packages have been fixed: 3D Convex hull, 2D Bugs in the following packages have been fixed: 3D Convex hull, 2D
Polygon partition, simple polygon generator Polygon partition, simple polygon generator
Also attempts have been made to assure compatability with the upcoming Also attempts have been made to assure compatibility with the upcoming
LEDA release that introduces the leda namespace. LEDA release that introduces the leda namespace.
### Known problems ### Known problems
@ -5636,7 +5636,7 @@ kernels themselves can be used as traits classes in many instances.
conform to the new CGAL kernels. CGAL kernel classes can be used conform to the new CGAL kernels. CGAL kernel classes can be used
as traits classes for all 2D triangulations except for regular as traits classes for all 2D triangulations except for regular
triangulations. triangulations.
- Additionnal functionality: - Additional functionality:
- dual method for regular triangulations (to build a power - dual method for regular triangulations (to build a power
diagram) diagram)
- unified names and signatures for various "find\_conflicts()" - unified names and signatures for various "find\_conflicts()"
@ -5743,7 +5743,7 @@ The following functionality has been added:
spaces as well as planar triangulations. spaces as well as planar triangulations.
- The triangulation hierarchy which allows fast location query is - The triangulation hierarchy which allows fast location query is
now available. now available.
- Inifinite objects can now be included in planar maps. - Infinite objects can now be included in planar maps.
- Removal as well as insertions of vertices for 3D Delaunay - Removal as well as insertions of vertices for 3D Delaunay
triangulations is now possible. triangulations is now possible.
- A generator for \`\`random'' simple polygons is now available. - A generator for \`\`random'' simple polygons is now available.

View File

@ -1,6 +1,6 @@
# #
# This files contains definitions needed to use CGAL in a program. # This files contains definitions needed to use CGAL in a program.
# DO NOT EDIT THIS. The definitons have been generated by CMake at configuration time. # DO NOT EDIT THIS. The definitions have been generated by CMake at configuration time.
# This file is loaded by cmake via the command "find_package(CGAL)" # This file is loaded by cmake via the command "find_package(CGAL)"
# #
# This file correspond to a possibly out-of-sources CGAL configuration, thus the actual location # This file correspond to a possibly out-of-sources CGAL configuration, thus the actual location
@ -139,7 +139,7 @@ macro(check_cgal_component COMPONENT)
set( CGAL_Core_FOUND TRUE ) set( CGAL_Core_FOUND TRUE )
endif() endif()
else("${CGAL_LIB}" STREQUAL "CGAL_Qt5") else("${CGAL_LIB}" STREQUAL "CGAL_Qt5")
# Librairies that have no dependencies # Libraries that have no dependencies
set( ${CGAL_LIB}_FOUND TRUE ) set( ${CGAL_LIB}_FOUND TRUE )
endif("${CGAL_LIB}" STREQUAL "CGAL_Qt5") endif("${CGAL_LIB}" STREQUAL "CGAL_Qt5")
else(TARGET CGAL::${CGAL_LIB}) else(TARGET CGAL::${CGAL_LIB})

View File

@ -1,6 +1,6 @@
# #
# This files contains definitions needed to use CGAL in a program. # This files contains definitions needed to use CGAL in a program.
# DO NOT EDIT THIS. The definitons have been generated by CMake at configuration time. # DO NOT EDIT THIS. The definitions have been generated by CMake at configuration time.
# This file is loaded by cmake via the command "find_package(CGAL)" # This file is loaded by cmake via the command "find_package(CGAL)"
# #
# This file correspond to a CGAL installation with "make install", thus the actual location # This file correspond to a CGAL installation with "make install", thus the actual location
@ -123,7 +123,7 @@ macro(check_cgal_component COMPONENT)
set( CGAL_Core_FOUND TRUE ) set( CGAL_Core_FOUND TRUE )
endif() endif()
else("${CGAL_LIB}" STREQUAL "CGAL_Qt5") else("${CGAL_LIB}" STREQUAL "CGAL_Qt5")
# Librairies that have no dependencies # Libraries that have no dependencies
set( ${CGAL_LIB}_FOUND TRUE ) set( ${CGAL_LIB}_FOUND TRUE )
endif("${CGAL_LIB}" STREQUAL "CGAL_Qt5") endif("${CGAL_LIB}" STREQUAL "CGAL_Qt5")
else(TARGET CGAL::${CGAL_LIB}) else(TARGET CGAL::${CGAL_LIB})

View File

@ -52,7 +52,7 @@ MACRO(CHECK_CXX_FILE_RUNS FILE VAR TEST)
SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}" FORCE ) SET(${VAR} 1 CACHE INTERNAL "Test ${TEST}" FORCE )
MESSAGE(STATUS "Performing Test ${TEST} - Success") MESSAGE(STATUS "Performing Test ${TEST} - Success")
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing C++ SOURCE FILE Test ${TEST} succeded with the following output:\n" "Performing C++ SOURCE FILE Test ${TEST} succeeded with the following output:\n"
"${OUTPUT}\n" "${OUTPUT}\n"
"Source file was:\n${SOURCE}\n") "Source file was:\n${SOURCE}\n")
else() else()

View File

@ -1,7 +1,7 @@
if ( NOT CGAL_GENERATOR_SPECIFIC_SETTINGS_FILE_INCLUDED ) if ( NOT CGAL_GENERATOR_SPECIFIC_SETTINGS_FILE_INCLUDED )
set( CGAL_GENERATOR_SPECIFIC_SETTINGS_FILE_INCLUDED 1 ) set( CGAL_GENERATOR_SPECIFIC_SETTINGS_FILE_INCLUDED 1 )
message( STATUS "Targetting ${CMAKE_GENERATOR}") message( STATUS "Targeting ${CMAKE_GENERATOR}")
if ( MSVC ) if ( MSVC )
message( STATUS "Target build environment supports auto-linking" ) message( STATUS "Target build environment supports auto-linking" )

View File

@ -384,8 +384,8 @@ if( NOT CGAL_MACROS_FILE_INCLUDED )
# Composes a tagged list of libraries: a list with interpersed keywords or tags # Composes a tagged list of libraries: a list with interpersed keywords or tags
# indicating that all following libraries, up to the next tag, are to be linked only for the # indicating that all following libraries, up to the next tag, are to be linked only for the
# corresponding build type. The 'general' tag indicates libraries that corresponds to all build types. # corresponding build type. The 'general' tag indicates libraries that corresponds to all build types.
# 'optimized' corresponds to release builds and 'debug' to debug builds. Tags are case sensitve and # 'optimized' corresponds to release builds and 'debug' to debug builds. Tags are case sensitive and
# the inital range of libraries listed before any tag is implicitely 'general' # the initial range of libraries listed before any tag is implicitly 'general'
# #
# This macro takes 3 lists of general, optimized and debug libraries, resp, and populates the list # This macro takes 3 lists of general, optimized and debug libraries, resp, and populates the list
# given in the fourth argument. # given in the fourth argument.
@ -425,9 +425,9 @@ if( NOT CGAL_MACROS_FILE_INCLUDED )
# where the general, optimized and debug libraries are collected. # where the general, optimized and debug libraries are collected.
# #
# The first parameter must be a string containing a semi-colon separated list of elements. # The first parameter must be a string containing a semi-colon separated list of elements.
# It cannot be ommitted, but it can be an empty string "" # It cannot be omitted, but it can be an empty string ""
# #
# TThe next three arguments must be the names of the variables containing the result, and they # The next three arguments must be the names of the variables containing the result, and they
# will be APPENDED (retaining any previous contents) # will be APPENDED (retaining any previous contents)
# #
# If there is a last parameter whose value is "PERSISTENT" then the result variables are internal in the cache, # If there is a last parameter whose value is "PERSISTENT" then the result variables are internal in the cache,
@ -487,11 +487,11 @@ if( NOT CGAL_MACROS_FILE_INCLUDED )
# #
# tag_libraries( LIBS_1 SOME_UNDEFINED_VARIABLE_OR_EMPTY_LIST LIBS_R ) # tag_libraries( LIBS_1 SOME_UNDEFINED_VARIABLE_OR_EMPTY_LIST LIBS_R )
# #
# LIBS_R -> libA.so;libB.so (implicitely 'general' since there is no tag) # LIBS_R -> libA.so;libB.so (implicitly 'general' since there is no tag)
# #
# tag_libraries( SOME_UNDEFINED_VARIABLE_OR_EMPTY_LIST LIBS_2 LIBS_R ) # tag_libraries( SOME_UNDEFINED_VARIABLE_OR_EMPTY_LIST LIBS_2 LIBS_R )
# #
# LIBS_R -> libC.so (implicitely 'general' since there is no tag) # LIBS_R -> libC.so (implicitly 'general' since there is no tag)
# #
macro( tag_libraries libs_general_or_optimized libs_general_or_debug libs ) macro( tag_libraries libs_general_or_optimized libs_general_or_debug libs )
@ -513,7 +513,7 @@ if( NOT CGAL_MACROS_FILE_INCLUDED )
# Appends the list of tagged libraries contained in the variable 'libA' to the list # Appends the list of tagged libraries contained in the variable 'libA' to the list
# of tagged libraries contained in the variable 'libR', properly redistributing each tagged subsequence. # of tagged libraries contained in the variable 'libR', properly redistributing each tagged subsequence.
# #
# The first argument is the name of the variable recieving the list. It will be APPENDED # The first argument is the name of the variable receiving the list. It will be APPENDED
# (retaining any previous contents). # (retaining any previous contents).
# The second parameter is a single string value containing the tagged # The second parameter is a single string value containing the tagged
# lists of libraries to append (as a semi-colon separated list). It can be empty, in which case noting is added. # lists of libraries to append (as a semi-colon separated list). It can be empty, in which case noting is added.

View File

@ -2,7 +2,7 @@
# CGAL_SetupBoost # CGAL_SetupBoost
# --------------- # ---------------
# #
# The module searchs for the `Boost` headers and library, by calling # The module searches for the `Boost` headers and library, by calling
# #
# .. code-block:: cmake # .. code-block:: cmake
# #

View File

@ -2,7 +2,7 @@
# CGAL_SetupCGALDependencies # CGAL_SetupCGALDependencies
# -------------------------- # --------------------------
# #
# The module searchs for the dependencies of the CGAL library: # The module searches for the dependencies of the CGAL library:
# - the `GMP/MPFR` couple, # - the `GMP/MPFR` couple,
# - `LEDA` (optional) # - `LEDA` (optional)
# - the `Boost` libraries (mostly the header-only libraries) # - the `Boost` libraries (mostly the header-only libraries)

View File

@ -2,7 +2,7 @@
# CGAL_SetupCGAL_CoreDependencies # CGAL_SetupCGAL_CoreDependencies
# ------------------------------- # -------------------------------
# #
# The module searchs for the dependencies of the `CGAL_Core` library: # The module searches for the dependencies of the `CGAL_Core` library:
# - the `GMP/MPFR` couple, # - the `GMP/MPFR` couple,
# #
# and defines the variable :variable:`CGAL_Core_FOUND` and the function # and defines the variable :variable:`CGAL_Core_FOUND` and the function

View File

@ -2,7 +2,7 @@
# CGAL_SetupCGAL_ImageIODependencies # CGAL_SetupCGAL_ImageIODependencies
# ---------------------------------- # ----------------------------------
# #
# The module searchs for the dependencies of the `CGAL_ImageIO` library: # The module searches for the dependencies of the `CGAL_ImageIO` library:
# - the `Zlib` library (optional) # - the `Zlib` library (optional)
# #
# by calling # by calling

View File

@ -2,7 +2,7 @@
# CGAL_SetupCGAL_Qt5Dependencies # CGAL_SetupCGAL_Qt5Dependencies
# ------------------------------ # ------------------------------
# #
# The module searchs for the dependencies of the `CGAL_Qt5` library: # The module searches for the dependencies of the `CGAL_Qt5` library:
# - the `Qt5` libraries # - the `Qt5` libraries
# #
# by calling # by calling

View File

@ -6,7 +6,7 @@ if ( NOT CGAL_SETUP_FLAGS_INCLUDED )
# override the flags used to build the libraries # override the flags used to build the libraries
# #
set( CGAL_DONT_OVERRIDE_CMAKE_FLAGS_DESCRIPTION set( CGAL_DONT_OVERRIDE_CMAKE_FLAGS_DESCRIPTION
"Set this to TRUE if you want to define or modify any of CMAKE_*_FLAGS. When this is FALSE, all the CMAKE_*_FLAGS flags are overriden with the values used when building the CGAL libs. For CGAL_*_flags (used for ADDITIONAL flags) , there is no need to set this to TRUE." "Set this to TRUE if you want to define or modify any of CMAKE_*_FLAGS. When this is FALSE, all the CMAKE_*_FLAGS flags are overridden with the values used when building the CGAL libs. For CGAL_*_flags (used for ADDITIONAL flags) , there is no need to set this to TRUE."
) )
option( CGAL_DONT_OVERRIDE_CMAKE_FLAGS option( CGAL_DONT_OVERRIDE_CMAKE_FLAGS

View File

@ -2,7 +2,7 @@
# CGAL_SetupGMP # CGAL_SetupGMP
# ------------- # -------------
# #
# The module searchs for the `GMP` and `MPFR` headers and libraries, # The module searches for the `GMP` and `MPFR` headers and libraries,
# by calling # by calling
# #
# .. code-block:: cmake # .. code-block:: cmake

View File

@ -2,7 +2,7 @@
# CGAL_SetupLEDA # CGAL_SetupLEDA
# -------------- # --------------
# #
# The module searchs for the `LEDA` headers and library, by calling # The module searches for the `LEDA` headers and library, by calling
# #
# .. code-block:: cmake # .. code-block:: cmake
# #

View File

@ -1,8 +1,8 @@
## CMake file to locate SuiteSparse and its useful composite projects ## CMake file to locate SuiteSparse and its useful composite projects
## The first developpement of this file was made fro Windows users who ## The first development of this file was done by a Windows users who
## use: ## used:
## https://github.com/jlblancoc/suitesparse-metis-for-windows ## https://github.com/jlblancoc/suitesparse-metis-for-windows
## Anyway, it chould be work also on linux (tested on fedora 17 when you installed suitesparse from yum) ## Anyway, it could work also on linux (tested on fedora 17 when you installed suitesparse from yum)
## ##
## ##
## Inputs variables this file can process (variable must be given before find_package(SUITESPARES ...) command) : ## Inputs variables this file can process (variable must be given before find_package(SUITESPARES ...) command) :
@ -11,7 +11,7 @@
## Note: SuiteSparse lib usually requires linking to a blas and lapack library. ## Note: SuiteSparse lib usually requires linking to a blas and lapack library.
## ##
## ##
## Help variables this file handle internaly : ## Help variables this file handle internally :
## * SuiteSparse_SEARCH_LIB_POSTFIX Is set in cache (as advanced) to look into the right lib/lib64 dir for libraries (user can change) ## * SuiteSparse_SEARCH_LIB_POSTFIX Is set in cache (as advanced) to look into the right lib/lib64 dir for libraries (user can change)
## ##
## ##
@ -22,17 +22,17 @@
## If SuiteSparse_USE_LAPACK_BLAS is set to ON : ## If SuiteSparse_USE_LAPACK_BLAS is set to ON :
## * SuiteSparse_LAPACK_BLAS_LIBRARIES Which contain the libblas and liblapack libraries ## * SuiteSparse_LAPACK_BLAS_LIBRARIES Which contain the libblas and liblapack libraries
## On windows: ## On windows:
## * SuiteSparse_LAPACK_BLAS_DLL Which contain all requiered binaries for use libblas and liblapack ## * SuiteSparse_LAPACK_BLAS_DLL Which contain all required binaries for use libblas and liblapack
## ##
## ##
## Detailed variables this file provide : ## Detailed variables this file provide :
## * SuiteSparse_<UPPPER_CASE_COMPONENT>_FOUND True if the given component to look for is found (INCLUDE DIR and LIBRARY) ## * SuiteSparse_<UPPPER_CASE_COMPONENT>_FOUND True if the given component to look for is found (INCLUDE DIR and LIBRARY)
## * SuiteSparse_<UPPPER_CASE_COMPONENT>_INCLUDE_DIR The path directory where we can found all compenent header files ## * SuiteSparse_<UPPPER_CASE_COMPONENT>_INCLUDE_DIR The path directory where we can be found all component header files
## * SuiteSparse_<UPPPER_CASE_COMPONENT>_LIBRARY The file path to the component library ## * SuiteSparse_<UPPPER_CASE_COMPONENT>_LIBRARY The file path to the component library
## Note: If a component is not found, a SuiteSparse_<UPPPER_CASE_COMPONENT>_DIR cache variable is set to allow user set the search directory. ## Note: If a component is not found, a SuiteSparse_<UPPPER_CASE_COMPONENT>_DIR cache variable is set to allow user set the search directory.
## ##
## ##
## Possible componnents to find are (maybe some others can be available): ## Possible components to find are (maybe some others can be available):
## * AMD ## * AMD
## * CAMD ## * CAMD
## * COLAMD ## * COLAMD
@ -125,13 +125,13 @@ endif()
## we can use a generic way to find all of these with simple cmake lines of code ## we can use a generic way to find all of these with simple cmake lines of code
macro(SuiteSparse_FIND_COMPONENTS ) macro(SuiteSparse_FIND_COMPONENTS )
## On windows : we absolutly need SuiteSparse_config.h every time for all projects ## On windows : we absolutely need SuiteSparse_config.h every time for all projects
if(WIN32) if(WIN32)
list(FIND SuiteSparse_FIND_COMPONENTS "suitesparseconfig" SS_config_index) list(FIND SuiteSparse_FIND_COMPONENTS "suitesparseconfig" SS_config_index)
if(${SS_config_index} MATCHES "-1") if(${SS_config_index} MATCHES "-1")
list(APPEND SuiteSparse_FIND_COMPONENTS suitesparseconfig) list(APPEND SuiteSparse_FIND_COMPONENTS suitesparseconfig)
if(SuiteSparse_VERBOSE) if(SuiteSparse_VERBOSE)
message(STATUS " On windows, we absolutly need SuiteSparse_config.h every time for all projects : add suitesparseconfig component to look for") message(STATUS " On windows, we absolutely need SuiteSparse_config.h every time for all projects : add suitesparseconfig component to look for")
endif() endif()
endif() endif()
endif() endif()
@ -292,7 +292,7 @@ macro(SuiteSparse_FIND_COMPONENTS )
endif() endif()
if(NOT ${componentToCheck}) if(NOT ${componentToCheck})
set(SuiteSparse_FOUND OFF) set(SuiteSparse_FOUND OFF)
break() ## one component not found is enought to failed break() ## one component not found is enough to failed
endif() endif()
endforeach() endforeach()
endmacro() endmacro()

View File

@ -270,7 +270,7 @@ class CMakeXRefRole(XRefRole):
# We cannot insert index nodes using the result_nodes method # We cannot insert index nodes using the result_nodes method
# because CMakeXRefRole is processed before substitution_reference # because CMakeXRefRole is processed before substitution_reference
# nodes are evaluated so target nodes (with 'ids' fields) would be # nodes are evaluated so target nodes (with 'ids' fields) would be
# duplicated in each evaluted substitution replacement. The # duplicated in each evaluated substitution replacement. The
# docutils substitution transform does not allow this. Instead we # docutils substitution transform does not allow this. Instead we
# use our own CMakeXRefTransform below to add index entries after # use our own CMakeXRefTransform below to add index entries after
# substitutions are completed. # substitutions are completed.

View File

@ -3,8 +3,8 @@
You can adapt this file completely to your liking, but it should at least You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. contain the root `toctree` directive.
Welcome to CGAL CMake Modules's documentation! Welcome to CGAL CMake Modules' documentation!
============================================== =============================================
Contents: Contents:

View File

@ -16,7 +16,7 @@
//| This flag is set, if a compiler cannot distinguish the signature //| This flag is set, if a compiler cannot distinguish the signature
//| of overloaded function templates, which have one template parameter //| of overloaded function templates, which have one template parameter
//| to be passed explicitely when being called. //| to be passed explicitly when being called.
//| //|
//| This bug appears for example on g++ 3.3 and 3.4 (but not on more recent //| This bug appears for example on g++ 3.3 and 3.4 (but not on more recent
//| g++ version). This bug appears also on Sun CC 5.90. //| g++ version). This bug appears also on Sun CC 5.90.

View File

@ -8,8 +8,8 @@
// //
// Author: Mael Rouxel-Labbé // Author: Mael Rouxel-Labbé
// Some tests are explicitely used to check the sanity of deprecated code and should not // Some tests are explicitly used to check the sanity of deprecated code and should not
// give warnings/errors on plateforms that defined CGAL_NO_DEPRECATED_CODE CGAL-wide // give warnings/errors on platforms that defined CGAL_NO_DEPRECATED_CODE CGAL-wide
// (or did not disable deprecation warnings). // (or did not disable deprecation warnings).
#if !defined(CGAL_NO_DEPRECATION_WARNINGS) #if !defined(CGAL_NO_DEPRECATION_WARNINGS)

View File

@ -93,7 +93,7 @@ CGAL_VERSION: Defined in <CGAL/version.h>
# endif # endif
#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__) #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
// //
// C language compatability (no, honestly) // C language compatibility (no, honestly)
// //
# define BOOST_MSVC _MSC_VER # define BOOST_MSVC _MSC_VER
# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X) # define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)

View File

@ -549,7 +549,7 @@ namespace cpp11{
namespace CGAL { namespace CGAL {
// Returns filename prefixed by the directory of CGAL containing data. // Returns filename prefixed by the directory of CGAL containing data.
// This directory is either defined in the environement variable CGAL_DATA_DIR, // This directory is either defined in the environment variable CGAL_DATA_DIR,
// otherwise it is taken from the constant CGAL_DATA_DIR (defined in CMake), // otherwise it is taken from the constant CGAL_DATA_DIR (defined in CMake),
// otherwise it is empty (and thus returns filename unmodified). // otherwise it is empty (and thus returns filename unmodified).
inline std::string data_file_path(const std::string& filename) inline std::string data_file_path(const std::string& filename)

View File

@ -110,7 +110,7 @@ background presented to get into the subject without problems.
Thus, I like the overall structure, and most of my remarks are Thus, I like the overall structure, and most of my remarks are
minor comments, typos and suggestions. minor comments, typos and suggestions.
- p. 1, maybe add that a sample point is a natural neigbor iff its - p. 1, maybe add that a sample point is a natural neighbor iff its
lambda is nonzero. lambda is nonzero.
- p. 2, end of paragraph "The interpolation package": I cannot find - p. 2, end of paragraph "The interpolation package": I cannot find
natural_neighbo_coordinates_3 in the manual/reference natural_neighbo_coordinates_3 in the manual/reference

View File

@ -73,7 +73,7 @@ plane_centered_circumcenterC3(const RT &ax, const RT &ay, const RT &az,
// //
//precondition: p,q,r aren't collinear. //precondition: p,q,r aren't collinear.
//method: //method:
// - tranlation of p to the origin. // - translation of p to the origin.
plane_centered_circumcenter_translateC3<RT>(ax-px, ay-py, az-pz, plane_centered_circumcenter_translateC3<RT>(ax-px, ay-py, az-pz,
nx, ny, nz, nx, ny, nz,
qx-px, qy-py,qz-pz, qx-px, qy-py,qz-pz,

View File

@ -48,7 +48,7 @@ construct_circumcenter(const typename DT::Facet& f,
const typename DT::Geom_traits::Point_3& Q, const typename DT::Geom_traits::Point_3& Q,
const typename DT::Geom_traits& gt = typename DT::Geom_traits()); const typename DT::Geom_traits& gt = typename DT::Geom_traits());
// ====================== Natural Neighbors Querries ========================== // ====================== Natural Neighbors Queries ==========================
// === Definitions // === Definitions
// Given a 3D point Q and a 3D Delaunay triangulation dt, // Given a 3D point Q and a 3D Delaunay triangulation dt,
@ -358,7 +358,7 @@ construct_circumcenter(const typename DT::Facet& f,
f.first->vertex((f.second+2)&3)->point(), f.first->vertex((f.second+2)&3)->point(),
f.first->vertex((f.second+3)&3)->point(), f.first->vertex((f.second+3)&3)->point(),
Q)); Q));
// else the facet is not on the enveloppe of the conflict cavity associated to P // else the facet is not on the envelope of the conflict cavity associated to P
return gt.construct_circumcenter_3_object()( return gt.construct_circumcenter_3_object()(
f.first->vertex((f.second+1)&3)->point(), f.first->vertex((f.second+1)&3)->point(),
f.first->vertex((f.second+2)&3)->point(), f.first->vertex((f.second+2)&3)->point(),

View File

@ -67,7 +67,7 @@ side_of_plane_centered_sphereC3(const RT &ax, const RT &ay, const RT &az,
// return: sign( (c-p)(c-p) - (c-t)(c-t)) // return: sign( (c-p)(c-p) - (c-t)(c-t))
// //
//method: //method:
// - tranlation of p to the origin. // - translation of p to the origin.
// - separate computation of det and norm of the expression // - separate computation of det and norm of the expression
return side_of_plane_centered_sphere_translateC3<RT>(ax-px, ay-py, az-pz, return side_of_plane_centered_sphere_translateC3<RT>(ax-px, ay-py, az-pz,
@ -136,7 +136,7 @@ side_of_plane_centered_sphereC3(const RT &ax, const RT &ay, const RT &az,
// return: sign( (c-p)(c-p) - (c-r)(c-r)) // return: sign( (c-p)(c-p) - (c-r)(c-r))
// //
//method: //method:
// - tranlation of p to the origin. // - translation of p to the origin.
// - separate computation of det and nom of the expression // - separate computation of det and nom of the expression
return side_of_plane_centered_sphere_translateC3<RT>(ax-px, ay-py, az-pz, return side_of_plane_centered_sphere_translateC3<RT>(ax-px, ay-py, az-pz,

View File

@ -772,9 +772,9 @@ struct Test
check_no_intersection (Rec(p(-2, -6), p( 6, 3)), p(-2, -7)); check_no_intersection (Rec(p(-2, -6), p( 6, 3)), p(-2, -7));
// point intersection // point intersection
check_intersection (Rec(p(-1, 4), p(-1, 4)), p(-1, 4), p(-1, 4)); // degenerate rectange (0d) check_intersection (Rec(p(-1, 4), p(-1, 4)), p(-1, 4), p(-1, 4)); // degenerate rectangle (0d)
check_intersection (Rec(p(-2, 4), p(-2, 7)), p(-2, 6), p(-2, 6)); // degenerate rectange (1d) check_intersection (Rec(p(-2, 4), p(-2, 7)), p(-2, 6), p(-2, 6)); // degenerate rectangle (1d)
check_intersection (Rec(p(-2, 4), p(-2, 7)), p(-2, 7), p(-2, 7)); // degenerate rectange (1d) check_intersection (Rec(p(-2, 4), p(-2, 7)), p(-2, 7), p(-2, 7)); // degenerate rectangle (1d)
check_intersection (Rec(p(-3, 0), p( 4, 2)), p(-3, 2), p(-3, 2)); // on vertex check_intersection (Rec(p(-3, 0), p( 4, 2)), p(-3, 2), p(-3, 2)); // on vertex
check_intersection (Rec(p( 7, 8), p( 9, 9)), p( 8, 9), p( 8, 9)); // on edge check_intersection (Rec(p( 7, 8), p( 9, 9)), p( 8, 9), p( 8, 9)); // on edge
check_intersection (Rec(p(-2, 0), p( 6, 7)), p( 1, 1), p( 1, 1)); // within check_intersection (Rec(p(-2, 0), p( 6, 7)), p( 1, 1), p( 1, 1)); // within

View File

@ -64,7 +64,7 @@ struct r3t3_do_intersect_endpoint_position_visitor
void end_point_in_triangle(){ m_intersection_type = 4; } void end_point_in_triangle(){ m_intersection_type = 4; }
}; };
//the template parameter Visitor here is used to offer the posibility to use //the template parameter Visitor here is used to offer the possibility to use
//r3t3_do_intersect_endpoint_position_visitor to track whether the endpoint of //r3t3_do_intersect_endpoint_position_visitor to track whether the endpoint of
//the ray lies inside the plane of the triangle or not. It is used for example //the ray lies inside the plane of the triangle or not. It is used for example
//in the function that checks whether a point is inside a polyhedron; if the ray //in the function that checks whether a point is inside a polyhedron; if the ray

View File

@ -90,13 +90,13 @@ t3r3_intersection_coplanar_aux(const typename K::Point_3& a,
const Point_3& p = point_on(r,0); const Point_3& p = point_on(r,0);
// A ray is not symetric, 2 cases depending on isolated side of c // A ray is not symmetric, 2 cases depending on isolated side of c
Orientation cap = negative_side ? coplanar_orientation(c,a,p) Orientation cap = negative_side ? coplanar_orientation(c,a,p)
: coplanar_orientation(b,c,p); : coplanar_orientation(b,c,p);
switch ( cap ) { switch ( cap ) {
case NEGATIVE: case NEGATIVE:
// p is bellow [c,a] // p is below [c,a]
return intersection_return<typename K::Intersect_3, typename K::Triangle_3, typename K::Ray_3>(); return intersection_return<typename K::Intersect_3, typename K::Triangle_3, typename K::Ray_3>();
case COLLINEAR: case COLLINEAR:
@ -111,7 +111,7 @@ t3r3_intersection_coplanar_aux(const typename K::Point_3& a,
Point_3 p_side_end_point(p); Point_3 p_side_end_point(p);
Point_3 q_side_end_point; Point_3 q_side_end_point;
// A ray is not symetric, 2 cases depending on isolated side of c // A ray is not symmetric, 2 cases depending on isolated side of c
if ( negative_side ) if ( negative_side )
{ {
if ( NEGATIVE == coplanar_orientation(b,c,p) ) if ( NEGATIVE == coplanar_orientation(b,c,p) )

View File

@ -440,7 +440,7 @@ int main(int, char**)
std::cout << " |||||||| Test Simple_cartesian<double> ||||||||" << std::endl; std::cout << " |||||||| Test Simple_cartesian<double> ||||||||" << std::endl;
Plane_3_intersection_tester< CGAL::Simple_cartesian<double> >(r).run(); Plane_3_intersection_tester< CGAL::Simple_cartesian<double> >(r).run();
// Homogenous is broken for projection and Pln-Sphere // Homogeneous is broken for projection and Pln-Sphere
// std::cout << " |||||||| Test CGAL::Homogeneous<CGAL::MP_Float> ||||||||" << std::endl; // std::cout << " |||||||| Test CGAL::Homogeneous<CGAL::MP_Float> ||||||||" << std::endl;
// Plane_3_intersection_tester< CGAL::Homogeneous<CGAL::MP_Float> >(r).run(); // Plane_3_intersection_tester< CGAL::Homogeneous<CGAL::MP_Float> >(r).run();

View File

@ -68,7 +68,7 @@ Equality test.
bool operator==(const Interval& I) const; bool operator==(const Interval& I) const;
/*! /*!
Unequality test. Inequality test.
*/ */
bool operator!=(const Interval& I) const; bool operator!=(const Interval& I) const;

View File

@ -187,7 +187,7 @@ proper_subset(Interval interval1, Interval interval2) {
} }
// Set operations, functions returing Interval // Set operations, functions returning Interval
//the enable_if is need for MSVC as it is not able to eliminate //the enable_if is need for MSVC as it is not able to eliminate
//the function if Interval_traits<Interval>::Intersection has no result_type //the function if Interval_traits<Interval>::Intersection has no result_type
//(like Null_functor) //(like Null_functor)

View File

@ -39,7 +39,7 @@ void test_with_empty_interval(CGAL::Tag_false) {
CGAL_static_assertion( CGAL_static_assertion(
(::std::is_same< Empty, CGAL::Null_functor>::value)); (::std::is_same< Empty, CGAL::Null_functor>::value));
// this part chages in case we allow empty intersection // this part changes in case we allow empty intersection
// which seems to be not possible for CORE::BigFloat as Interval // which seems to be not possible for CORE::BigFloat as Interval
try{ try{
try{ try{

View File

@ -111,7 +111,7 @@ respective curvature line, while \f$ b_1,b_2\f$ are the directional
derivatives of \f$ k_1,k_2\f$ along the other curvature lines. derivatives of \f$ k_1,k_2\f$ along the other curvature lines.
The Monge coordinate system can be computed from any \f$ d\f$-jet (\f$ d\geq The Monge coordinate system can be computed from any \f$ d\f$-jet (\f$ d\geq
2\f$), and so are the Monge coefficients. These informations 2\f$), and so are the Monge coefficients. These information
characterize the local geometry of the surface in a canonical way, and characterize the local geometry of the surface in a canonical way, and
are the quantities returned by our algorithm. are the quantities returned by our algorithm.
@ -277,7 +277,7 @@ vertices of a given mesh. The neighborhood of a given vertex is
computed using rings on the triangulation. Results are twofold: computed using rings on the triangulation. Results are twofold:
<UL> <UL>
<LI>a human readable text file featuring the `::CGAL::Monge_via_jet_fitting::Monge_form` and <LI>a human readable text file featuring the `::CGAL::Monge_via_jet_fitting::Monge_form` and
numerical informations on the computation: condition number and the numerical information on the computation: condition number and the
PCA basis; PCA basis;
<LI>another text file that records raw data (better for a visualization <LI>another text file that records raw data (better for a visualization
post-processing). post-processing).

View File

@ -34,7 +34,7 @@ struct Facet_unit_normal {
//---------------------------------------------------------------- //----------------------------------------------------------------
// operations on hedges, facets etc, handled using proeprty maps // operations on hedges, facets etc, handled using property maps
//---------------------------------------------------------------- //----------------------------------------------------------------
template <class TPoly , class HEdgePropertyMap> class T_PolyhedralSurf_hedge_ops template <class TPoly , class HEdgePropertyMap> class T_PolyhedralSurf_hedge_ops

View File

@ -20,7 +20,7 @@ takes an filename.off file as input,
it computes a fitting for each vertex it computes a fitting for each vertex
it outputs the results in : it outputs the results in :
1. filename.off.4ogl.txt which records raw data (better for a vizualization 1. filename.off.4ogl.txt which records raw data (better for a visualization
post-processing) post-processing)
2. if option -vtrue, filename.off.verb.txt contains human readable results 2. if option -vtrue, filename.off.verb.txt contains human readable results
@ -43,7 +43,7 @@ Allowed options:
Note : if the nb of collected points is less than the required min number of Note : if the nb of collected points is less than the required min number of
points to make the approxiamtion possible (which is constrained by the deg) points to make the approximation possible (which is constrained by the deg)
then the vertex is skipped. then the vertex is skipped.
./Mesh_estimation ./Mesh_estimation

View File

@ -36,7 +36,7 @@ int main(int argc, char *argv[])
exit(-1); exit(-1);
} }
//initalize the in_points container //initialize the in_points container
double x, y, z; double x, y, z;
std::vector<DPoint> in_points; std::vector<DPoint> in_points;
while (inFile >> x) { while (inFile >> x) {

View File

@ -151,7 +151,7 @@ public:
//translate_p0 changes the origin of the world to p0 the first point //translate_p0 changes the origin of the world to p0 the first point
// of the input data points // of the input data points
//change_world2fitting (coord of a vector in world) = coord of this //change_world2fitting (coord of a vector in world) = coord of this
// vector in fitting. The matrix tranform has as lines the coord of // vector in fitting. The matrix transform has as lines the coord of
// the basis vectors of fitting in the world coord. // the basis vectors of fitting in the world coord.
//idem for change_fitting2monge //idem for change_fitting2monge
Aff_transformation translate_p0, change_world2fitting, Aff_transformation translate_p0, change_world2fitting,
@ -553,7 +553,7 @@ compute_Monge_coefficients(FT* A, std::size_t dprime,
{ {
//One has the equation w=J_A(u,v) of the fitted surface S //One has the equation w=J_A(u,v) of the fitted surface S
// in the fitting_basis // in the fitting_basis
//Substituing (u,v,w)=change_fitting2monge^{-1}(x,y,z) //Substituting (u,v,w)=change_fitting2monge^{-1}(x,y,z)
//One has the equation f(x,y,z)=0 on this surface S in the monge //One has the equation f(x,y,z)=0 on this surface S in the monge
// basis // basis
//The monge form of the surface at the origin is the bivariate fct //The monge form of the surface at the origin is the bivariate fct

View File

@ -25,7 +25,7 @@ int main()
std::cerr << "cannot open file for input\n"; std::cerr << "cannot open file for input\n";
exit(-1); exit(-1);
} }
//initalize the in_points container //initialize the in_points container
double x, y, z; double x, y, z;
std::vector<DPoint> in_points; std::vector<DPoint> in_points;
while (inFile >> x) { while (inFile >> x) {

View File

@ -46,7 +46,7 @@ the following function overloads are also available.
The iterator versions of those functions can be used in conjunction The iterator versions of those functions can be used in conjunction
with `Dispatch_output_iterator`. with `Dispatch_output_iterator`.
Since both the number of intersections, if any, and types of the interesection results Since both the number of intersections, if any, and types of the intersection results
depend on the arguments, the function expects an output iterator on `K::Intersect_2(Type1, Type2)` depend on the arguments, the function expects an output iterator on `K::Intersect_2(Type1, Type2)`
as presented below. as presented below.
*/ */

View File

@ -57,7 +57,7 @@ the following function overloads are also available.
The iterator versions of those functions can be used in conjunction The iterator versions of those functions can be used in conjunction
with `Dispatch_output_iterator`. with `Dispatch_output_iterator`.
Since both the number of intersections, if any, and types of the interesection results Since both the number of intersections, if any, and types of the intersection results
depend on the arguments, the function expects an output iterator on `Kernel::Intersect_3(Type1, Type2)` depend on the arguments, the function expects an output iterator on `Kernel::Intersect_3(Type1, Type2)`
as presented below. as presented below.
*/ */
@ -83,7 +83,7 @@ type can be
where the unsigned integer is the multiplicity of the corresponding where the unsigned integer is the multiplicity of the corresponding
intersection point between `obj1` and `obj2`, intersection point between `obj1` and `obj2`,
- `SphericalType1`, when `SphericalType1` and `SphericalType2` are equal, - `SphericalType1`, when `SphericalType1` and `SphericalType2` are equal,
and if the two objets `obj1` and `obj2` are equal, and if the two objects `obj1` and `obj2` are equal,
- `Line_3<SphericalKernel>` or - `Line_3<SphericalKernel>` or
`Circle_3<SphericalKernel>` when `SphericalType1` and `SphericalType2` `Circle_3<SphericalKernel>` when `SphericalType1` and `SphericalType2`
are two-dimensional objects intersecting along a curve (2 planes, or 2 are two-dimensional objects intersecting along a curve (2 planes, or 2
@ -119,7 +119,7 @@ and depending of these types, the computed return value
intersection point, intersection point,
- `Circle_3<SphericalKernel>` or - `Circle_3<SphericalKernel>` or
- `Type1`, when `Type1`, `Type2` and - `Type1`, when `Type1`, `Type2` and
`Type3` are equal, and if the three objets `obj1` and `obj2` `Type3` are equal, and if the three objects `obj1` and `obj2`
and `obj3` are equal. and `obj3` are equal.
*/ */
template < typename Type1, typename Type2, typename Type3, typename OutputIterator > template < typename Type1, typename Type2, typename Type3, typename OutputIterator >

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