mirror of https://github.com/CGAL/cgal
Spelling corrections
Spelling corrections `a e...` -> `an e...`
This commit is contained in:
parent
1d3456d6b0
commit
1cce66c343
|
|
@ -21,7 +21,7 @@ Moreover, `CGAL::Algebraic_structure_traits< EuclideanRing >` is a model of
|
|||
|
||||
\cgalHeading{Remarks}
|
||||
|
||||
The most prominent example of a Euclidean ring are the integers.
|
||||
The most prominent example of an Euclidean ring are the integers.
|
||||
Whenever both \f$ x\f$ and \f$ y\f$ are positive, then it is conventional to choose
|
||||
the smallest positive remainder \f$ r\f$.
|
||||
|
||||
|
|
|
|||
|
|
@ -613,7 +613,7 @@ public:
|
|||
/*
|
||||
* \brief returns the indices of the <tt>i</tt>th event value
|
||||
*
|
||||
* Returns a Event_indices <tt>(fg,ffy,ggy)</tt> such that
|
||||
* Returns an Event_indices <tt>(fg,ffy,ggy)</tt> such that
|
||||
* the <tt>i</tt>th event root is the <tt>fg</tt>th root of the
|
||||
* resultant of \c f and \c g, the <tt>ffy</tt>th root of the
|
||||
* discriminant of \c f, and the <tt>ggy</tt>th root of the
|
||||
|
|
|
|||
|
|
@ -254,7 +254,7 @@ public:
|
|||
/*!
|
||||
* \brief y-coordinate of this point
|
||||
*
|
||||
* Note: In general, this method results in a extremely large polynomial
|
||||
* Note: In general, this method results in an extremely large polynomial
|
||||
* for the y-coordinate. It is recommended to use it carefully,
|
||||
* and using get_approximation_y() instead whenever approximations suffice.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ locate(const Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr,
|
|||
}
|
||||
}
|
||||
|
||||
// Obtain a extended traits-class object.
|
||||
// Obtain an extended traits-class object.
|
||||
const Gt2* geom_traits = arr.geometry_traits();
|
||||
|
||||
/* We would like to avoid copy construction of the geometry traits class.
|
||||
|
|
|
|||
|
|
@ -459,7 +459,7 @@ namespace CGAL {
|
|||
}
|
||||
|
||||
|
||||
// a empty class used to have different types between Curve_2 and X_monotone_curve_2
|
||||
// an empty class used to have different types between Curve_2 and X_monotone_curve_2
|
||||
// in Arr_circular_line_arc_traits_2.
|
||||
namespace internal_Argt_traits{
|
||||
struct Not_X_Monotone{};
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ overlay(const Arrangement_on_surface_2<GeometryTraitsA_2, TopologyTraitsA>& arr1
|
|||
xcvs_vec[i] = Ovl_x_monotone_curve_2(eit2->curve(), invalid_he1, he2);
|
||||
}
|
||||
|
||||
// Obtain a extended traits-class object and define the sweep-line visitor.
|
||||
// Obtain an extended traits-class object and define the sweep-line visitor.
|
||||
const typename Arr_res::Traits_adaptor_2* traits_adaptor =
|
||||
arr.traits_adaptor();
|
||||
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
/*! Obtain a Equal_2 function object. */
|
||||
/*! Obtain an Equal_2 function object. */
|
||||
Equal_2 equal_2_object() const
|
||||
{ return (Equal_2(m_base_traits->equal_2_object())); }
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ decompose(const Arrangement_on_surface_2<GeometryTraits_2, TopologyTraits>& arr,
|
|||
}
|
||||
}
|
||||
|
||||
// Obtain a extended traits-class object.
|
||||
// Obtain an extended traits-class object.
|
||||
const Gt2* geom_traits = arr.geometry_traits();
|
||||
|
||||
/* We would like to avoid copy construction of the geometry traits class.
|
||||
|
|
|
|||
|
|
@ -737,7 +737,7 @@ insert_non_intersecting_curve
|
|||
|
||||
if (vh1 != nullptr) {
|
||||
if (vh2 != nullptr) {
|
||||
// Both endpoints are associated with a existing vertices.
|
||||
// Both endpoints are associated with an existing vertices.
|
||||
// In this case insert_at_vertices() already returns a halfedge
|
||||
// directed from left to right.
|
||||
new_he = arr.insert_at_vertices(c,
|
||||
|
|
|
|||
|
|
@ -524,7 +524,7 @@ public:
|
|||
/*! \class
|
||||
* A class defining a textual (\ascii) input/output format for arrangements
|
||||
* that store auxiliary dat with all their DCEL records, as they are templated
|
||||
* by a extended DCEL class.
|
||||
* by an extended DCEL class.
|
||||
*/
|
||||
template <class Arrangement_>
|
||||
class Arr_extended_dcel_text_formatter :
|
||||
|
|
|
|||
|
|
@ -440,7 +440,7 @@ public:
|
|||
{ return (m_base_eq(p1.base(), p2.base())); }
|
||||
};
|
||||
|
||||
/*! Obtain a Equal_2 function object */
|
||||
/*! Obtain an Equal_2 function object */
|
||||
Equal_2 equal_2_object() const
|
||||
{ return (Equal_2(m_base_traits->equal_2_object())); }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
* This class can be further split into two, where one derives from the other,
|
||||
* such that the derived class handles the case of inserting non-intersecting
|
||||
* curves into a non-empty arrangement, and the base class handles the case of
|
||||
* inserting non-intersecting curves into a empty arrangement.
|
||||
* inserting non-intersecting curves into an empty arrangement.
|
||||
*/
|
||||
|
||||
#include <CGAL/Surface_sweep_2/Arr_construction_ss_visitor.h>
|
||||
|
|
|
|||
|
|
@ -705,7 +705,7 @@ public:
|
|||
{ return m_base_equal(xcv1.base(), xcv2.base()); }
|
||||
};
|
||||
|
||||
/*! Obtain a Equal_2 functor object. */
|
||||
/*! Obtain an Equal_2 functor object. */
|
||||
Equal_2 equal_2_object() const
|
||||
{ return Equal_2(m_base_traits->equal_2_object()); }
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ int main()
|
|||
Mesh mesh2(sm2);
|
||||
try {
|
||||
if( target( *(halfedges(mesh).first), mesh2) == *(vertices(mesh).first)){
|
||||
CGAL_error_msg("The previous lie should have throw a exception");
|
||||
CGAL_error_msg("The previous line should have throw an exception");
|
||||
}
|
||||
} catch(...){
|
||||
std::cerr << "we caught it" << std::endl;
|
||||
|
|
|
|||
|
|
@ -387,7 +387,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
/*! Get a Equal_2 functor object. */
|
||||
/*! Get an Equal_2 functor object. */
|
||||
Equal_2 equal_2_object() const
|
||||
{
|
||||
return Equal_2(m_base_traits->equal_2_object());
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ Circulator_from_iterator();
|
|||
/*!
|
||||
a circulator `c` initialized to refer to the element
|
||||
`*cur` in a range `[begin, end)`.
|
||||
The circulator `c` refers to a empty sequence
|
||||
The circulator `c` refers to an empty sequence
|
||||
if `begin==end`.
|
||||
|
||||
*/
|
||||
|
|
@ -255,7 +255,7 @@ const I& end, const I& cur = begin);
|
|||
|
||||
/*!
|
||||
a copy of circulator `d` referring to the element `*cur`.
|
||||
The circulator `c` refers to a empty sequence
|
||||
The circulator `c` refers to an empty sequence
|
||||
if `d` does so.
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -304,7 +304,7 @@ and `Construct_yao_graph_2` construct full Theta and Yao graphs. They also provi
|
|||
to compute Half Theta and Yao graphs. As mentioned in Section \ref sec_CBS_mydefinitions,
|
||||
only the edges for the odd or even cones are added to the graph in an Half Theta and Yao
|
||||
graph. To do so, the constructor of the functors provides a parameter of type
|
||||
`Cones_selected` which is a enumeration that contains the following possible values:
|
||||
`Cones_selected` which is an enumeration that contains the following possible values:
|
||||
`ALL_CONES`, `EVEN_CONES` and `ODD_CONES`. Users should include the
|
||||
`CGAL/Cone_spanners_enum_2.h` header file to use these enum values. The following are the
|
||||
examples on the functor constructions for Half Theta and Yao Graphs.
|
||||
|
|
|
|||
|
|
@ -33579,7 +33579,7 @@ the problem of processing the all-pairs Euclidean {\em short} path
|
|||
queries is that of reporting an obstacle-avoiding path $P$ (or
|
||||
its length) between two arbitrary query points $p$ and $q$ in the
|
||||
plane, such that the length of $P$ is within a small factor of the
|
||||
length of a Euclidean {\em shortest} obstacle-avoiding path between
|
||||
length of an Euclidean {\em shortest} obstacle-avoiding path between
|
||||
$p$ and $q$. The goal is to answer each short path query quickly
|
||||
by constructing data structures that capture path information in
|
||||
the obstacle-scattered plane. For the related all-pairs Euclidean
|
||||
|
|
@ -120365,7 +120365,7 @@ Contains C code."
|
|||
, keywords = "Polynomial time approximation schemes, optimal algorithms, derandomization, Traveling salesman tour, Steiner minimum tree, Minimum spanning tree, Minimum matchings, 2-matchings, Edge cover, Rectilinear Steiner minimum tree, quadtrees, spanners, banyans."
|
||||
, update = "00.11 smid, 00.07 smid, 98.03 mitchell"
|
||||
, abstract = "
|
||||
We give deterministic and randomized algorithms to find a Euclidean
|
||||
We give deterministic and randomized algorithms to find an Euclidean
|
||||
traveling salesman tour (TST) of length within $(1+1/s)$ times
|
||||
optimal. They run in $O(N \log N)$ time and $O(N)$ space for constant
|
||||
dimension and $s$. These time and space bounds are optimal in an
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ This method is automatically called once, before the first call to paintGL().
|
|||
|
||||
Overload init() instead of this method to modify viewer specific OpenGL state.
|
||||
|
||||
If a 4.3 context could not be set, a ES 2.0 context will be used instead.
|
||||
If a 4.3 context could not be set, an ES 2.0 context will be used instead.
|
||||
\see `isOpenGL_4_3()`
|
||||
*/
|
||||
CGAL_INLINE_FUNCTION
|
||||
|
|
|
|||
|
|
@ -208,7 +208,7 @@ public:
|
|||
/// @{
|
||||
/*!
|
||||
Inserts the point `p` in the triangulation.
|
||||
If the point `p` coincides with a existing vertex, then the vertex is returned
|
||||
If the point `p` coincides with an existing vertex, then the vertex is returned
|
||||
and the triangulation is not modified. The optional parameter `start` is used
|
||||
to initialize the location of `p`.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ H_\infty\f$ of points at infinity.
|
|||
|
||||
In this model, a hyperbolic line is either an arc of circle
|
||||
perpendicular to the unit circle or, if it passes through the origin,
|
||||
a diameter of the unit disk. A hyperbolic circle is a Euclidean
|
||||
a diameter of the unit disk. A hyperbolic circle is an Euclidean
|
||||
circle contained in the unit disk; however, its hyperbolic center and radius
|
||||
are not the same as its Euclidean center and radius.
|
||||
|
||||
|
|
@ -53,9 +53,9 @@ precisely, the hyperbolic Delaunay triangulation of \f$\mathcal P\f$ only
|
|||
contains the simplices of the Euclidean Delaunay triangulation that
|
||||
are <i>hyperbolic</i>:
|
||||
<ul>
|
||||
<li> A Euclidean Delaunay face is hyperbolic if its
|
||||
<li> An Euclidean Delaunay face is hyperbolic if its
|
||||
circumscribing circle is contained in \f$\mathbb H^2\f$.
|
||||
<li> A Euclidean Delaunay edge is hyperbolic if one of the
|
||||
<li> An Euclidean Delaunay edge is hyperbolic if one of the
|
||||
empty disks (i.e., not containing any point of \f$\mathcal
|
||||
P\f$) passing through its endpoints is contained in \f$\mathbb
|
||||
H^2\f$.
|
||||
|
|
@ -138,13 +138,13 @@ The example below shows how user-defined info can be added to the hyperbolic fac
|
|||
We have measured the insertion execution time of our implementation
|
||||
with both traits classes `CGAL::Hyperbolic_Delaunay_triangulation_CK_traits_2`
|
||||
and `CGAL::Hyperbolic_Delaunay_triangulation_traits_2` with their default template
|
||||
parameters against the insertion time in a Euclidean \cgal triangulation.
|
||||
parameters against the insertion time in an Euclidean \cgal triangulation.
|
||||
We generate 1 million random points, uniformly distributed in the unit disk with respect
|
||||
to the Euclidean metric. We insert the same set of points in three triangulations:
|
||||
<ul>
|
||||
<li> a hyperbolic Delaunay triangulation with `CGAL::Hyperbolic_Delaunay_triangulation_traits_2` (%CORE traits) as traits class;
|
||||
<li> a hyperbolic Delaunay triangulation with `CGAL::Hyperbolic_Delaunay_triangulation_CK_traits_2` (CK traits) as traits class;
|
||||
<li> a Euclidean Delaunay triangulation with `CGAL::Exact_predicates_inexact_constructions_kernel` (EPICK) as traits class.
|
||||
<li> an Euclidean Delaunay triangulation with `CGAL::Exact_predicates_inexact_constructions_kernel` (EPICK) as traits class.
|
||||
</ul>
|
||||
We create two instances of each type of triangulation. In one instance we insert the points one by one, which causes
|
||||
non-hyperbolic faces to be filtered out at each insertion. In the other instance we insert the points via iterator
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
# .. variable:: CGAL_DISABLE_GMP
|
||||
#
|
||||
# If set, the `GMP` library will not be used. If
|
||||
# :variable:`WITH_LEDA` is not used either, a efficient exact
|
||||
# :variable:`WITH_LEDA` is not used either, an efficient exact
|
||||
# number types are used by CGAL kernels for exact computation.
|
||||
#
|
||||
# .. variable:: WITH_LEDA
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ function(tbb_extract_real_library library real_library)
|
|||
set(_elf_magic "7f454c46")
|
||||
file(READ ${library} _hex_data OFFSET 0 LIMIT 4 HEX)
|
||||
if(_hex_data STREQUAL _elf_magic)
|
||||
#we have opened a elf binary so this is what
|
||||
#we have opened an elf binary so this is what
|
||||
#we should link to
|
||||
set(${real_library} "${library}" PARENT_SCOPE)
|
||||
return()
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ namespace CGAL {
|
|||
|
||||
The class `Extended_homogeneous` serves as a traits class for the class
|
||||
`Nef_polyhedron_2<T>`. It uses a polynomial component
|
||||
representation based on a Euclidean ring number type `RT`.
|
||||
representation based on an Euclidean ring number type `RT`.
|
||||
|
||||
\cgalModels `ExtendedKernelTraits_2`
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace CGAL {
|
|||
/*{\Manpage {SM_io_parser}{Decorator_}{IO of embedded maps}{IO}}*/
|
||||
|
||||
/*{\Mdefinition An instance |\Mvar| of the data type |\Mname| is a
|
||||
decorator to provide input and output of a embedded map. |\Mtype| is
|
||||
decorator to provide input and output of an embedded map. |\Mtype| is
|
||||
generic with respect to the |Decorator_| parameter. |Decorator_| has
|
||||
to be a decorator model of our |SM_decorator| concept.}*/
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ namespace Intern{
|
|||
*
|
||||
* Extensions provide suitable specializations of \c CGAL::Fraction_traits.
|
||||
* They are decomposable iff their coefficient type is.
|
||||
* The denominator \e d of a Extension \e ext is a low common multiple
|
||||
* The denominator \e d of an Extension \e ext is a low common multiple
|
||||
* (see \c CGAL::Fraction_traits::Common_factor for details) of the
|
||||
* denominators of its coefficients. The numerator is the Extenion
|
||||
* \e d*ext with a fraction-free coefficient type.
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ int main(int, char**)
|
|||
std::cout << " dummy point " << j << ": OK " << std::endl;
|
||||
}
|
||||
|
||||
std::cout << "---- locating the midpoint of a Euclidean segment ----" << std::endl;
|
||||
std::cout << "---- locating the midpoint of an Euclidean segment ----" << std::endl;
|
||||
Point p1 = tr.get_dummy_point(0), p2 = tr.get_dummy_point(1);
|
||||
Point query = midpoint(p1, p2);
|
||||
fh = tr.hyperbolic_locate(query, lt, li);
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ class Polynomial_algebraic_structure_traits_base< POLY, Unique_factorization_dom
|
|||
};
|
||||
};
|
||||
|
||||
// Clone this for a EuclideanRing
|
||||
// Clone this for an EuclideanRing
|
||||
template< class POLY >
|
||||
class Polynomial_algebraic_structure_traits_base< POLY, Euclidean_ring_tag >
|
||||
: public Polynomial_algebraic_structure_traits_base< POLY,
|
||||
|
|
|
|||
|
|
@ -225,7 +225,7 @@ NT prs_resultant_decompose(Polynomial<NT> A, Polynomial<NT> B){
|
|||
* subresultant version. This depends on the coefficient type:
|
||||
* If \c NT is a \c UFDomain , the subresultant PRS is formed.
|
||||
* If \c NT is a \c Field that is not decomposable (see
|
||||
* \c CGAL::Fraction_traits ), then a Euclidean PRS is formed.
|
||||
* \c CGAL::Fraction_traits ), then an Euclidean PRS is formed.
|
||||
* If \c NT is a \c Field that is decomposable, then the
|
||||
* \c Numerator must be a \c UFDomain, and the subresultant
|
||||
* PRS is formed for the decomposed polynomials.
|
||||
|
|
|
|||
|
|
@ -462,7 +462,7 @@ private:
|
|||
|
||||
|
||||
// We use our own Strict Weak Ordering predicate in order to avoid
|
||||
// problems when calling sort for a Exponents_coeff_pair where the
|
||||
// problems when calling sort for an Exponents_coeff_pair where the
|
||||
// coeff type has no comparison operators available.
|
||||
private:
|
||||
struct Compare_exponents_coeff_pair
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
Requirements of a distance class defining a distance between a query item
|
||||
denoting a spatial object and a point.
|
||||
To optimize distance computations transformed distances are used,
|
||||
e.g., for a Euclidean distance the transformed distance is the squared
|
||||
e.g., for an Euclidean distance the transformed distance is the squared
|
||||
Euclidean distance.
|
||||
|
||||
\cgalHasModel `CGAL::Manhattan_distance_iso_box_point<Traits>`
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ which is the vertex type required by the `StraightSkeleton_2` concept.
|
|||
\tparam Refs must be a model of `StraightSkeleton_2`
|
||||
\tparam Point a Point type
|
||||
\tparam FT must be a model of the `FieldWithSqrt`, which is the numeric type used to represent
|
||||
the time of a vertex (a Euclidean distance).
|
||||
the time of a vertex (an Euclidean distance).
|
||||
|
||||
This class can be used as a base class allowing users of the straight skeleton data structure to decorate
|
||||
a vertex with additional data. The concrete vertex class must be given in the `HalfedgeDSItems`
|
||||
|
|
|
|||
|
|
@ -328,7 +328,7 @@ construct_trisegment ( Segment_2_with_ID<K> const& e0,
|
|||
// If the lines do not intersect, for example, for collinear edges, or parallel edges but with the same orientation,
|
||||
// returns 0 (the actual distance is undefined in this case, but 0 is a useful return)
|
||||
//
|
||||
// NOTE: The result is a explicit rational number returned as a tuple (num,den); the caller must check that den!=0 manually
|
||||
// NOTE: The result is an explicit rational number returned as a tuple (num,den); the caller must check that den!=0 manually
|
||||
// (a predicate for instance should return indeterminate in this case)
|
||||
//
|
||||
// PRECONDITION: None of e0, e1 and e2 are collinear (but two of them can be parallel)
|
||||
|
|
@ -596,7 +596,7 @@ compute_artifical_isec_timeC2 ( Trisegment_2_ptr< Trisegment_2<K, Segment_2_with
|
|||
// returns the OFFSET DISTANCE (n/d) at which a line perpendicular to the collinear edge passing through
|
||||
// the degenerate seed point intersects the offset line of the non collinear edge
|
||||
//
|
||||
// NOTE: The result is a explicit rational number returned as a tuple (num,den); the caller must check that den!=0 manually
|
||||
// NOTE: The result is an explicit rational number returned as a tuple (num,den); the caller must check that den!=0 manually
|
||||
// (a predicate for instance should return indeterminate in this case)
|
||||
//
|
||||
// POSTCONDITION: In case of overflow an empty optional is returned.
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public:
|
|||
/// Return a deep copy of self.
|
||||
virtual Base_property_array* clone () const = 0;
|
||||
|
||||
/// Return a empty copy of self.
|
||||
/// Return an empty copy of self.
|
||||
virtual Base_property_array* empty_clone () const = 0;
|
||||
|
||||
/// Return the type_info of the property
|
||||
|
|
|
|||
|
|
@ -661,7 +661,7 @@ private:
|
|||
DBlock<nodeptr> *nodeptr_block;
|
||||
|
||||
void (*error_function)(const char
|
||||
*); /* this function is called if a error occurs,
|
||||
*); /* this function is called if an error occurs,
|
||||
with a corresponding error message
|
||||
(or exit(1) is called if it's nullptr) */
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ The algorithm to find a shortest non-contractible curve through a specified vert
|
|||
|
||||
\subsection SMTopology_homotopy Homotopy Test
|
||||
|
||||
Given a curve drawn on a surface one can ask if the curve can be continuously deformed to a point (i.e. a zero length curve). In other words, does there exist a continuous sequence of curves on the surface that starts with the input curve and ends to a point? Curves that deform to a point are said <em>contractible</em>. Any curve on a sphere is contractible but this is not true for all curves on a torus or on a surface with more complicated topology. The algorithms in this section are purely topological and do not assume any geometry on the input surface. In particular, the surface is not necessarily embedded in a Euclidean space.
|
||||
Given a curve drawn on a surface one can ask if the curve can be continuously deformed to a point (i.e. a zero length curve). In other words, does there exist a continuous sequence of curves on the surface that starts with the input curve and ends to a point? Curves that deform to a point are said <em>contractible</em>. Any curve on a sphere is contractible but this is not true for all curves on a torus or on a surface with more complicated topology. The algorithms in this section are purely topological and do not assume any geometry on the input surface. In particular, the surface is not necessarily embedded in an Euclidean space.
|
||||
|
||||
The algorithm implemented in this package builds a data structure to efficiently answer queries of the following forms:
|
||||
- Given a combinatorial surface \f$\cal{M}\f$ and a closed combinatorial curve specified as a sequence of edges of \f$\cal{M}\f$, decide if the curve is contractible on \f$\cal{M}\f$,
|
||||
|
|
|
|||
Loading…
Reference in New Issue