Models of this concept are passed to the polyline simplification algorithm to calculate the cost of removing a vertex. Such a cost represents some measure of the deviation error between the polyline sets before and after removal. The smaller the error the lower the cost. The algorithm processes vertices in increasing cost order to preserve the overall polyline set shape as much as possible.
- Refines
CopyConstructible
Assignable
- Has models
CGAL::Polyline_simplification_2::Hybrid_squared_distance_cost
CGAL::Polyline_simplification_2::Scaled_squared_distance_cost
CGAL::Polyline_simplification_2::Squared_distance_cost
◆ operator()()
Given a vertex in constraint iterator viq
computes vip=std::prev(viq)
and vir=std::next(vir)
, and the cost of removing vertex *viq
, replacing edges (*vip,*viq)
and (*viq,*vir)
with edge (*vip,*vir)
.
- Parameters
-
ct | The underlying constrained Delaunay triangulation which embeds the polyline constraints |
viq | The vertex in constraint iterator of the vertex to remove |
- Returns
- The cost for removing
*viq
. The value std::nullopt
can be returned to indicate an infinite or uncomputable cost.
- Template Parameters
-