Lines Matching defs:opp
81 SkTSpan* opp = this->spanAtT(t, &priorSpan);
82 if (!opp) {
83 opp = this->addFollowing(priorSpan);
85 SkDebugf("%s priorSpan=%d t=%1.9g opp=%d\n", __FUNCTION__, priorSpan ?
86 priorSpan->debugID() : -1, t, opp->debugID());
90 opp->dump(); SkDebugf("\n");
91 SkDebugf("%s addBounded span=%d opp=%d\n", __FUNCTION__, priorSpan ?
92 priorSpan->debugID() : -1, opp->debugID());
94 opp->addBounded(span, &fHeap);
95 span->addBounded(opp, &fHeap);
153 const SkTSpan* opp) const {
157 if (opp == test) {
170 int SkTSpan::hullCheck(const SkTSpan* opp,
176 if (onlyEndPointsInCommon(opp, start, oppStart, &ptsInCommon)) {
181 if (fPart->hullIntersects(*opp->fPart, &linear)) {
198 int SkTSpan::hullsIntersect(SkTSpan* opp,
200 if (!fBounds.intersects(opp->fBounds)) {
203 int hullSect = this->hullCheck(opp, start, oppStart);
207 hullSect = opp->hullCheck(this, oppStart, start);
281 double opp = (*fPart)[end].fY - origY;
282 double maxPart = std::max(fabs(adj), fabs(opp));
288 double test = (q2[n].fY - origY) * adj - (q2[n].fX - origX) * opp;
306 bool SkTSpan::onlyEndPointsInCommon(const SkTSpan* opp,
308 if (opp->pointFirst() == this->pointFirst()) {
310 } else if (opp->pointFirst() == this->pointLast()) {
313 } else if (opp->pointLast() == this->pointFirst()) {
316 } else if (opp->pointLast() == this->pointLast()) {
324 // const SkDPoint* otherPts[this->pointCount() - 1], * oppOtherPts[opp->pointCount() - 1];
327 opp->fPart->otherPts(*oppStart ? 0 : opp->fPart->pointLast(), oppOtherPts);
331 for (int o2 = 0; o2 < opp->pointCount() - 1; ++o2) {
357 SkTSpan* opp = bounded->fBounded;
358 deleteSpan |= opp->removeBounded(this);
364 bool SkTSpan::removeBounded(const SkTSpan* opp) {
371 if (opp != test) {
387 if (opp == bounded->fBounded) {
558 const SkTCurve& opp = sect2->fCurve;
574 work.fCoinStart.setPerp(fCurve, work.fStartT, last, opp);
603 if (oppPt.approximatelyEqual(opp[0])) {
735 const SkTCurve& opp = sect2->fCurve;
743 work->fCoinStart.setPerp(fCurve, work->fStartT, work->pointFirst(), opp);
753 work->fCoinEnd.setPerp(fCurve, work->fEndT, work->pointLast(), opp);
984 SkTSect* opp,
1020 int sects = this->linesIntersect(span, opp, oppSpan, &i);
1029 opp->removedEndCheck(oppSpan);
1040 static bool is_parallel(const SkDLine& thisLine, const SkTCurve& opp) {
1041 if (!opp.IsConic()) {
1050 perpRayI.intersectRay(opp, thisPerp);
1057 perpRayI.intersectRay(opp, thisPerp);
1069 SkTSect* opp,
1077 if (!thisRayI.intersectRay(opp->fCurve, thisLine)) {
1091 if (ptMatches == 2 || is_parallel(thisLine, opp->fCurve)) {
1146 if (!thisRayI.intersectRay(opp->fCurve, thisLine)) {
1150 oppLine[0] = opp->fCurve.ptAtT(start);
1151 oppLine[1] = oppLine[0] + opp->fCurve.dxdyAtT(start);
1158 oCoinS.setPerp(opp->fCurve, oppSpan->fStartT, oppSpan->pointFirst(), fCurve);
1159 oCoinE.setPerp(opp->fCurve, oppSpan->fEndT, oppSpan->pointLast(), fCurve);
1175 coinS.setPerp(fCurve, span->fStartT, span->pointFirst(), opp->fCurve);
1184 coinE.setPerp(fCurve, span->fEndT, span->pointLast(), opp->fCurve);
1205 coinW.setPerp(fCurve, workT, workPt, opp->fCurve);
1219 if (!opp->fHead->contains(oppTTest)) {
1343 SkTSpan* span, SkTSect* opp) {
1348 // may have been deleted when opp did 'remove all but'
1352 opp->removeSpan(bounded);
1362 bool SkTSect::removeByPerpendicular(SkTSect* opp) {
1379 if (!this->removeSpans(test, opp)) {
1439 SkTSect* opp) {
1448 opp->removeSpan(spanBounded);
1450 if (span->fDeleted && opp->hasBounded(span)) {
1489 SkTSect* opp) {
1495 int oppSects, sects = this->intersects(span, opp, test, &oppSects);
1498 test->initBounds(opp->fCurve);
1499 opp->removeAllBut(span, test, this);
1503 this->removeAllBut(test, span, opp);
1511 opp->removeSpan(test);