Home | History | Annotate | Download | only in pathops

Lines Matching refs:rh

71 bool SkOpAngle::operator<(const SkOpAngle& rh) const {  // this/lh: left-hand; rh: right-hand
73 double ry = rh.dy();
79 rh.fID, rh.fSegment->debugID(), rh.fSegment->t(rh.fStart), rh.fSegment->t(rh.fEnd));
87 double rx = rh.dx();
110 if (fSegment->other(fEnd) != rh.fSegment // tangents not absolutely identical
111 && rh.fSegment->other(rh.fEnd) != fSegment
115 SkOpAngle rhLonger = rh;
116 if ((longer.lengthen(rh) | rhLonger.lengthen(*this)) // lengthen both
118 && (rh.fUnorderable || !rhLonger.fUnorderable)) {
122 return COMPARE_RESULT("10 longer.lengthen(rh) ...", longer < rhLonger);
126 SkPath::Verb rVerb = rh.fSegment->verb();
132 if (!fComputed && !rh.fComputed) {
134 return COMPARE_RESULT("7 !fComputed && !rh.fComputed", x_ry < rx_y);
136 if (fSide2 == 0 && rh.fSide2 == 0) {
137 return COMPARE_RESULT("7a !fComputed && !rh.fComputed", x_ry < rx_y);
144 && (!rh.fComputed || rh.calcSlop(rx, ry, x, y, &sloppy2))
150 if (fSide2 * rh.fSide2 == 0) { // one is zero
152 if (fSide2 == rh.fSide2 && y_ry) { // both is zero; coincidence was undetected
156 return COMPARE_RESULT("9a fSide2 * rh.fSide2 == 0 ...", fSide2 < rh.fSide2);
160 if (fSide * rh.fSide < 0 && (!approximately_zero(fSide) || !approximately_zero(rh.fSide))) {
161 return COMPARE_RESULT("9b fSide * rh.fSide < 0 ...", fSide < rh.fSide);
163 if (fUnsortable || rh.fUnsortable) {
165 return COMPARE_RESULT("11 fUnsortable || rh.fUnsortable", this < &rh);
173 return COMPARE_RESULT("12 verb == SkPath::kLine_Verb ...", this < &rh);
175 if (fSegment->isTiny(this) || rh.fSegment->isTiny(&rh)) {
177 return COMPARE_RESULT("13 verb == fSegment->isTiny(this) ...", this < &rh);
186 double rlen = rh.fTangentPart.normalSquared();
195 const SkDCubic& part = useThis ? fCurvePart : rh.fCurvePart;
202 rroots = (ri.*CurveRay[SkPathOpsVerbToPoints(rVerb)])(rh.fSegment->pts(), ray);
209 return COMPARE_RESULT("roots == 0 || rroots == 0", this < &rh);
211 SkASSERT(fSide != 0 && rh.fSide != 0);
212 if (fSide * rh.fSide < 0) {
214 return COMPARE_RESULT("14 fSide * rh.fSide < 0", this < &rh);
219 SkDebugf("lh=%d rh=%d use-lh=%d ray={{%1.9g,%1.9g}, {%1.9g,%1.9g}} %c\n",
220 fSegment->debugID(), rh.fSegment->debugID(), useThis, ray[0].fX, ray[0].fY,