mirror of
https://github.com/boostorg/geometry.git
synced 2026-01-31 20:22:09 +00:00
[extensions][dissolve] Pass strategies into the overlay internals and envelope.
This commit is contained in:
@@ -298,7 +298,8 @@ struct dissolver_generic
|
||||
typedef typename geometry::point_type<value_type>::type point_type;
|
||||
typedef model::box<point_type> box_type;
|
||||
|
||||
// TODO: create and use envelope strategy
|
||||
typename Strategy::envelope_strategy_type const
|
||||
envelope_strategy = strategy.get_envelope_strategy();
|
||||
typename Strategy::template area_strategy<value_type>::type const
|
||||
area_strategy = strategy.template get_area_strategy<value_type>();
|
||||
|
||||
@@ -308,7 +309,7 @@ struct dissolver_generic
|
||||
++it, ++index)
|
||||
{
|
||||
helper.push_back(dissolve_helper<box_type>(index,
|
||||
geometry::return_envelope<box_type>(*it),
|
||||
geometry::return_envelope<box_type>(*it, envelope_strategy),
|
||||
geometry::area(*it, area_strategy),
|
||||
source));
|
||||
}
|
||||
|
||||
@@ -229,7 +229,7 @@ struct dissolve_ring_or_polygon
|
||||
|
||||
std::map<ring_identifier, properties> selected;
|
||||
|
||||
detail::overlay::select_rings<overlay_dissolve>(geometry, map, selected);
|
||||
detail::overlay::select_rings<overlay_dissolve>(geometry, map, selected, strategy);
|
||||
|
||||
// Add intersected rings
|
||||
{
|
||||
@@ -244,7 +244,7 @@ struct dissolve_ring_or_polygon
|
||||
}
|
||||
}
|
||||
|
||||
detail::overlay::assign_parents(geometry, rings, selected, true);
|
||||
detail::overlay::assign_parents(geometry, rings, selected, strategy, true);
|
||||
return detail::overlay::add_rings<GeometryOut>(selected, geometry, rings, out);
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user