/external/skia/src/pathops/ |
D | SkPathOpsTSect.cpp | 31 int SkIntersections::intersect(const SkDCubic& cubic, const SkDQuad& quad) { in intersect() 32 SkTSect<SkDCubic, SkDQuad> sect1(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in intersect() 33 SkTSect<SkDQuad, SkDCubic> sect2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(2)); in intersect() 34 SkTSect<SkDCubic, SkDQuad>::BinarySearch(§1, §2, this); in intersect() 38 int SkIntersections::intersect(const SkDCubic& cubic, const SkDConic& conic) { in intersect() 39 SkTSect<SkDCubic, SkDConic> sect1(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in intersect() 40 SkTSect<SkDConic, SkDCubic> sect2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(2)); in intersect() 41 SkTSect<SkDCubic, SkDConic>::BinarySearch(§1, §2, this); in intersect() 45 int SkIntersections::intersect(const SkDCubic& cubic1, const SkDCubic& cubic2) { in intersect() 46 SkTSect<SkDCubic, SkDCubic> sect1(cubic1 PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in intersect() [all …]
|
D | SkPathOpsCubic.h | 15 const SkDCubic& first() const { return (const SkDCubic&) pts[0]; } in first() 16 const SkDCubic& second() const { return (const SkDCubic&) pts[3]; } in second() 20 struct SkDCubic { struct 77 SkDCubic cubic; in FindInflections() argument 82 bool hullIntersects(const SkDCubic& c2, bool* isLinear) const; 108 const SkDCubic& set(const SkPoint pts[kPointCount]) { in set() argument 116 SkDCubic subDivide(double t1, double t2) const; 118 static SkDCubic SubDivide(const SkPoint a[kPointCount], double t1, double t2) { in SubDivide() argument 119 SkDCubic cubic; in SubDivide() 127 SkDCubic cubic; in SubDivide() argument [all …]
|
D | SkIntersections.h | 80 SkDCubic cubic; in cubicHorizontal() 87 SkDCubic cubic; in cubicVertical() 94 SkDCubic cubic; in cubicLine() 227 void cubicInsert(double one, double two, const SkDPoint& pt, const SkDCubic& c1, 228 const SkDCubic& c2); 233 int horizontal(const SkDCubic&, double y, double tRange[3]); 235 int horizontal(const SkDCubic&, double left, double right, double y, bool flipped); 236 int horizontal(const SkDCubic&, double left, double right, double y, double tRange[3]); 251 int intersect(const SkDCubic&, const SkDLine&); 252 int intersect(const SkDCubic&, const SkDQuad&); [all …]
|
D | SkDCubicLineIntersection.cpp | 84 LineCubicIntersections(const SkDCubic& c, const SkDLine& l, SkIntersections* i) in LineCubicIntersections() 123 SkDCubic c; in intersectRay() 128 SkDCubic::Coefficients(&c[0].fX, &A, &B, &C, &D); in intersectRay() 129 int count = SkDCubic::RootsValidT(A, B, C, D, roots); in intersectRay() 138 int extrema = SkDCubic::FindExtrema(&c[0].fX, extremeTs); in intersectRay() 139 count = c.searchRoots(extremeTs, extrema, 0, SkDCubic::kXAxis, roots); in intersectRay() 165 static int HorizontalIntersect(const SkDCubic& c, double axisIntercept, double roots[3]) { in HorizontalIntersect() 167 SkDCubic::Coefficients(&c[0].fY, &A, &B, &C, &D); in HorizontalIntersect() 169 int count = SkDCubic::RootsValidT(A, B, C, D, roots); in HorizontalIntersect() 174 int extrema = SkDCubic::FindExtrema(&c[0].fY, extremeTs); in HorizontalIntersect() [all …]
|
D | SkPathOpsCubic.cpp | 17 const int SkDCubic::gPrecisionUnit = 256; // FIXME: test different values in test framework 19 void SkDCubic::align(int endIndex, int ctrlIndex, SkDPoint* dstPt) const { in align() 30 double SkDCubic::binarySearch(double min, double max, double axisIntercept, in binarySearch() 79 double SkDCubic::calcPrecision() const { in calcPrecision() 106 SkDCubicPair SkDCubic::chopAt(double t) const { in chopAt() 128 void SkDCubic::Coefficients(const double* src, double* A, double* B, double* C, double* D) { in Coefficients() 138 bool SkDCubic::endsAreExtremaInXOrY() const { in endsAreExtremaInXOrY() 152 bool SkDCubic::hullIntersects(const SkDPoint* pts, int ptCount, bool* isLinear) const { in hullIntersects() 201 bool SkDCubic::hullIntersects(const SkDCubic& c2, bool* isLinear) const { in hullIntersects() 205 bool SkDCubic::hullIntersects(const SkDQuad& quad, bool* isLinear) const { in hullIntersects() [all …]
|
D | SkReduceOrder.cpp | 109 static int coincident_line(const SkDCubic& cubic, SkDCubic& reduction) { in coincident_line() 114 static int reductionLineCount(const SkDCubic& reduction) { in reductionLineCount() 118 static int vertical_line(const SkDCubic& cubic, SkDCubic& reduction) { in vertical_line() 124 static int horizontal_line(const SkDCubic& cubic, SkDCubic& reduction) { in horizontal_line() 131 static int check_quadratic(const SkDCubic& cubic, SkDCubic& reduction) { in check_quadratic() 157 static int check_linear(const SkDCubic& cubic, in check_linear() 158 int minX, int maxX, int minY, int maxY, SkDCubic& reduction) { in check_linear() 203 int SkReduceOrder::reduce(const SkDCubic& cubic, Quadratics allowQuadratics) { in reduce() 288 SkDCubic cubic; in Cubic()
|
D | SkLineParameters.h | 31 bool cubicEndPoints(const SkDCubic& pts) { in cubicEndPoints() 71 void cubicEndPoints(const SkDCubic& pts, int s, int e) { in cubicEndPoints() 77 double cubicPart(const SkDCubic& part) { in cubicPart() 138 void cubicDistanceY(const SkDCubic& pts, SkDCubic& distance) const { in cubicDistanceY() 154 double controlPtDistance(const SkDCubic& pts, int index) const { in controlPtDistance()
|
D | SkPathOpsRect.cpp | 47 void SkDRect::setBounds(const SkDCubic& curve, const SkDCubic& sub, double startT, double endT) { in setBounds() 53 roots = SkDCubic::FindExtrema(&sub[0].fX, tValues); in setBounds() 56 roots += SkDCubic::FindExtrema(&sub[0].fY, &tValues[roots]); in setBounds()
|
D | SkPathOpsCurve.h | 38 void set(const SkDCubic& cubic) { in set() 39 for (int index = 0; index < SkDCubic::kPointCount; ++index) { in set() 53 SkDCubic fCubic; 105 SkDCubic cubic; in dcubic_xy_at_t() 161 SkDCubic cubic; in dcubic_dxdy_at_t() 220 SkDCubic cubic; in cubic_is_vertical() 222 SkDCubic dst = cubic.subDivide(startT, endT); in cubic_is_vertical() 258 SkDCubic cubic; in cubic_intersect_ray() 305 SkDCubic cubic; in cubic_intercept_h() 310 SkDCubic cubic; in cubic_intercept_v()
|
D | SkOpCubicHull.cpp | 9 static bool rotate(const SkDCubic& cubic, int zero, int index, SkDCubic& rotPath) { in rotate() 55 int SkDCubic::convexHull(char order[4]) const { in convexHull() 79 SkDCubic rotPath; in convexHull() 136 SkDCubic midPath; in convexHull()
|
D | SkPathOpsRect.h | 57 void setBounds(const SkDCubic& curve) { in setBounds() 61 void setBounds(const SkDCubic& curve, const SkDCubic& sub, double tStart, double tEnd);
|
D | SkReduceOrder.h | 20 int reduce(const SkDCubic& cubic, Quadratics); 30 SkDCubic fCubic;
|
/external/skia/tests/ |
D | PathOpsCubicIntersectionTestData.h | 9 extern const SkDCubic pointDegenerates[]; 10 extern const SkDCubic notPointDegenerates[]; 11 extern const SkDCubic tests[][2]; 12 extern SkDCubic hexTests[][2]; 14 extern const SkDCubic lines[]; 15 extern const SkDCubic notLines[]; 16 extern const SkDCubic modEpsilonLines[]; 17 extern const SkDCubic lessEpsilonLines[]; 18 extern const SkDCubic negEpsilonLines[];
|
D | PathOpsDebug.cpp | 72 void SkDCubic::dump() const { in dump() 77 void SkDCubic::dumpID(int id) const { in dumpID() 84 void SkDCubic::dumpInner() const { in dumpInner() 366 SkDCubic cubic; in DontCallDebugSpan() 369 SkTSect<SkDQuad, SkDCubic> q1c2(quad PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in DontCallDebugSpan() 372 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in DontCallDebugSpan() 373 SkTSect<SkDCubic, SkDQuad> c1q2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in DontCallDebugSpan() 374 SkTSect<SkDCubic, SkDConic> c1k2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in DontCallDebugSpan() 375 SkTSect<SkDCubic, SkDCubic> c1c2(cubic PATH_OPS_DEBUG_T_SECT_PARAMS(1)); in DontCallDebugSpan() 396 SkDCubic cubic; in DontCallDebugT() [all …]
|
D | PathOpsCubicIntersectionTest.cpp | 20 const SkDCubic& cubic1 = tests[index][0]; in standardTestCases() 21 const SkDCubic& cubic2 = tests[index][1]; in standardTestCases() 67 static const SkDCubic testSet[] = { 165 static const SkDCubic newTestSet[] = { 379 static void oneOff(skiatest::Reporter* reporter, const SkDCubic& cubic1, const SkDCubic& cubic2, in oneOff() 427 const SkDCubic& cubic1 = testSet[outer]; in oneOff() 428 const SkDCubic& cubic2 = testSet[inner]; in oneOff() 433 const SkDCubic& cubic1 = newTestSet[outer]; in newOneOff() 434 const SkDCubic& cubic2 = newTestSet[inner]; in newOneOff() 460 SkDCubic cubic1, cubic2; in CubicIntersection_RandTest() [all …]
|
D | PathOpsCubicIntersectionTestData.cpp | 17 const SkDCubic pointDegenerates[] = { 48 const SkDCubic notPointDegenerates[] = { 57 const SkDCubic tests[][2] = { 112 const SkDCubic lines[] = { 148 const SkDCubic notLines[] = { 162 const SkDCubic modEpsilonLines[] = { 205 const SkDCubic lessEpsilonLines[] = { 241 const SkDCubic negEpsilonLines[] = {
|
D | PathOpsCubicReduceOrderTest.cpp | 16 static bool controls_inside(const SkDCubic& cubic) { 23 static bool tiny(const SkDCubic& cubic) { 44 static void find_tight_bounds(const SkDCubic& cubic, SkDRect& bounds) { 108 const SkDCubic& cubic = pointDegenerates[index]; in DEF_TEST() 117 const SkDCubic& cubic = notPointDegenerates[index]; in DEF_TEST() 127 const SkDCubic& cubic = lines[index]; in DEF_TEST() 136 const SkDCubic& cubic = notLines[index]; in DEF_TEST() 145 const SkDCubic& cubic = modEpsilonLines[index]; in DEF_TEST() 154 const SkDCubic& cubic = lessEpsilonLines[index]; in DEF_TEST() 164 const SkDCubic& cubic = negEpsilonLines[index]; in DEF_TEST() [all …]
|
D | PathOpsTestCommon.cpp | 16 static double calc_t_div(const SkDCubic& cubic, double precision, double start) { in calc_t_div() 18 SkDCubic sub; in calc_t_div() 19 const SkDCubic* cPtr; in calc_t_div() 27 const SkDCubic& c = *cPtr; in calc_t_div() 39 static bool add_simple_ts(const SkDCubic& cubic, double precision, SkTArray<double, true>* ts) { in add_simple_ts() 51 static void addTs(const SkDCubic& cubic, double precision, double start, double end, in addTs() 63 static void toQuadraticTs(const SkDCubic* cubic, double precision, SkTArray<double, true>* ts) { in toQuadraticTs() 119 SkDCubic part = cubic->subDivide(0, inflectT[0]); in toQuadraticTs() 133 void CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads) { in CubicToQuads() 146 SkDCubic part = cubic.subDivide(tStart, tEnd); in CubicToQuads() [all …]
|
D | PathOpsCubicLineIntersectionIdeas.cpp | 19 SkDCubic c; 54 static double binary_search(const SkDCubic& cubic, double step, const SkDPoint& pt, double t, in binary_search() 148 SkDCubic cubic = {{origin, in DEF_TEST() 159 SkDCubic::Coefficients(&cubic[0].fY, &A, &B, &C, &D); in DEF_TEST() 162 int realRoots = SkDCubic::RootsReal(A, B, C, D, allRoots); in DEF_TEST() 251 const SkDCubic& cubic = failure.c; in testOneFailure() 254 SkDCubic::Coefficients(&cubic[0].fY, &A, &B, &C, &D); in testOneFailure() 257 int realRoots = SkDCubic::RootsReal(A, B, C, D, allRoots); in testOneFailure()
|
D | PathOpsCubicLineIntersectionTest.cpp | 15 SkDCubic cubic; 28 const SkDCubic& cubic = failLineCubicTests[iIndex].cubic; in testFail() 99 static int doIntersect(SkIntersections& intersections, const SkDCubic& cubic, const SkDLine& line) { in doIntersect() 126 const SkDCubic& cubic = lineCubicTests[iIndex].cubic; in testOne() 193 const SkDCubic& cubic = lineCubicTests[iIndex].cubic; in DEF_TEST()
|
D | PathOpsDRectTest.cpp | 22 static const SkDCubic cubicTests[] = { 37 static void setRawBounds(const SkDCubic& cubic, SkDRect* rect) { in setRawBounds() 60 const SkDCubic& cubic = cubicTests[index]; in DEF_TEST()
|
D | PathOpsDCubicTest.cpp | 11 static const SkDCubic hullTests[] = { 19 const SkDCubic& cubic = hullTests[index]; in DEF_TEST()
|
D | PathOpsTestCommon.h | 17 void CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads); 20 bool ValidCubic(const SkDCubic& cubic);
|
D | PathOpsLineParametetersTest.cpp | 12 static const SkDCubic tests[] = { 43 const SkDCubic& cubic = tests[index]; in DEF_TEST()
|
D | PathOpsCubicQuadIntersectionTest.cpp | 16 SkDCubic cubic; 56 const SkDCubic& cubic = quadCubicTests[index].cubic; in cubicQuadIntersection()
|