Home
last modified time | relevance | path

Searched refs:SkDCubic (Results 1 – 25 of 43) sorted by relevance

12

/external/skia/src/pathops/
DSkPathOpsTSect.cpp31 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(&sect1, &sect2, 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(&sect1, &sect2, 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 …]
DSkPathOpsCubic.h15 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 …]
DSkIntersections.h80 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 …]
DSkDCubicLineIntersection.cpp84 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 …]
DSkPathOpsCubic.cpp17 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 …]
DSkReduceOrder.cpp109 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()
DSkLineParameters.h31 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()
DSkPathOpsRect.cpp47 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()
DSkPathOpsCurve.h38 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()
DSkOpCubicHull.cpp9 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()
DSkPathOpsRect.h57 void setBounds(const SkDCubic& curve) { in setBounds()
61 void setBounds(const SkDCubic& curve, const SkDCubic& sub, double tStart, double tEnd);
DSkReduceOrder.h20 int reduce(const SkDCubic& cubic, Quadratics);
30 SkDCubic fCubic;
/external/skia/tests/
DPathOpsCubicIntersectionTestData.h9 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[];
DPathOpsDebug.cpp72 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 …]
DPathOpsCubicIntersectionTest.cpp20 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 …]
DPathOpsCubicIntersectionTestData.cpp17 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[] = {
DPathOpsCubicReduceOrderTest.cpp16 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 …]
DPathOpsTestCommon.cpp16 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 …]
DPathOpsCubicLineIntersectionIdeas.cpp19 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()
DPathOpsCubicLineIntersectionTest.cpp15 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()
DPathOpsDRectTest.cpp22 static const SkDCubic cubicTests[] = {
37 static void setRawBounds(const SkDCubic& cubic, SkDRect* rect) { in setRawBounds()
60 const SkDCubic& cubic = cubicTests[index]; in DEF_TEST()
DPathOpsDCubicTest.cpp11 static const SkDCubic hullTests[] = {
19 const SkDCubic& cubic = hullTests[index]; in DEF_TEST()
DPathOpsTestCommon.h17 void CubicToQuads(const SkDCubic& cubic, double precision, SkTArray<SkDQuad, true>& quads);
20 bool ValidCubic(const SkDCubic& cubic);
DPathOpsLineParametetersTest.cpp12 static const SkDCubic tests[] = {
43 const SkDCubic& cubic = tests[index]; in DEF_TEST()
DPathOpsCubicQuadIntersectionTest.cpp16 SkDCubic cubic;
56 const SkDCubic& cubic = quadCubicTests[index].cubic; in cubicQuadIntersection()

12