• Home
  • Raw
  • Download

Lines Matching refs:rh

63     const SkOpAngle& rh = *lh.fNext;  in after()  local
64 SkASSERT(&lh != &rh); in after()
74 rh.fSegment->debugID(), rh.debugID(), rh.fSectorStart, rh.fSectorEnd, in after()
75 rh.fSegment->t(rh.fStart), rh.fSegment->t(rh.fEnd)); in after()
83 if (rh.fComputeSector && !const_cast<SkOpAngle&>(rh).computeSector()) { in after()
94 rh.fSegment->debugID(), rh.debugID(), rh.fSectorStart, rh.fSectorEnd, in after()
95 rh.fSegment->t(rh.fStart), rh.fSegment->t(rh.fEnd)); in after()
97 bool ltrOverlap = (lh.fSectorMask | rh.fSectorMask) & fSectorMask; in after()
98 bool lrOverlap = lh.fSectorMask & rh.fSectorMask; in after()
102 return COMPARE_RESULT(4, (lh.fSectorEnd > rh.fSectorStart) in after()
103 ^ (fSectorStart > lh.fSectorEnd) ^ (fSectorStart > rh.fSectorStart)); in after()
105 int lrGap = (rh.fSectorStart - lh.fSectorStart + 32) & 0x1f; in after()
118 lrOrder = (int) lh.orderable(rh); in after()
124 SkASSERT((lh.fSectorMask & fSectorMask) || (rh.fSectorMask & fSectorMask)); in after()
132 if (rh.fSectorMask & fSectorMask) { in after()
133 trOrder = (int) orderable(rh); in after()
135 int trGap = (rh.fSectorStart - fSectorStart + 32) & 0x1f; in after()
148 SkDEBUGCODE(bool lrOpposite = lh.oppositePlanes(rh)); in after()
155 bool trOpposite = oppositePlanes(rh); in after()
160 SkDEBUGCODE(bool trOpposite = oppositePlanes(rh)); in after()
161 bool lrOpposite = lh.oppositePlanes(rh); in after()
254 bool SkOpAngle::checkParallel(const SkOpAngle& rh) const { in checkParallel()
263 if (!rh.fUnorderedSweep) { in checkParallel()
264 tweep = rh.fSweep; in checkParallel()
266 scratch[1] = rh.fCurvePart[1] - rh.fCurvePart[0]; in checkParallel()
270 if (tangentsDiverge(rh, s0xt0)) { in checkParallel()
274 SkDVector m1 = rh.fSegment->dPtAtT(rh.midT()) - rh.fCurvePart[0]; in checkParallel()
278 rh.fUnorderable = true; in checkParallel()
333 int SkOpAngle::convexHullOverlaps(const SkOpAngle& rh) const { in convexHullOverlaps()
335 const SkDVector* tweep = rh.fSweep; in convexHullOverlaps()
366 SkDVector m1 = rh.fSegment->dPtAtT(rh.midT()) - rh.fCurvePart[0]; in convexHullOverlaps()
374 if (tangentsDiverge(rh, s0xt0)) { in convexHullOverlaps()
400 bool SkOpAngle::endsIntersect(const SkOpAngle& rh) const { in endsIntersect()
402 SkPath::Verb rVerb = rh.fSegment->verb(); in endsIntersect()
405 SkDLine rays[] = {{{fCurvePart[0], rh.fCurvePart[rPts]}}, in endsIntersect()
408 return checkParallel(rh); in endsIntersect()
413 const SkOpSegment& segment = index ? *rh.fSegment : *fSegment; in endsIntersect()
420 double tStart = segment.t(index ? rh.fStart : fStart); in endsIntersect()
421 double tEnd = segment.t(index ? rh.fComputedEnd : fComputedEnd); in endsIntersect()
422 bool testAscends = index ? rh.fStart < rh.fComputedEnd : fStart < fComputedEnd; in endsIntersect()
443 endPt.set(rh.fSegment->pts()[rh.fStart < rh.fEnd ? rPts : 0]); in endsIntersect()
468 const SkOpSegment& segment = index ? *rh.fSegment : *fSegment; in endsIntersect()
499 const SkDCubic& curve = index ? rh.fCurvePart : fCurvePart; in endsIntersect()
517 const SkDCubic& curve = sIndex ? rh.fCurvePart : fCurvePart; in endsIntersect()
518 const SkOpSegment& segment = sIndex ? *rh.fSegment : *fSegment; in endsIntersect()
519 double tStart = segment.t(sIndex ? rh.fStart : fStart); in endsIntersect()
523 return checkParallel(rh); in endsIntersect()
527 return checkParallel(rh); in endsIntersect()
803 bool SkOpAngle::oppositePlanes(const SkOpAngle& rh) const { in oppositePlanes()
804 int startSpan = abs(rh.fSectorStart - fSectorStart); in oppositePlanes()
808 bool SkOpAngle::orderable(const SkOpAngle& rh) const { in orderable()
811 if (!rh.fIsCurve) { in orderable()
814 double rightX = rh.fTangentHalf.dx(); in orderable()
815 double rightY = rh.fTangentHalf.dy(); in orderable()
827 if ((result = allOnOneSide(rh)) >= 0) { in orderable()
830 if (fUnorderable || approximately_zero(rh.fSide)) { in orderable()
833 } else if (!rh.fIsCurve) { in orderable()
834 if ((result = rh.allOnOneSide(*this)) >= 0) { in orderable()
837 if (rh.fUnorderable || approximately_zero(fSide)) { in orderable()
841 if ((result = convexHullOverlaps(rh)) >= 0) { in orderable()
844 return endsIntersect(rh); in orderable()
847 rh.fUnorderable = true; in orderable()
1070 bool SkOpAngle::tangentsDiverge(const SkOpAngle& rh, double s0xt0) const { in tangentsDiverge() argument
1084 const SkDVector* tweep = rh.fSweep; in tangentsDiverge()
1094 double mFactor = fabs(useS ? distEndRatio(sDist) : rh.distEndRatio(tDist)); in tangentsDiverge()