Lines Matching refs:endT

427 static void LineSubDivide(const SkPoint a[2], double startT, double endT,
431 sub_divide(aLine, startT, endT, dst);
438 static void QuadSubDivide(const SkPoint a[3], double startT, double endT,
442 sub_divide(aQuad, startT, endT, dst);
451 static void CubicSubDivide(const SkPoint a[4], double startT, double endT,
455 sub_divide(aCubic, startT, endT, dst);
474 static void LineSubDivideHD(const SkPoint a[2], double startT, double endT, _Line& dst) {
476 sub_divide(aLine, startT, endT, dst);
479 static void QuadSubDivideHD(const SkPoint a[3], double startT, double endT, Quadratic& dst) {
481 sub_divide(aQuad, startT, endT, dst);
484 static void CubicSubDivideHD(const SkPoint a[4], double startT, double endT, Cubic& dst) {
486 sub_divide(aCubic, startT, endT, dst);
489 static SkPoint QuadTop(const SkPoint a[3], double startT, double endT) {
491 _Point topPt = top(quad, startT, endT);
495 static SkPoint CubicTop(const SkPoint a[3], double startT, double endT) {
497 _Point topPt = top(cubic, startT, endT);
509 static void QuadSubBounds(const SkPoint a[3], double startT, double endT,
512 QuadSubDivide(a, startT, endT, dst);
520 static void CubicSubBounds(const SkPoint a[4], double startT, double endT,
523 CubicSubDivide(a, startT, endT, dst);
572 static SkScalar LineLeftMost(const SkPoint a[2], double startT, double endT) {
576 xy_at_t(aLine, endT, x[1], *(double*) 0);
580 static SkScalar QuadLeftMost(const SkPoint a[3], double startT, double endT) {
582 return (float) leftMostT(aQuad, startT, endT);
585 static SkScalar CubicLeftMost(const SkPoint a[4], double startT, double endT) {
587 return (float) leftMostT(aCubic, startT, endT);
625 static bool LineVertical(const SkPoint a[2], double startT, double endT) {
629 xy_at_t(aLine, endT, x[1], *(double*) 0);
633 static bool QuadVertical(const SkPoint a[3], double startT, double endT) {
635 QuadSubDivide(a, startT, endT, dst);
639 static bool CubicVertical(const SkPoint a[4], double startT, double endT) {
641 CubicSubDivide(a, startT, endT, dst);
870 double endT = (*fSpans)[fEnd].fT;
874 LineSubDivideHD(fPts, startT, endT, l);
881 QuadSubDivideHD(fPts, startT, endT, quad);
890 CubicSubDivideHD(fPts, startT, endT, fCurvePart);
942 (*SegmentXYAtT[fVerb])(fPts, endT, &ePt);
1837 void addTCancel(double startT, double endT, Segment& other,
1839 SkASSERT(!approximately_negative(endT - startT));
1849 double tRatio = (oEndT - oStartT) / (endT - startT);
1889 } while (!approximately_negative(endT - test->fT));
1906 other.addCancelOutsides(tStart, oStart, *this, endT);
1981 void addTCoincident(double startT, double endT, Segment& other, double oStartT, double oEndT) {
1982 SkASSERT(!approximately_negative(endT - startT));
2009 } while (!approximately_negative(endT - test->fT));
2016 other.addCoinOutsides(oOutsideTs, *this, endT);
4662 double endT = coincidence.fTs[0][1];
4664 if (startT > endT) {
4665 SkTSwap<double>(startT, endT);
4668 SkASSERT(!approximately_negative(endT - startT));
4678 // make sure startT and endT have t entries
4683 if (oStartT > 0 || endT < 1
4684 || thisOne.isMissing(endT) || other.isMissing(oStartT)) {
4685 other.addTPair(oStartT, thisOne, endT, true, coincidence.fPts[1]);
4688 thisOne.addTCancel(startT, endT, other, oStartT, oEndT);
4695 if (endT < 1 || oEndT < 1
4696 || thisOne.isMissing(endT) || other.isMissing(oEndT)) {
4697 other.addTPair(oEndT, thisOne, endT, true, coincidence.fPts[1]);
4700 thisOne.addTCoincident(startT, endT, other, oStartT, oEndT);
4734 double endT = coincidence.fTs[0][1];
4736 if ((cancelers = startT > endT)) {
4737 SkTSwap(startT, endT);
4740 SkASSERT(!approximately_negative(endT - startT));
4750 // make sure startT and endT have t entries
4755 if (oStartT > 0 || endT < 1
4756 || thisOne.isMissing(endT) || other.isMissing(oStartT)) {
4757 other.addTPair(oStartT, thisOne, endT, true, coincidence.fPts[1]);
4764 if (endT < 1 || oEndT < 1
4765 || thisOne.isMissing(endT) || other.isMissing(oEndT)) {
4766 other.addTPair(oEndT, thisOne, endT, true, coincidence.fPts[1]);
4793 double endT = coincidence.fTs[0][1];
4795 if ((cancelers = startT > endT)) {
4796 SkTSwap<double>(startT, endT);
4798 SkASSERT(!approximately_negative(endT - startT));
4808 // make sure startT and endT have t entries
4810 thisOne.addTCancel(startT, endT, other, oStartT, oEndT);
4814 thisOne.addTCoincident(startT, endT, other, oStartT, oEndT);
5863 double endT = current->t(endIndex);
5864 double newMid = (testHit - baseT) / (endT - baseT);
5875 baseT + mid * (endT - baseT), midXY.fX, midXY.fY,
5876 baseT + newMid * (endT - baseT), newXY.fX, newXY.fY,
5877 endT, current->xAtT(endIndex), current->yAtT(endIndex));
5906 double endT = current->t(endIndex);
5907 bestHit = baseT + mid * (endT - baseT);