mirror of https://github.com/CGAL/cgal
Merge branch 'releases/CGAL-4.13-branch'
This commit is contained in:
commit
f5836b2206
|
|
@ -556,11 +556,11 @@ namespace internal {
|
|||
(boost::make_transform_iterator (input.begin(), CGAL::Property_map_to_unary_function<ItemMap>(item_map)),
|
||||
boost::make_transform_iterator (input.end(), CGAL::Property_map_to_unary_function<ItemMap>(item_map)));
|
||||
|
||||
float Dx = float(bbox.xmax() - bbox.xmin());
|
||||
float Dy = float(bbox.ymax() - bbox.ymin());
|
||||
float A = Dx * Dy;
|
||||
float a = A / min_number_of_subdivisions;
|
||||
float l = std::sqrt(a);
|
||||
double Dx = double(bbox.xmax() - bbox.xmin());
|
||||
double Dy = double(bbox.ymax() - bbox.ymin());
|
||||
double A = Dx * Dy;
|
||||
double a = A / min_number_of_subdivisions;
|
||||
double l = std::sqrt(a);
|
||||
std::size_t nb_x = std::size_t(Dx / l) + 1;
|
||||
std::size_t nb_y = std::size_t((A / nb_x) / a) + 1;
|
||||
std::size_t nb = nb_x * nb_y;
|
||||
|
|
@ -571,11 +571,11 @@ namespace internal {
|
|||
for (std::size_t y = 0; y < nb_y; ++ y)
|
||||
{
|
||||
bboxes.push_back
|
||||
(CGAL::Bbox_3 (bbox.xmin() + Dx * (x / float(nb_x)),
|
||||
bbox.ymin() + Dy * (y / float(nb_y)),
|
||||
(CGAL::Bbox_3 (bbox.xmin() + Dx * (x / double(nb_x)),
|
||||
bbox.ymin() + Dy * (y / double(nb_y)),
|
||||
bbox.zmin(),
|
||||
bbox.xmin() + Dx * ((x+1) / float(nb_x)),
|
||||
bbox.ymin() + Dy * ((y+1) / float(nb_y)),
|
||||
(x == nb_x - 1 ? bbox.xmax() : bbox.xmin() + Dx * ((x+1) / double(nb_x))),
|
||||
(y == nb_y - 1 ? bbox.ymax() : bbox.ymin() + Dy * ((y+1) / double(nb_y))),
|
||||
bbox.zmax()));
|
||||
}
|
||||
|
||||
|
|
@ -590,14 +590,16 @@ namespace internal {
|
|||
for (std::size_t s = 0; s < input.size(); ++ s)
|
||||
{
|
||||
CGAL::Bbox_3 b = get(item_map, *(input.begin() + s)).bbox();
|
||||
|
||||
for (std::size_t i = 0; i < bboxes.size(); ++ i)
|
||||
|
||||
std::size_t i = 0;
|
||||
for (; i < bboxes.size(); ++ i)
|
||||
if (CGAL::do_overlap (b, bboxes[i]))
|
||||
{
|
||||
input_to_indices[s] = std::make_pair (i, indices[i].size());
|
||||
indices[i].push_back (s);
|
||||
break;
|
||||
}
|
||||
CGAL_assertion_msg (i != bboxes.size(), "Point was not assigned to any subdivision.");
|
||||
}
|
||||
|
||||
internal::Classify_functor_graphcut<ItemRange, ItemMap, Classifier, NeighborQuery, LabelIndexRange>
|
||||
|
|
|
|||
|
|
@ -266,6 +266,8 @@ ALIASES = "sc{1}=<span style=\"font-variant: small-caps;\">\1</sp
|
|||
"cgalAdvancedEnd=\htmlonly </div> \endhtmlonly" \
|
||||
"cgalAdvancedFunction=This is an advanced function." \
|
||||
"cgalAdvancedClass=This is an advanced class." \
|
||||
"cgalAdvancedType=This is an advanced type." \
|
||||
"cgalAdvancedConcept=This is an advanced concept." \
|
||||
"cgalRequiresCPP11=\warning This function requires a C++11 compiler." \
|
||||
"cgalPkgPicture{1}=<div class=\"PkgImage\"> \n \image html \1 \n</div>" \
|
||||
"cgalPkgSummaryBegin=<div class=\"PkgSummary\">" \
|
||||
|
|
|
|||
|
|
@ -267,6 +267,8 @@ ALIASES = "sc{1}=<span style=\"font-variant: small-caps;\">\1</sp
|
|||
"cgalAdvancedEnd=\htmlonly[block] </div> \endhtmlonly" \
|
||||
"cgalAdvancedFunction=This is an advanced function." \
|
||||
"cgalAdvancedClass=This is an advanced class." \
|
||||
"cgalAdvancedType=This is an advanced type." \
|
||||
"cgalAdvancedConcept=This is an advanced concept." \
|
||||
"cgalRequiresCPP11=\warning This function requires a C++11 compiler." \
|
||||
"cgalPkgPicture{1}=<div class=\"PkgImage\"> ^^ \image html \1 ^^</div>" \
|
||||
"cgalPkgSummaryBegin=<div class=\"PkgSummary\">" \
|
||||
|
|
|
|||
|
|
@ -251,6 +251,8 @@ ALIASES += "cgalAdvancedBegin=\htmlonly <div class=\"CGALAdvanced\"> <div>Advanc
|
|||
ALIASES += "cgalAdvancedEnd=\htmlonly </div> \endhtmlonly"
|
||||
ALIASES += "cgalAdvancedFunction=This is an advanced function."
|
||||
ALIASES += "cgalAdvancedClass=This is an advanced class."
|
||||
ALIASES += "cgalAdvancedType=This is an advanced type."
|
||||
ALIASES += "cgalAdvancedConcept=This is an advanced concept."
|
||||
|
||||
ALIASES += "cgalRequiresCPP11=\warning This function requires a C++11 compiler."
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,12 @@
|
|||
\ingroup PkgInscribedAreasConcepts
|
||||
\cgalConcept
|
||||
|
||||
\cgalAdvancedConcept
|
||||
\cgalAdvancedBegin
|
||||
The concept `ExtremalPolygonTraits_2` provides the types and
|
||||
operations needed to compute a maximal \f$ k\f$-gon that can be
|
||||
inscribed into a given convex polygon.
|
||||
\cgalAdvancedEnd
|
||||
|
||||
\note `ExtremalPolygonTraits_2::Less_xy_2` and
|
||||
`ExtremalPolygonTraits_2::Orientation_2` are used for (expensive)
|
||||
|
|
|
|||
|
|
@ -818,8 +818,12 @@ output_to_medit(std::ostream& os,
|
|||
typename C3T3::Facet f = (*fit);
|
||||
|
||||
// Apply priority among subdomains, to get consistent facet orientation per subdomain-pair interface.
|
||||
if (f.first->subdomain_index() < f.first->neighbor(f.second)->subdomain_index())
|
||||
f = tr.mirror_facet(f);
|
||||
if ( print_each_facet_twice )
|
||||
{
|
||||
// NOTE: We mirror a facet when needed to make it consistent with No_patch_facet_pmap_first/second.
|
||||
if (f.first->subdomain_index() > f.first->neighbor(f.second)->subdomain_index())
|
||||
f = tr.mirror_facet(f);
|
||||
}
|
||||
|
||||
// Get facet vertices in CCW order.
|
||||
Vertex_handle vh1 = f.first->vertex((f.second + 1) % 4);
|
||||
|
|
@ -833,10 +837,10 @@ output_to_medit(std::ostream& os,
|
|||
os << V[vh1] << ' ' << V[vh2] << ' ' << V[vh3] << ' ';
|
||||
os << get(facet_pmap, *fit) << '\n';
|
||||
|
||||
// Print triangle again if needed
|
||||
// Print triangle again if needed, with opposite orientation
|
||||
if ( print_each_facet_twice )
|
||||
{
|
||||
os << V[vh1] << ' ' << V[vh2] << ' ' << V[vh3] << ' ';
|
||||
os << V[vh3] << ' ' << V[vh2] << ' ' << V[vh1] << ' ';
|
||||
os << get(facet_twice_pmap, *fit) << '\n';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -305,6 +305,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Checks the combinatorial validity of the triangulation and the
|
||||
validity of its geometric embedding (see
|
||||
|
|
@ -319,6 +320,7 @@ public:
|
|||
is_valid(bool verbose = false) const;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Checks the combinatorial and geometric validity of the cell (see
|
||||
Section \ref P2Triangulation2secintro). Also checks that the
|
||||
|
|
|
|||
|
|
@ -438,6 +438,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Returns a reference to the triangulation data structure.
|
||||
\cgalAdvancedEnd
|
||||
|
|
@ -473,6 +474,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
The current triangulation remains a triangulation in the 1-sheeted
|
||||
covering space even after adding points if this method returns
|
||||
|
|
@ -486,6 +488,7 @@ public:
|
|||
bool is_extensible_triangulation_in_1_sheet_h1() const;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
The same as `is_extensible_triangulation_in_1_sheet_h1()` but with
|
||||
a more precise heuristic, i.e. it might answer `true` in cases in which
|
||||
|
|
@ -498,6 +501,7 @@ public:
|
|||
bool is_extensible_triangulation_in_1_sheet_h2() const;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Returns `true` if the current triangulation would still be a
|
||||
triangulation in the 1-sheeted covering space, returns `false` otherwise.
|
||||
|
|
@ -506,6 +510,7 @@ public:
|
|||
bool is_triangulation_in_1_sheet() const;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Converts the current triangulation into the same periodic
|
||||
triangulation in the 1-sheeted covering space.
|
||||
|
|
@ -515,6 +520,7 @@ public:
|
|||
void convert_to_1_sheeted_covering();
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Converts the current triangulation into the same periodic
|
||||
triangulation in the 9-sheeted covering space.
|
||||
|
|
@ -971,6 +977,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Inserts the first vertex.
|
||||
\cgalAdvancedEnd
|
||||
|
|
@ -978,6 +985,7 @@ public:
|
|||
Vertex_handle insert_first(const Point& p);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Inserts vertex `v` in face
|
||||
`f`. Face `f` is modified,
|
||||
|
|
@ -988,6 +996,7 @@ public:
|
|||
Vertex_handle insert_in_face(const Point& p, Face_handle f);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Removes a vertex of degree three. Two of the incident faces are
|
||||
destroyed, the third one is modified. \pre Vertex `v` is a vertex with degree three.
|
||||
|
|
@ -996,6 +1005,7 @@ public:
|
|||
void remove_degree_3(Vertex_handle v);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Removes the unique vertex in the
|
||||
triangulation.
|
||||
|
|
@ -1006,10 +1016,11 @@ public:
|
|||
|
||||
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
creates a new vertex `v` and use it to star the hole
|
||||
whose boundary is described by the sequence of edges
|
||||
`[edge_begin, edge_end]`. Returns a handle to the new vertex.
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
creates a new vertex `v` and use it to star the hole
|
||||
whose boundary is described by the sequence of edges
|
||||
`[edge_begin, edge_end]`. Returns a handle to the new vertex.
|
||||
|
||||
\pre The triangulation is a triangulation of 1 sheet
|
||||
\cgalAdvancedEnd
|
||||
|
|
@ -1020,6 +1031,7 @@ public:
|
|||
EdgeIt edge_end);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
same as above, except that the algorithm
|
||||
first recycles faces in the sequence `[face_begin, face_end]`
|
||||
|
|
@ -1036,6 +1048,7 @@ public:
|
|||
FaceIt face_end);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Changes the domain. Note that this function calls `clear()`,
|
||||
i.e., it erases the existing triangulation.
|
||||
|
|
@ -1084,6 +1097,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Checks the combinatorial validity of the triangulation and
|
||||
also the validity of its geometric embedding.
|
||||
|
|
|
|||
|
|
@ -1043,6 +1043,7 @@ public:
|
|||
|
||||
|
||||
#ifdef DOXYGEN_RUNNING
|
||||
/// \cgalAdvancedType
|
||||
/// \cgalAdvancedBegin
|
||||
/// Model of `OutputIterator` used to insert elements by defining
|
||||
/// the value of the property `Property`.
|
||||
|
|
@ -1050,6 +1051,7 @@ public:
|
|||
template <class Property>
|
||||
using Property_back_inserter = unspecified_type;
|
||||
|
||||
/// \cgalAdvancedType
|
||||
/// \cgalAdvancedBegin
|
||||
/// Model of `WritablePropertyMap` based on `Property` and that
|
||||
/// is allowed to push new items to the point set if needed.
|
||||
|
|
@ -1129,26 +1131,30 @@ public:
|
|||
};
|
||||
/// \endcond
|
||||
|
||||
/// \cgalAdvancedType
|
||||
/// \cgalAdvancedBegin
|
||||
/// Back inserter on indices
|
||||
/// \cgalAdvancedEnd
|
||||
typedef Property_back_inserter<Index_map> Index_back_inserter;
|
||||
/// \cgalAdvancedType
|
||||
/// \cgalAdvancedBegin
|
||||
/// Back inserter on points
|
||||
/// \cgalAdvancedEnd
|
||||
typedef Property_back_inserter<Point_map> Point_back_inserter;
|
||||
/// \cgalAdvancedType
|
||||
/// \cgalAdvancedBegin
|
||||
/// Property map for pushing new points
|
||||
/// \cgalAdvancedEnd
|
||||
typedef Push_property_map<Point_map> Point_push_map;
|
||||
/// \cgalAdvancedType
|
||||
/// \cgalAdvancedBegin
|
||||
/// Property map for pushing new vectors
|
||||
/// \cgalAdvancedEnd
|
||||
typedef Push_property_map<Vector_map> Vector_push_map;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
\brief Returns the push property map of the given property.
|
||||
|
||||
\tparam T type of the property.
|
||||
|
|
@ -1167,8 +1173,8 @@ public:
|
|||
return Push_property_map<Property_map<T> > (this, &prop, size());
|
||||
}
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
\brief Returns the push property map of the point property.
|
||||
\cgalAdvancedEnd
|
||||
*/
|
||||
|
|
@ -1177,8 +1183,8 @@ public:
|
|||
return Point_push_map (this, &m_points, size());
|
||||
}
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
\brief Returns the push property map of the normal property.
|
||||
|
||||
\note The normal property must have been added to the point set
|
||||
|
|
@ -1190,8 +1196,8 @@ public:
|
|||
return Vector_push_map (this, &m_normals, size());
|
||||
}
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
\brief Returns the back inserter on the index property.
|
||||
\cgalAdvancedEnd
|
||||
*/
|
||||
|
|
@ -1200,8 +1206,8 @@ public:
|
|||
return Index_back_inserter (this, &m_indices, size());
|
||||
}
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
\brief Returns the back inserter on the point property.
|
||||
\cgalAdvancedEnd
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@
|
|||
\ingroup PkgSpatialSearchingDConcepts
|
||||
\cgalConcept
|
||||
|
||||
\cgalAdvancedConcept
|
||||
\cgalAdvancedBegin
|
||||
The concept `Splitter` defines the requirements for a function object class implementing a splitting rule.
|
||||
\cgalAdvancedEnd
|
||||
|
||||
\cgalHasModel `CGAL::Fair<Traits, SpatialSeparator>`
|
||||
\cgalHasModel `CGAL::Median_of_rectangle<Traits, SpatialSeparator>`
|
||||
|
|
|
|||
|
|
@ -463,6 +463,7 @@ public:
|
|||
/// \name Vertex Motion Parameters
|
||||
/// @{
|
||||
|
||||
/// \cgalAdvancedFunction
|
||||
/// \cgalAdvancedBegin
|
||||
/// Controls the velocity of movement and approximation quality:
|
||||
/// decreasing this value makes the mean curvature flow based contraction converge
|
||||
|
|
@ -482,7 +483,8 @@ public:
|
|||
{
|
||||
return m_is_medially_centered;
|
||||
}
|
||||
|
||||
|
||||
/// \cgalAdvancedFunction
|
||||
/// \cgalAdvancedBegin
|
||||
/// Controls the smoothness of the medial approximation:
|
||||
/// increasing this value results in a (less smooth) skeleton closer
|
||||
|
|
|
|||
|
|
@ -118,6 +118,7 @@ Can be `CGAL::Sequential_tag` or `CGAL::Parallel_tag`. If it is
|
|||
typedef unspecified_type Concurrency_tag;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedType
|
||||
\cgalAdvancedBegin
|
||||
This template class allows to get the type of a triangulation
|
||||
data structure that only changes the vertex type. It has to define a type
|
||||
|
|
@ -130,6 +131,7 @@ template <typename Vb2>
|
|||
using Rebind_vertex = unspecified_type;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedType
|
||||
\cgalAdvancedBegin
|
||||
This template class allows to get the type of a triangulation
|
||||
data structure that only changes the cell type. It has to define a type
|
||||
|
|
|
|||
|
|
@ -253,6 +253,7 @@ Returns a const reference to the underlying triangulation data structure.
|
|||
const Triangulation_ds & tds() const;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Returns a non-const
|
||||
reference to the underlying triangulation data structure.
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ bool is_valid(bool verbose = true) const;
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedType
|
||||
\cgalAdvancedBegin
|
||||
This template class allows to get the type of a triangulation
|
||||
data structure that only changes the vertex type. It has to define a type
|
||||
|
|
@ -103,6 +104,7 @@ using Rebind_full_cell = unspecified_type;
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
A set `C` of full cells satisfying the same condition as in method
|
||||
`Triangulation_data_structure::insert_in_hole()` is assumed to be marked. This
|
||||
|
|
|
|||
|
|
@ -59,7 +59,8 @@ public:
|
|||
/// \name Validity Check
|
||||
/// @{
|
||||
|
||||
/*!
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Implements the validity checks required by the concept
|
||||
`TriangulationDSFullCell`.
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ public:
|
|||
/// @{
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Implements the validity checks required by the concept
|
||||
`TriangulationDSVertex`. Does not implement additional checks.
|
||||
|
|
|
|||
|
|
@ -431,6 +431,7 @@ Inserts a vertex in the triangulation data structure by subdividing the
|
|||
Vertex_handle insert_in_facet(const Facet & ft);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Removes the full cells in the range \f$ C=\f$`[s, e)`, inserts a vertex
|
||||
at position `p` and fills the hole by connecting
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@ The simplification algorithm uses the following types and functions.
|
|||
|
||||
/*!
|
||||
\cgalAdvancedBegin
|
||||
An iterator on the points of the of the original constraint
|
||||
An iterator on the points of the original constraint
|
||||
before simplification steps are applied. The value type of this iterator is `Point`.
|
||||
A \link Constrained_triangulation_plus_2::Vertices_in_constraint_iterator `Vertices_in_constraint_iterator`\endlink can be converted into
|
||||
a `Points_in_constraint_iterator`, but not the other way around.
|
||||
|
|
@ -416,6 +416,7 @@ typedef unspecified_type Points_in_constraint_iterator;
|
|||
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Returns an iterator to the first point on the constraint before any simplification step.
|
||||
\cgalAdvancedEnd
|
||||
|
|
@ -423,6 +424,7 @@ Returns an iterator to the first point on the constraint before any simplificati
|
|||
Points_in_constraint_iterator points_in_constraint_begin(Constraint_id cid) const;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Returns an iterator past the last point on the constraint before any simplification step.
|
||||
\cgalAdvancedEnd
|
||||
|
|
@ -430,6 +432,7 @@ Returns an iterator past the last point on the constraint before any simplificat
|
|||
Points_in_constraint_iterator points_in_constraint_end(Constraint_id cid) const ;
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Removes the vertex at `vicq` from the constraint and the triangulation.
|
||||
The point of that vertex remains stored in the sequence of original points
|
||||
|
|
@ -452,6 +455,7 @@ void
|
|||
simplify(Vertices_in_constraint_iterator vicq);
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Removes the original points that correspond to vertices in the constraint `cid` which have
|
||||
been removed by the `simplify()` function.
|
||||
|
|
@ -462,6 +466,7 @@ remove_points_without_corresponding_vertex(Constraint_id cid);
|
|||
|
||||
|
||||
/*!
|
||||
\cgalAdvancedFunction
|
||||
\cgalAdvancedBegin
|
||||
Removes all original points that correspond to vertices in the constraints which have
|
||||
been removed by the `simplify()` function.
|
||||
|
|
|
|||
Loading…
Reference in New Issue