Home | History | Annotate | Download | only in pathops

Lines Matching refs:c2

80     SkDCubic c2 = cubic2.subDivide(t2s, t2e);
82 // OPTIMIZE: if c1 == c2, call once (happens when detecting self-intersection)
85 c2.toQuadraticTs(c2.calcPrecision() * precisionScale, &ts2);
366 static bool only_end_pts_in_common(const SkDCubic& c1, const SkDCubic& c2) {
391 double test = (c2[n].fY - origY) * adj - (c2[n].fX - origX) * opp;
404 int SkIntersections::intersect(const SkDCubic& c1, const SkDCubic& c2) {
405 bool selfIntersect = &c1 == &c2;
413 if (c1[i1].approximatelyEqualHalf(c2[i2])) {
421 if (only_end_pts_in_common(c1, c2)) {
424 if (only_end_pts_in_common(c2, c1)) {
433 c2Bounds.setBounds(c2);
434 intersectEnd(c1, false, c2, c2Bounds, selfIntersect, *this);
435 intersectEnd(c1, true, c2, c2Bounds, selfIntersect, *this);
442 intersectEnd(c2, false, c1, c1Bounds, false, *this);
443 intersectEnd(c2, true, c1, c1Bounds, false, *this);
456 SkDPoint testPt2 = c2.ptAtT(testT2);
471 ::intersect(c1, 0, 1, c2, 0, 1, 1, *this);
479 if (closeStart(c1, 0, *this, pt[0]) && closeStart(c2, 1, *this, pt[1])
483 if (closeEnd(c1, 0, *this, pt[0]) && closeEnd(c2, 1, *this, pt[1])
496 pt[1] = c2.ptAtT(mid2);