Ejemplo n.º 1
0
// This depends on the logic in join_fragments to update the offset array when we complete a fragment
static void add_fragment(Nested<CircleArc, false>& result, const RawArray<CircleArc>& fragment, bool reversed) {
  const int fragment_start = result.flat.size();
  result.flat.extend(fragment); // Add the points inside this fragment
  if(reversed) reverse_arcs(result.flat.slice(fragment_start, result.flat.size()));
  // This just inserts straight lines between unconnected points; other options like smoothing could be done if needed
  result.flat.back().q = 0;
}
Ejemplo n.º 2
0
void reverse_arcs(Nested<CircleArc> polyarcs) {
 for(auto poly : polyarcs) reverse_arcs(poly);
}