Searched refs:cubic (Results 1 - 25 of 48) sorted by relevance

12

/external/skia/tests/
H A DPathOpsDCubicTest.cpp20 SkDCubic cubic; local
21 cubic.debugSet(c.fPts);
23 cubic.convexHull(order);
H A DPathOpsCubicReduceOrderTest.cpp16 static bool controls_inside(const SkDCubic& cubic) {
17 return between(cubic[0].fX, cubic[1].fX, cubic[3].fX)
18 && between(cubic[0].fX, cubic[2].fX, cubic[3].fX)
19 && between(cubic[0].fY, cubic[1].fY, cubic[
109 SkDCubic cubic; local
120 SkDCubic cubic; local
132 SkDCubic cubic; local
143 SkDCubic cubic; local
154 SkDCubic cubic; local
165 SkDCubic cubic; local
177 SkDCubic cubic; local
191 SkDCubic cubic = quad.debugToCubic(); local
203 SkDCubic cubic = quad.debugToCubic(); local
215 SkDCubic cubic = quad.debugToCubic(); local
[all...]
H A DPathOpsLineParametetersTest.cpp44 SkDCubic cubic; local
45 cubic.debugSet(c.fPts);
46 SkASSERT(ValidCubic(cubic));
47 lineParameters.cubicEndPoints(cubic, 0, 3);
49 denormalizedDistance[0] = lineParameters.controlPtDistance(cubic, 1);
50 denormalizedDistance[1] = lineParameters.controlPtDistance(cubic, 2);
69 normalizedDistance[0] = lineParameters.controlPtDistance(cubic, 1);
70 normalizedDistance[1] = lineParameters.controlPtDistance(cubic, 2);
H A DPathOpsDRectTest.cpp37 static void setRawBounds(const SkDCubic& cubic, SkDRect* rect) { argument
38 rect->set(cubic[0]);
39 rect->add(cubic[1]);
40 rect->add(cubic[2]);
41 rect->add(cubic[3]);
63 SkDCubic cubic; local
64 cubic.debugSet(c.fPts);
65 SkASSERT(ValidCubic(cubic));
66 setRawBounds(cubic, &rect);
67 rect2.setBounds(cubic);
[all...]
H A DPathOpsCubicLineIntersectionTest.cpp15 CubicPts cubic; member in struct:lineCubic
28 const CubicPts& cuPts = failLineCubicTests[iIndex].cubic;
29 SkDCubic cubic; local
30 cubic.debugSet(cuPts.fPts);
31 SkASSERT(ValidCubic(cubic));
36 int order1 = reduce1.reduce(cubic, SkReduceOrder::kNo_Quadratics);
39 SkDebugf("[%d] cubic order=%d\n", iIndex, order1);
48 int roots = i.intersect(cubic, line);
101 static int doIntersect(SkIntersections& intersections, const SkDCubic& cubic, const SkDLine& line) { argument
111 result = intersections.vertical(cubic, to
129 SkDCubic cubic; local
196 SkDCubic cubic; local
[all...]
H A DPathOpsTestCommon.cpp16 static double calc_t_div(const SkDCubic& cubic, double precision, double start) { argument
21 cPtr = &cubic;
24 sub = cubic.subDivide(start, 1);
39 static bool add_simple_ts(const SkDCubic& cubic, double precision, SkTArray<double, true>* ts) { argument
40 double tDiv = calc_t_div(cubic, precision, 0);
51 static void addTs(const SkDCubic& cubic, double precision, double start, double end, argument
53 double tDiv = calc_t_div(cubic, precision, 0);
63 static void toQuadraticTs(const SkDCubic* cubic, double precision, SkTArray<double, true>* ts) { argument
65 int order = reducer.reduce(*cubic, SkReduceOrder::kAllow_Quadratics);
70 int inflections = cubic
133 CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads) argument
165 SkDCubic cubic; local
205 SkDCubic cubic; local
280 ValidCubic(const SkDCubic& cubic) argument
[all...]
H A DPathOpsCubicConicIntersectionTest.cpp15 CubicPts cubic; member in struct:cubicConic
32 const CubicPts& cu = cubicConicTests[index].cubic;
33 SkDCubic cubic; local
34 cubic.debugSet(cu.fPts);
35 SkASSERT(ValidCubic(cubic));
42 int order1 = reduce1.reduce(cubic, SkReduceOrder::kNo_Quadratics);
45 SkDebugf("[%d] cubic order=%d\n", index, order1);
53 int roots = i.intersect(cubic, conic);
56 SkDPoint xy1 = cubic.ptAtT(tt1);
H A DPathOpsCubicQuadIntersectionTest.cpp16 CubicPts cubic; member in struct:quadCubic
56 const CubicPts& c = quadCubicTests[index].cubic;
57 SkDCubic cubic; local
58 cubic.debugSet(c.fPts);
59 SkASSERT(ValidCubic(cubic));
66 int order1 = reduce1.reduce(cubic, SkReduceOrder::kNo_Quadratics);
69 SkDebugf("[%d] cubic order=%d\n", iIndex, order1);
77 int roots = i.intersect(cubic, quad);
80 SkDPoint xy1 = cubic.ptAtT(tt1);
H A DPathOpsTestCommon.h32 void CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads);
34 bool ValidConic(const SkDConic& cubic);
35 bool ValidCubic(const SkDCubic& cubic);
H A DPathOpsCubicLineIntersectionIdeas.cpp54 static double binary_search(const SkDCubic& cubic, double step, const SkDPoint& pt, double t, argument
59 SkDPoint cubicAtT = cubic.ptAtT(t);
67 SkDebugf("binary search failed: step=%1.9g cubic=", firstStep);
68 cubic.dump();
76 SkDPoint lessPt = cubic.ptAtT(t - lastStep);
85 SkDPoint morePt = cubic.ptAtT(t + lastStep);
155 SkDCubic cubic; local
156 cubic.debugSet(cuPts.fPts);
157 SkDPoint pt = cubic.ptAtT(t);
159 // see if the line / cubic ha
[all...]
H A DStrokerTest.cpp203 SkDebugf("\n%s tan=%d cubic=%d width=%1.9g\n", __FUNCTION__, gMaxRecursion[0],
219 SkDebugf("\n%s max tan=%d cubic=%d\n", __FUNCTION__, bestTan, bestCubic);
287 SkPoint cubic[4]; local
288 cubic[0].fX = r.nextRangeF(0, 500);
289 cubic[0].fY = r.nextRangeF(0, 500);
292 cubic[1].fX = r.nextRangeF(0, 500);
293 cubic[1].fY = r.nextRangeF(0, 500);
294 } while (cubic[0].distanceToSqd(cubic[1]) < halfSquared);
296 cubic[
[all...]
H A DPathOpsDebug.cpp416 SkDCubic cubic; local
423 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
424 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
425 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
446 SkDCubic cubic; local
453 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
454 SkTSect<SkDCubic, SkDConic> c1k2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
455 SkTSect<SkDCubic, SkDCubic> c1c2(cubic SkDEBUGPARAMS(nullptr) PATH_OPS_DEBUG_T_SECT_PARAMS(1));
476 SkDCubic cubic; local
483 SkTSect<SkDCubic, SkDQuad> c1q2(cubic SkDEBUGPARAM
506 SkDCubic cubic; local
536 SkDCubic cubic; local
566 SkDCubic cubic; local
596 SkDCubic cubic; local
626 SkDCubic cubic; local
656 SkDCubic cubic; local
[all...]
/external/skia/src/pathops/
H A DSkReduceOrder.cpp52 // note that three points in a line doesn't simplify a cubic
103 static int coincident_line(const SkDCubic& cubic, SkDCubic& reduction) { argument
104 reduction[0] = reduction[1] = cubic[0];
112 static int vertical_line(const SkDCubic& cubic, SkDCubic& reduction) { argument
113 reduction[0] = cubic[0];
114 reduction[1] = cubic[3];
118 static int horizontal_line(const SkDCubic& cubic, SkDCubic& reduction) { argument
119 reduction[0] = cubic[0];
120 reduction[1] = cubic[3];
125 static int check_quadratic(const SkDCubic& cubic, SkDCubi argument
151 check_linear(const SkDCubic& cubic, int minX, int maxX, int minY, int maxY, SkDCubic& reduction) argument
188 reduce(const SkDCubic& cubic, Quadratics allowQuadratics) argument
273 SkDCubic cubic; local
[all...]
H A DSkOpCubicHull.cpp9 static bool rotate(const SkDCubic& cubic, int zero, int index, SkDCubic& rotPath) { argument
10 double dy = cubic[index].fY - cubic[zero].fY;
11 double dx = cubic[index].fX - cubic[zero].fX;
16 rotPath = cubic;
18 rotPath[index].fY = cubic[zero].fY;
22 if (approximately_equal(cubic[side1].fY, cubic[zero].fY)) {
23 rotPath[side1].fY = cubic[zer
[all...]
H A DSkPathOpsCubic.h49 static void Coefficients(const double* cubic, double* A, double* B, double* C, double* D);
68 SkDCubic cubic; local
69 return cubic.set(a).findInflections(tValues);
95 * Return the number of valid roots (0 < root < 1) for this cubic intersecting the
100 * Return the number of valid roots (0 < root < 1) for this cubic intersecting the
119 SkDCubic cubic; local
120 return cubic.set(a).subDivide(t1, t2);
127 SkDCubic cubic; local
128 cubic.set(pts).subDivide(a, d, t1, t2, p);
H A DSkPathOpsTSect.cpp37 int SkIntersections::intersect(const SkDCubic& cubic, const SkDQuad& quad) { argument
38 SkTSect<SkDCubic, SkDQuad> sect1(cubic
46 int SkIntersections::intersect(const SkDCubic& cubic, const SkDConic& conic) { argument
47 SkTSect<SkDCubic, SkDConic> sect1(cubic
H A DSkReduceOrder.h22 int reduce(const SkDCubic& cubic, Quadratics);
H A DSkPathOpsCurve.h38 void set(const SkDCubic& cubic) { argument
40 fPts[index] = cubic[index].asSkPoint();
95 bool fOrdered; // cleared when a cubic's control point isn't between the sweep vectors
121 SkDCubic cubic; local
122 cubic.set(a);
123 return cubic.ptAtT(t);
201 SkDCubic cubic; local
202 cubic.set(a);
203 return cubic.dxdyAtT(t);
284 SkDCubic cubic; local
322 SkDCubic cubic; local
393 SkDCubic cubic; local
398 SkDCubic cubic; local
[all...]
H A DSkDCubicLineIntersection.cpp13 Find the interection of a line and cubic by solving for valid t values.
15 Analogous to line-quadratic intersection, solve line-cubic intersection by
16 representing the cubic as:
24 Then using Mathematica, solve for the values of t where the cubic intersects the
54 instead, use Numeric Solutions recipe to solve the cubic.
215 // check if midway on cubic is also same point. If so, discard this
282 /* Note that this does not look for endpoints of the line that are near the cubic.
418 int SkIntersections::horizontal(const SkDCubic& cubic, double left, double right, double y, argument
421 LineCubicIntersections c(cubic, line, this);
425 int SkIntersections::vertical(const SkDCubic& cubic, doubl argument
432 intersect(const SkDCubic& cubic, const SkDLine& line) argument
438 intersectRay(const SkDCubic& cubic, const SkDLine& line) argument
[all...]
H A DSkIntersections.h84 SkDCubic cubic; local
85 cubic.set(a);
87 return horizontal(cubic, left, right, y, flipped);
91 SkDCubic cubic; local
92 cubic.set(a);
94 return vertical(cubic, top, bottom, x, flipped);
98 SkDCubic cubic; local
99 cubic.set(a);
103 return intersect(cubic, line);
/external/skia/src/utils/win/
H A DSkDWriteGeometrySink.cpp91 static bool check_quadratic(const Cubic& cubic, Quadratic& reduction) { argument
92 float dx10 = cubic[1].x - cubic[0].x;
93 float dx23 = cubic[2].x - cubic[3].x;
94 float midX = cubic[0].x + dx10 * 3 / 2;
95 //NOTE: !approximately_equal(midX - cubic[3].x, dx23 * 3 / 2)
97 if (!approximately_equal(midX, (dx23 * 3 / 2) + cubic[3].x)) {
100 float dy10 = cubic[1].y - cubic[
119 Cubic cubic = { { prevPt.x, prevPt.y }, local
[all...]
/external/skia/src/core/
H A DSkStroke.cpp185 kDegenerate2_ReductionType, // two control points are on the line but outside ends (cubic)
186 kDegenerate3_ReductionType, // three areas of max curvature found (for cubic)
195 bool fFoundTangents; // do less work until tangents meet (cubic)
200 static ReductionType CheckCubicLinear(const SkPoint cubic[4], SkPoint reduction[3],
204 ResultType compareQuadCubic(const SkPoint cubic[4], SkQuadConstruct* );
210 bool cubicMidOnLine(const SkPoint cubic[4], const SkQuadConstruct* ) const;
211 void cubicPerpRay(const SkPoint cubic[4], SkScalar t, SkPoint* tPt, SkPoint* onPt,
213 void cubicQuadEnds(const SkPoint cubic[4], SkQuadConstruct* );
214 void cubicQuadMid(const SkPoint cubic[4], const SkQuadConstruct* , SkPoint* mid) const;
215 bool cubicStroke(const SkPoint cubic[
450 setCubicEndNormal(const SkPoint cubic[4], const SkVector& normalAB, const SkVector& unitNormalAB, SkVector* normalCD, SkVector* unitNormalCD) argument
525 cubic_in_line(const SkPoint cubic[4]) argument
[all...]
/external/vulkan-validation-layers/libs/glm/gtx/
H A Dspline.hpp74 //! Return a point from a cubic curve.
77 GLM_FUNC_DECL genType cubic(
/external/ImageMagick/Magick++/demo/
H A Ddemos.tap25 for filter in bessel blackman box catrom cubic gaussian hamming hanning hermite lanczos mitchell point quadratic sample scale sinc triangle
/external/skia/src/pdf/
H A DSkPDFUtils.cpp97 SkPoint cubic[4]; local
98 SkConvertQuadToCubic(quad, cubic);
99 SkPDFUtils::AppendCubic(cubic[1].fX, cubic[1].fY, cubic[2].fX, cubic[2].fY,
100 cubic[3].fX, cubic[3].fY, content);

Completed in 7806 milliseconds

12