Lines Matching refs:opp
80 SkTSpan* opp = this->spanAtT(t, &priorSpan); in addForPerp() local
81 if (!opp) { in addForPerp()
82 opp = this->addFollowing(priorSpan); in addForPerp()
85 priorSpan->debugID() : -1, t, opp->debugID()); in addForPerp()
89 opp->dump(); SkDebugf("\n"); in addForPerp()
91 priorSpan->debugID() : -1, opp->debugID()); in addForPerp()
93 opp->addBounded(span, &fHeap); in addForPerp()
94 span->addBounded(opp, &fHeap); in addForPerp()
152 const SkTSpan* opp) const { in findOppSpan()
156 if (opp == test) { in findOppSpan()
169 int SkTSpan::hullCheck(const SkTSpan* opp, in hullCheck() argument
175 if (onlyEndPointsInCommon(opp, start, oppStart, &ptsInCommon)) { in hullCheck()
180 if (fPart->hullIntersects(*opp->fPart, &linear)) { in hullCheck()
197 int SkTSpan::hullsIntersect(SkTSpan* opp, in hullsIntersect() argument
199 if (!fBounds.intersects(opp->fBounds)) { in hullsIntersect()
202 int hullSect = this->hullCheck(opp, start, oppStart); in hullsIntersect()
206 hullSect = opp->hullCheck(this, oppStart, start); in hullsIntersect()
280 double opp = (*fPart)[end].fY - origY; in linearIntersects() local
281 double maxPart = SkTMax(fabs(adj), fabs(opp)); in linearIntersects()
287 double test = (q2[n].fY - origY) * adj - (q2[n].fX - origX) * opp; in linearIntersects()
305 bool SkTSpan::onlyEndPointsInCommon(const SkTSpan* opp, in onlyEndPointsInCommon() argument
307 if (opp->pointFirst() == this->pointFirst()) { in onlyEndPointsInCommon()
309 } else if (opp->pointFirst() == this->pointLast()) { in onlyEndPointsInCommon()
312 } else if (opp->pointLast() == this->pointFirst()) { in onlyEndPointsInCommon()
315 } else if (opp->pointLast() == this->pointLast()) { in onlyEndPointsInCommon()
326 opp->fPart->otherPts(*oppStart ? 0 : opp->fPart->pointLast(), oppOtherPts); in onlyEndPointsInCommon()
330 for (int o2 = 0; o2 < opp->pointCount() - 1; ++o2) { in onlyEndPointsInCommon()
356 SkTSpan* opp = bounded->fBounded; in removeAllBounded() local
357 deleteSpan |= opp->removeBounded(this); in removeAllBounded()
363 bool SkTSpan::removeBounded(const SkTSpan* opp) { in removeBounded() argument
370 if (opp != test) { in removeBounded()
386 if (opp == bounded->fBounded) { in removeBounded()
557 const SkTCurve& opp = sect2->fCurve; in binarySearchCoin() local
573 work.fCoinStart.setPerp(fCurve, work.fStartT, last, opp); in binarySearchCoin()
602 if (oppPt.approximatelyEqual(opp[0])) { in binarySearchCoin()
734 const SkTCurve& opp = sect2->fCurve; in computePerpendiculars() local
742 work->fCoinStart.setPerp(fCurve, work->fStartT, work->pointFirst(), opp); in computePerpendiculars()
752 work->fCoinEnd.setPerp(fCurve, work->fEndT, work->pointLast(), opp); in computePerpendiculars()
983 SkTSect* opp, in intersects() argument
1019 int sects = this->linesIntersect(span, opp, oppSpan, &i); in intersects()
1028 opp->removedEndCheck(oppSpan); in intersects()
1039 static bool is_parallel(const SkDLine& thisLine, const SkTCurve& opp) { in is_parallel() argument
1040 if (!opp.IsConic()) { in is_parallel()
1049 perpRayI.intersectRay(opp, thisPerp); in is_parallel()
1056 perpRayI.intersectRay(opp, thisPerp); in is_parallel()
1068 SkTSect* opp, in linesIntersect() argument
1076 if (!thisRayI.intersectRay(opp->fCurve, thisLine)) { in linesIntersect()
1090 if (ptMatches == 2 || is_parallel(thisLine, opp->fCurve)) { in linesIntersect()
1145 if (!thisRayI.intersectRay(opp->fCurve, thisLine)) { in linesIntersect()
1149 oppLine[0] = opp->fCurve.ptAtT(start); in linesIntersect()
1150 oppLine[1] = oppLine[0] + opp->fCurve.dxdyAtT(start); in linesIntersect()
1157 oCoinS.setPerp(opp->fCurve, oppSpan->fStartT, oppSpan->pointFirst(), fCurve); in linesIntersect()
1158 oCoinE.setPerp(opp->fCurve, oppSpan->fEndT, oppSpan->pointLast(), fCurve); in linesIntersect()
1174 coinS.setPerp(fCurve, span->fStartT, span->pointFirst(), opp->fCurve); in linesIntersect()
1183 coinE.setPerp(fCurve, span->fEndT, span->pointLast(), opp->fCurve); in linesIntersect()
1204 coinW.setPerp(fCurve, workT, workPt, opp->fCurve); in linesIntersect()
1218 if (!opp->fHead->contains(oppTTest)) { in linesIntersect()
1342 SkTSpan* span, SkTSect* opp) { in removeAllBut() argument
1351 opp->removeSpan(bounded); in removeAllBut()
1361 bool SkTSect::removeByPerpendicular(SkTSect* opp) { in removeByPerpendicular() argument
1378 if (!this->removeSpans(test, opp)) { in removeByPerpendicular()
1438 SkTSect* opp) { in removeSpans() argument
1447 opp->removeSpan(spanBounded); in removeSpans()
1449 if (span->fDeleted && opp->hasBounded(span)) { in removeSpans()
1488 SkTSect* opp) { in trim() argument
1494 int oppSects, sects = this->intersects(span, opp, test, &oppSects); in trim()
1497 test->initBounds(opp->fCurve); in trim()
1498 opp->removeAllBut(span, test, this); in trim()
1502 this->removeAllBut(test, span, opp); in trim()
1510 opp->removeSpan(test); in trim()