/external/skia/src/pathops/ |
D | SkPathOpsPoint.h | 14 return AlmostEqualUlps(pt1.fX, pt2.fX) && AlmostEqualUlps(pt1.fY, pt2.fY); in AlmostEqualUlps() 19 double fY; member 23 fY = pt.fY; in set() 29 fY += v.fY; 35 fY -= v.fY; 41 fY /= s; 47 fY *= s; 51 SkVector v = {SkDoubleToScalar(fX), SkDoubleToScalar(fY)}; in asSkVector() 57 return fX * a.fY - fY * a.fX; in cross() 62 double xy = fX * a.fY; in crossCheck() [all …]
|
D | SkPathOpsLine.cpp | 45 SkDPoint result = { one_t * fPts[0].fX + t * fPts[1].fX, one_t * fPts[0].fY + t * fPts[1].fY }; in ptAtT() 61 || !AlmostBetweenUlps(fPts[0].fY, xy.fY, fPts[1].fY)) { in nearPoint() 66 double denom = len.fX * len.fX + len.fY * len.fY; // see DLine intersectRay in nearPoint() 68 double numer = len.fX * ab0.fX + ab0.fY * len.fY; in nearPoint() 76 double tiniest = SkTMin(SkTMin(SkTMin(fPts[0].fX, fPts[0].fY), fPts[1].fX), fPts[1].fY); in nearPoint() 77 double largest = SkTMax(SkTMax(SkTMax(fPts[0].fX, fPts[0].fY), fPts[1].fX), fPts[1].fY); in nearPoint() 93 double denom = len.fX * len.fX + len.fY * len.fY; // see DLine intersectRay in nearRay() 95 double numer = len.fX * ab0.fX + ab0.fY * len.fY; in nearRay() 100 double tiniest = SkTMin(SkTMin(SkTMin(fPts[0].fX, fPts[0].fY), fPts[1].fX), fPts[1].fY); in nearRay() 101 double largest = SkTMax(SkTMax(SkTMax(fPts[0].fX, fPts[0].fY), fPts[1].fX), fPts[1].fY); in nearRay() [all …]
|
D | SkOpCubicHull.cpp | 10 double dy = cubic[index].fY - cubic[zero].fY; in rotate() 18 rotPath[index].fY = cubic[zero].fY; in rotate() 22 if (approximately_equal(cubic[side1].fY, cubic[zero].fY)) { in rotate() 23 rotPath[side1].fY = cubic[zero].fY; in rotate() 25 if (approximately_equal(cubic[side2].fY, cubic[zero].fY)) { in rotate() 26 rotPath[side2].fY = cubic[zero].fY; in rotate() 32 rotPath[index].fX = cubic[index].fX * dx + cubic[index].fY * dy; in rotate() 33 rotPath[index].fY = cubic[index].fY * dx - cubic[index].fX * dy; in rotate() 60 if (fPts[yMin].fY > fPts[index].fY || (fPts[yMin].fY == fPts[index].fY in convexHull() 85 int sides = side(rotPath[side1].fY - rotPath[yMin].fY); in convexHull() [all …]
|
D | SkLineParameters.h | 55 if (NotAlmostEqualUlps(pts[0].fY, pts[++endIndex].fY)) { in cubicEndPoints() 56 if (pts[0].fY > pts[endIndex].fY) { in cubicEndPoints() 65 if (pts[0].fY > pts[3].fY) { in cubicEndPoints() 72 fA = pts[s].fY - pts[e].fY; in cubicEndPoints() 74 fC = pts[s].fX * pts[e].fY - pts[e].fX * pts[s].fY; in cubicEndPoints() 86 fA = pts[0].fY - pts[1].fY; in lineEndPoints() 88 fC = pts[0].fX * pts[1].fY - pts[1].fX * pts[0].fY; in lineEndPoints() 104 if (pts[0].fY > pts[2].fY) { in quadEndPoints() 111 fA = pts[s].fY - pts[e].fY; in quadEndPoints() 113 fC = pts[s].fX * pts[e].fY - pts[e].fX * pts[s].fY; in quadEndPoints() [all …]
|
D | SkPathOpsCubic.cpp | 23 if (fPts[endIndex].fY == fPts[ctrlIndex].fY) { in align() 24 dstPt->fY = fPts[endIndex].fY; in align() 42 && approximately_equal_half(lessPt.fY, cubicAtT.fY)) { in binarySearch() 61 && approximately_equal_half(morePt.fY, cubicAtT.fY)) { in binarySearch() 111 dst.pts[1].fY = (fPts[0].fY + fPts[1].fY) / 2; in chopAt() 113 dst.pts[2].fY = (fPts[0].fY + 2 * fPts[1].fY + fPts[2].fY) / 4; in chopAt() 115 dst.pts[3].fY = (fPts[0].fY + 3 * (fPts[1].fY + fPts[2].fY) + fPts[3].fY) / 8; in chopAt() 117 dst.pts[4].fY = (fPts[1].fY + 2 * fPts[2].fY + fPts[3].fY) / 4; in chopAt() 119 dst.pts[5].fY = (fPts[2].fY + fPts[3].fY) / 2; in chopAt() 124 interp_cubic_coords(&fPts[0].fY, &dst.pts[0].fY, t); in chopAt() [all …]
|
D | SkPathOpsQuad.cpp | 27 double origY = endPt[0]->fY; in hullIntersects() 29 double opp = endPt[1]->fY - origY; in hullIntersects() 30 double sign = (fPts[oddMan].fY - origY) * adj - (fPts[oddMan].fX - origX) * opp; in hullIntersects() 37 double test = (q2[n].fY - origY) * adj - (q2[n].fX - origX) * opp; in hullIntersects() 150 double tiniest = SkTMin(SkTMin(SkTMin(SkTMin(SkTMin(fPts[0].fX, fPts[0].fY), in isLinear() 151 fPts[1].fX), fPts[1].fY), fPts[2].fX), fPts[2].fY); in isLinear() 152 double largest = SkTMax(SkTMax(SkTMax(SkTMax(SkTMax(fPts[0].fX, fPts[0].fY), in isLinear() 153 fPts[1].fX), fPts[1].fY), fPts[2].fX), fPts[2].fY); in isLinear() 163 a * fPts[0].fY + b * fPts[1].fY + c * fPts[2].fY }; in dxdyAtT() 180 a * fPts[0].fY + b * fPts[1].fY + c * fPts[2].fY }; in ptAtT() [all …]
|
D | SkPathWriter.cpp | 50 pt1.fX, pt1.fY, fDefer[1].fX, fDefer[1].fY, weight); in conicTo() 52 fPathPtr->conicTo(pt1.fX, pt1.fY, fDefer[1].fX, fDefer[1].fY, weight); in conicTo() 69 pt1.fX, pt1.fY, pt2.fX, pt2.fY, fDefer[1].fX, fDefer[1].fY); in cubicTo() 71 fPathPtr->cubicTo(pt1.fX, pt1.fY, pt2.fX, pt2.fY, fDefer[1].fX, fDefer[1].fY); in cubicTo() 122 SkDebugf("path.lineTo(%1.9g,%1.9g);\n", fDefer[1].fX, fDefer[1].fY); in lineTo() 124 fPathPtr->lineTo(fDefer[1].fX, fDefer[1].fY); in lineTo() 134 || !AlmostEqualUlps(fDefer[1].fY, fFirstPt.fY)) { in nudge() 152 pt1.fX, pt1.fY, fDefer[1].fX, fDefer[1].fY); in quadTo() 154 fPathPtr->quadTo(pt1.fX, pt1.fY, fDefer[1].fX, fDefer[1].fY); in quadTo() 167 SkScalar deferDy = fDefer[1].fY - fDefer[0].fY; in changedSlopes() [all …]
|
D | SkDLineIntersection.cpp | 44 double denom = bLen.fY * aLen.fX - aLen.fY * bLen.fX; in intersectRay() 46 double numerA = ab0.fY * bLen.fX - bLen.fY * ab0.fX; in intersectRay() 47 double numerB = ab0.fY * aLen.fX - aLen.fY * ab0.fX; in intersectRay() 61 if (!AlmostEqualUlps(aLen.fX * a[0].fY - aLen.fY * a[0].fX, in intersectRay() 62 aLen.fX * b[0].fY - aLen.fY * b[0].fX)) { in intersectRay() 93 double ayLen = a[1].fY - a[0].fY; in intersect() 95 double byLen = b[1].fY - b[0].fY; in intersect() 109 double ab0y = a[0].fY - b[0].fY; in intersect() 177 double min = line[0].fY; in horizontal_coincident() 178 double max = line[1].fY; in horizontal_coincident() [all …]
|
D | SkReduceOrder.cpp | 72 if (quad[minY].fY > quad[index].fY) { in reduce() 78 if (quad[maxY].fY < quad[index].fY) { in reduce() 86 if (AlmostEqualUlps(quad[index].fY, quad[minY].fY)) { in reduce() 141 double dy10 = cubic[1].fY - cubic[0].fY; in check_quadratic() 142 double dy23 = cubic[2].fY - cubic[3].fY; in check_quadratic() 143 double midY = cubic[0].fY + dy10 * 3 / 2; in check_quadratic() 144 double sideAy = midY - cubic[3].fY; in check_quadratic() 152 reduction[1].fY = midY; in check_quadratic() 212 if (cubic[minY].fY > cubic[index].fY) { in reduce() 218 if (cubic[maxY].fY < cubic[index].fY) { in reduce() [all …]
|
/external/skia/include/core/ |
D | SkPoint.h | 19 int16_t fX, fY; member 28 int16_t y() const { return fY; } in y() 32 fY = SkToS16(y); in set() 41 int32_t fX, fY; member 50 int32_t y() const { return fY; } in y() 52 void setY(int32_t y) { fY = y; } in setY() 57 bool isZero() const { return (fX | fY) == 0; } in isZero() 62 void setZero() { fX = fY = 0; } in setZero() 65 void set(int32_t x, int32_t y) { fX = x; fY = y; } in set() 89 void negate() { fX = -fX; fY = -fY; } in negate() [all …]
|
/external/skia/src/core/ |
D | SkEdgeClipper.cpp | 35 if (src[0].fY > src[count - 1].fY) { in sort_increasing_Y() 68 return chopMonoQuadAt(pts[0].fY, pts[1].fY, pts[2].fY, y, t); in chopMonoQuadAtY() 81 if (pts[0].fY < clip.fTop) { in chop_quad_in_Y() 86 tmp[2].fY = clip.fTop; in chop_quad_in_Y() 87 clamp_ge(tmp[3].fY, clip.fTop); in chop_quad_in_Y() 95 if (pts[i].fY < clip.fTop) { in chop_quad_in_Y() 96 pts[i].fY = clip.fTop; in chop_quad_in_Y() 103 if (pts[2].fY > clip.fBottom) { in chop_quad_in_Y() 107 clamp_le(tmp[1].fY, clip.fBottom); in chop_quad_in_Y() 108 tmp[2].fY = clip.fBottom; in chop_quad_in_Y() [all …]
|
D | SkStrokerPriv.cpp | 18 path->lineTo(stop.fX, stop.fY); in ButtCapper() 43 path->setLastPt(pivot.fX + normal.fX + parallel.fX, pivot.fY + normal.fY + parallel.fY); in SquareCapper() 44 path->lineTo(pivot.fX - normal.fX + parallel.fX, pivot.fY - normal.fY + parallel.fY); in SquareCapper() 48 path->lineTo(pivot.fX + normal.fX + parallel.fX, pivot.fY + normal.fY + parallel.fY); in SquareCapper() 49 path->lineTo(pivot.fX - normal.fX + parallel.fX, pivot.fY - normal.fY + parallel.fY); in SquareCapper() 50 path->lineTo(stop.fX, stop.fY); in SquareCapper() 58 return SkScalarMul(before.fX, after.fY) - SkScalarMul(before.fY, after.fX) > 0; in is_clockwise() 88 inner->lineTo(pivot.fX, pivot.fY); in HandleInnerJoin() 91 inner->lineTo(pivot.fX - after.fX, pivot.fY - after.fY); in HandleInnerJoin() 107 outer->lineTo(pivot.fX + after.fX, pivot.fY + after.fY); in BluntJoiner() [all …]
|
D | SkRRect.cpp | 158 if (fRadii[i].fX <= 0 || fRadii[i].fY <= 0) { in setRectRadii() 164 fRadii[i].fY = 0; in setRectRadii() 188 scale = compute_min_scale(fRadii[1].fY, fRadii[2].fY, rect.height(), scale); in setRectRadii() 190 scale = compute_min_scale(fRadii[3].fY, fRadii[0].fY, rect.height(), scale); in setRectRadii() 195 fRadii[i].fY *= scale; in setRectRadii() 208 fRadii[i].fY = clamp_radius_check_predicates(fRadii[i].fY, rect.fTop, rect.fBottom); in setRectRadii() 227 y < fRect.fTop + fRadii[kUpperLeft_Corner].fY) { in checkCornerContainment() 231 y - (fRect.fTop + fRadii[kUpperLeft_Corner].fY)); in checkCornerContainment() 232 SkASSERT(canonicalPt.fX < 0 && canonicalPt.fY < 0); in checkCornerContainment() 234 y > fRect.fBottom - fRadii[kLowerLeft_Corner].fY) { in checkCornerContainment() [all …]
|
D | SkLineClipper.cpp | 27 SkScalar dy = src[1].fY - src[0].fY; in sect_with_horizontal() 34 double Y0 = src[0].fY; in sect_with_horizontal() 36 double Y1 = src[1].fY; in sect_with_horizontal() 50 return SkScalarAve(src[0].fY, src[1].fY); in sect_with_vertical() 55 double Y0 = src[0].fY; in sect_with_vertical() 57 double Y1 = src[1].fY; in sect_with_vertical() 99 if (src[0].fY < src[1].fY) { in IntersectLine() 111 if (tmp[index0].fY < clip.fTop) { in IntersectLine() 114 if (tmp[index1].fY > clip.fBottom) { in IntersectLine() 190 if (pts[0].fY < pts[1].fY) { in ClipLine() [all …]
|
D | SkQuadClipper.cpp | 42 return chopMonoQuadAt(pts[0].fY, pts[1].fY, pts[2].fY, y, t); in chopMonoQuadAtY() 55 if (srcPts[0].fY > srcPts[2].fY) { in clipQuad() 68 if (dst[2].fY <= ctop || dst[0].fY >= cbot) { in clipQuad() 76 if (dst[0].fY < ctop) { in clipQuad() 86 if (dst[i].fY < ctop) { in clipQuad() 87 dst[i].fY = ctop; in clipQuad() 94 if (dst[2].fY > cbot) { in clipQuad() 103 if (dst[i].fY > cbot) { in clipQuad() 104 dst[i].fY = cbot; in clipQuad()
|
D | SkStroke.cpp | 60 return !SkPoint::CanNormalize(v.fX, v.fY); in degenerate_vector() 96 if (!unitNormal->setNormalize(after.fX - before.fX, after.fY - before.fY)) { in set_normal_unitnormal() 107 if (!unitNormal->setNormalize(vec.fX, vec.fY)) { in set_normal_unitnormal() 299 SkScalar prevY = fPrevPt.fY; in preJoinTo() 308 fFirstOuterPt.set(prevX + normal->fX, prevY + normal->fY); in preJoinTo() 310 fOuter.moveTo(fFirstOuterPt.fX, fFirstOuterPt.fY); in preJoinTo() 311 fInner.moveTo(prevX - normal->fX, prevY - normal->fY); in preJoinTo() 339 fOuter.moveTo(pt.fX, pt.fY); in finishContour() 413 fOuter.lineTo(currPt.fX + normal.fX, currPt.fY + normal.fY); in line_to() 414 fInner.lineTo(currPt.fX - normal.fX, currPt.fY - normal.fY); in line_to() [all …]
|
/external/skia/tests/ |
D | PathOpsLineIntersectionTest.cpp | 120 if (line1[0].fY == line1[1].fY) { in testOne() 124 ts.horizontal(line2, left, right, line1[0].fY, line1[0].fX != left); in testOne() 127 if (line2[0].fY == line2[1].fY) { in testOne() 131 ts.horizontal(line1, left, right, line2[0].fY, line2[0].fX != left); in testOne() 135 double top = SkTMin(line1[0].fY, line1[1].fY); in testOne() 136 double bottom = SkTMax(line1[0].fY, line1[1].fY); in testOne() 138 ts.vertical(line2, top, bottom, line1[0].fX, line1[0].fY != top); in testOne() 142 double top = SkTMin(line2[0].fY, line2[1].fY); in testOne() 143 double bottom = SkTMax(line2[0].fY, line2[1].fY); in testOne() 145 ts.vertical(line1, top, bottom, line2[0].fX, line2[0].fY != top); in testOne() [all …]
|
D | StrokerTest.cpp | 33 path.moveTo(c[0].fX, c[0].fY); in cubicTest() 34 path.cubicTo(c[1].fX, c[1].fY, c[2].fX, c[2].fY, c[3].fX, c[3].fY); in cubicTest() 40 path.moveTo(c[0].fX, c[0].fY); in quadTest() 41 path.quadTo(c[1].fX, c[1].fY, c[2].fX, c[2].fY); in quadTest() 49 SkPoint c[4] = { {(float) d[0].fX, (float) d[0].fY}, {(float) d[1].fX, (float) d[1].fY}, in cubicSetTest() 50 {(float) d[2].fX, (float) d[2].fY}, {(float) d[3].fX, (float) d[3].fY} }; in cubicSetTest() 63 SkPoint c[4] = { {(float) d[0].fX, (float) d[0].fY}, {(float) d[1].fX, (float) d[1].fY}, in cubicPairSetTest() 64 … {(float) d[2].fX, (float) d[2].fY}, {(float) d[3].fX, (float) d[3].fY} }; in cubicPairSetTest() 77 SkPoint c[3] = { {(float) d[0].fX, (float) d[0].fY}, {(float) d[1].fX, (float) d[1].fY}, in quadSetTest() 78 {(float) d[2].fX, (float) d[2].fY} }; in quadSetTest() [all …]
|
D | PathOpsTestCommon.cpp | 29 double dy = c[3].fY - 3 * (c[2].fY - c[1].fY) - c[0].fY; in calc_t_div() 153 if (quad[1].fY < bounds.fTop) { in CubicToQuads() 154 quad[1].fY = bounds.fTop; in CubicToQuads() 155 } else if (quad[1].fY > bounds.fBottom) { in CubicToQuads() 156 quad[1].fY = bounds.fBottom; in CubicToQuads() 173 quadPath->moveTo(pts[0].fX, pts[0].fY); in CubicPathToQuads() 176 quadPath->lineTo(pts[1].fX, pts[1].fY); in CubicPathToQuads() 179 quadPath->quadTo(pts[1].fX, pts[1].fY, pts[2].fX, pts[2].fY); in CubicPathToQuads() 190 quadPath->quadTo(qPts[0].fX, qPts[0].fY, qPts[1].fX, qPts[1].fY); in CubicPathToQuads() 212 simplePath->moveTo(pts[0].fX, pts[0].fY); in CubicPathToSimple() [all …]
|
D | PathOpsCubicReduceOrderTest.cpp | 19 && between(cubic[0].fY, cubic[1].fY, cubic[3].fY) 20 && between(cubic[0].fY, cubic[2].fY, cubic[3].fY); 30 if (cubic[minY].fY > cubic[index].fY) { 36 if (cubic[maxY].fY < cubic[index].fY) { 41 && approximately_equal(cubic[maxY].fY, cubic[minY].fY); 217 || (reducer.fLine[0].fY != cubic[0].fY && reducer.fLine[0].fY != cubic[3].fY) in DEF_TEST() 219 || (reducer.fLine[1].fY != cubic[0].fY && reducer.fLine[1].fY != cubic[3].fY)) { in DEF_TEST() 230 || (!AlmostEqualUlps(reducer.fLine[0].fY, bounds.fTop) in DEF_TEST() 231 && !AlmostEqualUlps(reducer.fLine[0].fY, bounds.fBottom)) in DEF_TEST() 234 || (!AlmostEqualUlps(reducer.fLine[1].fY, bounds.fTop) in DEF_TEST() [all …]
|
D | PathOpsCubicIntersectionTest.cpp | 59 __FUNCTION__, (int)index, pt, tt1, xy1.fX, xy1.fY, tt2, xy2.fX, xy2.fY); in standardTestCases() 386 cubic1[0].fX, cubic1[0].fY, cubic1[1].fX, cubic1[1].fY, in oneOff() 387 cubic1[2].fX, cubic1[2].fY, cubic1[3].fX, cubic1[3].fY); in oneOff() 389 cubic2[0].fX, cubic2[0].fY, cubic2[1].fX, cubic2[1].fY, in oneOff() 390 cubic2[2].fX, cubic2[2].fY, cubic2[3].fX, cubic2[3].fY); in oneOff() 416 __FUNCTION__, tt1, xy1.fX, xy1.fY, iPt.fX, in oneOff() 417 iPt.fY, xy2.fX, xy2.fY, tt2); in oneOff() 463 cubic1[i].fY = static_cast<double>(SK_RAND(seed)) / RAND_MAX * 100; in CubicIntersection_RandTest() 465 cubic2[i].fY = static_cast<double>(SK_RAND(seed)) / RAND_MAX * 100; in CubicIntersection_RandTest() 472 cubic1[0].fX, cubic1[0].fY, cubic1[1].fX, cubic1[1].fY, cubic1[2].fX, cubic1[2].fY, in CubicIntersection_RandTest() [all …]
|
/external/skia/gm/ |
D | gradients_2pt_conical.cpp | 45 center0.set(pts[0].fX + radius0, pts[0].fY + radius0); in Make2ConicalOutside() 46 center1.set(pts[1].fX - radius1, pts[1].fY - radius1); in Make2ConicalOutside() 58 center0.set(pts[0].fX + radius0, pts[0].fY + radius0); in Make2ConicalOutsideFlip() 59 center1.set(pts[1].fX - radius1, pts[1].fY - radius1); in Make2ConicalOutsideFlip() 70 SkScalarAve(pts[0].fY, pts[1].fY)); in Make2ConicalInside() 72 SkScalarInterp(pts[0].fY, pts[1].fY, SkIntToScalar(1)/4)); in Make2ConicalInside() 83 SkScalarAve(pts[0].fY, pts[1].fY)); in Make2ConicalInsideFlip() 85 SkScalarInterp(pts[0].fY, pts[1].fY, SkIntToScalar(1)/4)); in Make2ConicalInsideFlip() 96 SkScalarAve(pts[0].fY, pts[1].fY)); in Make2ConicalInsideCenter() 98 SkScalarInterp(pts[0].fY, pts[1].fY, SkIntToScalar(1)/4)); in Make2ConicalInsideCenter() [all …]
|
/external/skia/src/animator/ |
D | SkParseSVGPath.cpp | 25 dest.set(SkScalarAve(a.fX, b.fX),SkScalarAve(a.fY, b.fY)); in midPt() 41 m.set(SkScalarHalf(3*j.fX - c.fX), SkScalarHalf(3*j.fY - c.fY)); in quadApprox() 42 n.set(SkScalarHalf(3*o.fX -q.fX), SkScalarHalf(3*o.fY - q.fY)); in quadApprox() 47 m.set(SkScalarHalf(3*p.fX - c.fX), SkScalarHalf(3*p.fY - c.fY)); in quadApprox() 48 n.set(SkScalarHalf(3*l.fX -p2.fX),SkScalarHalf(3*l.fY -p2.fY)); in quadApprox() 98 value[index].fY += relative->fY; in find_points() 157 fPath.lineTo(x, c.fY); in parseSVG() 163 data = find_scalar(data, &y, relative, c.fY); in parseSVG() 165 c.fY = y; in parseSVG() 176 points[0].fY -= lastc.fY - c.fY; in parseSVG() [all …]
|
/external/skia/include/effects/ |
D | SkLightingImageFilter.h | 18 : fX(x), fY(y), fZ(z) {} in SkPoint3() 20 return fX * other.fX + fY * other.fY + fZ * other.fZ; in dot() 23 return fX > fY ? (fX > fZ ? fX : fZ) : (fY > fZ ? fY : fZ); in maxComponent() 29 fY = fY * scale; in normalize() 33 return SkPoint3(fX * scalar, fY * scalar, fZ * scalar); 36 return SkPoint3(fX - other.fX, fY - other.fY, fZ - other.fZ); 39 return fX == other.fX && fY == other.fY && fZ == other.fZ; 41 SkScalar fX, fY, fZ; variable
|
/external/skia/src/utils/ |
D | SkCamera.cpp | 36 SkScalar mag = SkScalarSqrt(fX*fX + fY*fY + fZ*fZ); in normalize() 40 unit->fY = fY * scale; in normalize() 43 unit->fX = unit->fY = unit->fZ = 0; in normalize() 49 return a.fX * b.fX + a.fY * b.fY + a.fZ * b.fZ; in Dot() 57 SkScalar x = a.fY * b.fZ - a.fZ * b.fY; in Cross() 58 SkScalar y = a.fZ * b.fX - a.fX * b.fY; in Cross() 59 SkScalar z = a.fX * b.fY - a.fY * b.fX; in Cross() 86 SkScalar cx = SkScalarMul(fU.fY, fV.fZ) - SkScalarMul(fU.fZ, fV.fY); in dotWith() 87 SkScalar cy = SkScalarMul(fU.fZ, fV.fX) - SkScalarMul(fU.fX, fV.fY); in dotWith() 88 SkScalar cz = SkScalarMul(fU.fX, fV.fY) - SkScalarMul(fU.fY, fV.fX); in dotWith() [all …]
|