@@ -202,70 +202,6 @@ inline void enrich_assign(Operations& operations, Turns& turns)
202
202
#endif
203
203
}
204
204
205
- template <typename Operations, typename Turns>
206
- inline void enrich_adapt (Operations& operations, Turns& turns)
207
- {
208
- // Operations is a vector of indexed_turn_operation<>
209
- // If it is empty, or contains one or two items, it makes no sense
210
- if (operations.size () < 3 )
211
- {
212
- return ;
213
- }
214
-
215
- bool next_phase = false ;
216
- std::size_t previous_index = operations.size () - 1 ;
217
-
218
- for (auto const & item : util::enumerate (operations))
219
- {
220
- auto const & index = item.index ;
221
- auto const & indexed = item.value ;
222
- auto & turn = turns[indexed.turn_index ];
223
- auto & op = turn.operations [indexed.operation_index ];
224
-
225
- std::size_t const next_index = (index + 1 ) % operations.size ();
226
- auto const & next_turn = turns[operations[next_index].turn_index ];
227
- auto const & next_op = next_turn.operations [operations[next_index].operation_index ];
228
-
229
- if (op.seg_id .segment_index == next_op.seg_id .segment_index )
230
- {
231
- auto const & prev_turn = turns[operations[previous_index].turn_index ];
232
- auto const & prev_op = prev_turn.operations [operations[previous_index].operation_index ];
233
- if (op.seg_id .segment_index == prev_op.seg_id .segment_index )
234
- {
235
- op.enriched .startable = false ;
236
- next_phase = true ;
237
- }
238
- }
239
- previous_index = index;
240
- }
241
-
242
- if (! next_phase)
243
- {
244
- return ;
245
- }
246
-
247
- // Discard turns which are both non-startable
248
- next_phase = false ;
249
- for (auto & turn : turns)
250
- {
251
- if (! turn.operations [0 ].enriched .startable
252
- && ! turn.operations [1 ].enriched .startable )
253
- {
254
- turn.discarded = true ;
255
- next_phase = true ;
256
- }
257
- }
258
-
259
- if (! next_phase)
260
- {
261
- return ;
262
- }
263
-
264
- // Remove discarded turns from operations to avoid having them as next turn
265
- discarded_indexed_turn<Turns> const predicate (turns);
266
- operations.erase (std::remove_if (std::begin (operations),
267
- std::end (operations), predicate), std::end (operations));
268
- }
269
205
270
206
struct enriched_map_default_include_policy
271
207
{
@@ -420,11 +356,6 @@ inline void enrich_turns(Turns& turns,
420
356
#ifdef BOOST_GEOMETRY_DEBUG_ENRICH
421
357
std::cout << " ENRICH-assign Ring " << pair.first << std::endl;
422
358
#endif
423
- if BOOST_GEOMETRY_CONSTEXPR (OverlayType == overlay_dissolve)
424
- {
425
- enrich_adapt (pair.second , turns);
426
- }
427
-
428
359
enrich_assign (pair.second , turns);
429
360
}
430
361
0 commit comments