Lines Matching refs:cubicT
156 double cubicT = rootVals[index]; in intersect() local
157 double lineT = findLineT(cubicT); in intersect()
159 if (pinTs(&cubicT, &lineT, &pt, kPointUninitialized) && uniqueAnswer(cubicT, pt)) { in intersect()
160 fIntersections->insert(cubicT, lineT, pt); in intersect()
192 double cubicT = roots[index]; in horizontalIntersect() local
193 SkDPoint pt = { fCubic.ptAtT(cubicT).fX, axisIntercept }; in horizontalIntersect()
195 if (pinTs(&cubicT, &lineT, &pt, kPointInitialized) && uniqueAnswer(cubicT, pt)) { in horizontalIntersect()
196 fIntersections->insert(cubicT, lineT, pt); in horizontalIntersect()
206 bool uniqueAnswer(double cubicT, const SkDPoint& pt) { in uniqueAnswer() argument
212 if (cubicT == existingCubicT) { in uniqueAnswer()
216 double cubicMidT = (existingCubicT + cubicT) / 2; in uniqueAnswer()
223 SkDPoint cPt = fCubic.ptAtT(cubicT); in uniqueAnswer()
255 double cubicT = roots[index]; in verticalIntersect() local
256 SkDPoint pt = { axisIntercept, fCubic.ptAtT(cubicT).fY }; in verticalIntersect()
258 if (pinTs(&cubicT, &lineT, &pt, kPointInitialized) && uniqueAnswer(cubicT, pt)) { in verticalIntersect()
259 fIntersections->insert(cubicT, lineT, pt); in verticalIntersect()
277 double cubicT = (double) (cIndex >> 1); in addExactEndPoints() local
278 fIntersections->insert(cubicT, lineT, fCubic[cIndex]); in addExactEndPoints()
286 double cubicT = (double) (cIndex >> 1); in addNearEndPoints() local
287 if (fIntersections->hasT(cubicT)) { in addNearEndPoints()
294 fIntersections->insert(cubicT, lineT, fCubic[cIndex]); in addNearEndPoints()
305 double cubicT = ((SkDCurve*) &fCubic)->nearPoint(SkPath::kCubic_Verb, in addLineNearEndPoints() local
307 if (cubicT < 0) { in addLineNearEndPoints()
310 fIntersections->insert(cubicT, lineT, fLine[lIndex]); in addLineNearEndPoints()
320 double cubicT = (double) (cIndex >> 1); in addExactHorizontalEndPoints() local
321 fIntersections->insert(cubicT, lineT, fCubic[cIndex]); in addExactHorizontalEndPoints()
327 double cubicT = (double) (cIndex >> 1); in addNearHorizontalEndPoints() local
328 if (fIntersections->hasT(cubicT)) { in addNearHorizontalEndPoints()
335 fIntersections->insert(cubicT, lineT, fCubic[cIndex]); in addNearHorizontalEndPoints()
346 double cubicT = (double) (cIndex >> 1); in addExactVerticalEndPoints() local
347 fIntersections->insert(cubicT, lineT, fCubic[cIndex]); in addExactVerticalEndPoints()
353 double cubicT = (double) (cIndex >> 1); in addNearVerticalEndPoints() local
354 if (fIntersections->hasT(cubicT)) { in addNearVerticalEndPoints()
361 fIntersections->insert(cubicT, lineT, fCubic[cIndex]); in addNearVerticalEndPoints()
376 bool pinTs(double* cubicT, double* lineT, SkDPoint* pt, PinTPoint ptSet) { in pinTs() argument
383 double cT = *cubicT = SkPinT(*cubicT); in pinTs()
403 if (gridPt == fCubic[0].asSkPoint() && approximately_equal(*cubicT, 0)) { in pinTs()
404 *cubicT = 0; in pinTs()
405 } else if (gridPt == fCubic[3].asSkPoint() && approximately_equal(*cubicT, 1)) { in pinTs()
406 *cubicT = 1; in pinTs()