Lines Matching refs:crossing_points
41 * "crossing_points" parameter.
45 bool CLIPPER_CLASS::intersect (std::vector<Point> & crossing_points) const
47 crossing_points.clear();
172 DBGPRINT ("CLIP: intersect: crossing_points.size (with duplicates) = ",
192 crossing_points.push_back (cpts[pos->second]);
195 DBGPRINT ("CLIP: intersect: crossing_points.size = ", crossing_points.size())
196 DBGPRINTCOLL ("CLIP: intersect: crossing_points:", crossing_points)
306 * Pair the points contained in the "crossing_points" vector; the paired points
316 const std::vector<Point> & crossing_points)
319 paired_points.reserve (crossing_points.size());
322 inner_points.reserve (crossing_points.size() / 2);
327 std::vector<bool> paired (crossing_points.size(), false);
336 for (size_t i = 0; i < crossing_points.size(); ++i)
339 size_t j = (i == 0) ? (crossing_points.size() - 1) : (i-1);
340 if (are_paired (M, crossing_points[j], crossing_points[i]))
344 draw_line_seg (cr, crossing_points[j], crossing_points[i]);
345 draw_handle (cr, crossing_points[j]);
346 draw_handle (cr, crossing_points[i]);
351 paired_points.push_back (crossing_points[j]);
352 paired_points.push_back (crossing_points[i]);
362 single_points.push_back (crossing_points[i]);
378 std::vector<Point> crossing_points;
425 bool no_crossing = intersect (crossing_points);
429 if (crossing_points.size() == 1)
433 if (crossing_points[0] == R.corner(i))
444 || (crossing_points.size() == 1 && single_points.empty()))
471 else if (crossing_points.size() == 1)
475 single_points.push_back (crossing_points[0]);
483 if (crossing_points.empty()) return false;
486 pairing (paired_points, inner_points, crossing_points);