HomeSort by relevance Sort by last modified time
    Searched refs:conic (Results 1 - 25 of 25) sorted by null

  /external/skia/tests/
PathOpsConicLineIntersectionTest.cpp 16 SkDConic conic; member in struct:lineConic
31 static int doIntersect(SkIntersections& intersections, const SkDConic& conic, const SkDLine& line,
42 result = intersections.vertical(conic, top, bottom, line[0].fX, flipped);
50 result = intersections.horizontal(conic, left, right, line[0].fY, flipped);
52 intersections.intersect(conic, line);
59 SkDConic conic; member in struct:oneLineConic
71 const SkDConic& conic = oneOffs[index].conic; local
72 SkASSERT(ValidConic(conic));
76 int result = doIntersect(intersections, conic, line, flipped)
98 const SkDConic& conic = lineConicTests[index].conic; local
    [all...]
PathOpsCubicConicIntersectionTest.cpp 16 SkDConic conic; member in struct:cubicConic
34 const SkDConic& conic = cubicConicTests[index].conic; local
35 SkASSERT(ValidConic(conic));
39 int order2 = reduce2.reduce(conic.fPts);
45 SkDebugf("[%d] conic order=%d\n", index, order2);
49 int roots = i.intersect(cubic, conic);
54 SkDPoint xy2 = conic.ptAtT(tt2);
GeometryTest.cpp 72 static void test_conic_eval_pos(skiatest::Reporter* reporter, const SkConic& conic, SkScalar t) {
74 conic.evalAt(t, &p0, nullptr);
75 p1 = conic.evalAt(t);
76 check_pairs(reporter, 0, t, "conic-pos", p0.fX, p0.fY, p1.fX, p1.fY);
79 static void test_conic_eval_tan(skiatest::Reporter* reporter, const SkConic& conic, SkScalar t) {
81 conic.evalAt(t, nullptr, &v0);
82 v1 = conic.evalTangentAt(t);
83 check_pairs(reporter, 0, t, "conic-tan", v0.fX, v0.fY, v1.fX, v1.fY);
95 SkConic conic(pts, w);
100 test_conic_eval_pos(reporter, conic, t)
    [all...]
PathOpsConicIntersectionTest.cpp 13 manually compute the intersection of a pair of circles and see if the conic intersection matches
75 SkConic conic, chopped[2]; local
77 conic.fPts[index].fX = c.fPts[index].fX * scale;
78 conic.fPts[index].fY = c.fPts[index].fY * scale;
84 conic.fW = c.fW;
89 conic.computeTightBounds(&bounds);
100 path.moveTo(conic.fPts[0]);
101 path.conicTo(conic.fPts[1], conic.fPts[2], conic.fW)
161 SkConic conic; local
    [all...]
PathOpsDebug.cpp 382 SkDConic conic; local
387 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
388 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
389 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
412 SkDConic conic; local
417 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
418 SkTSect<SkDConic, SkDConic> k1k2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
419 SkTSect<SkDConic, SkDCubic> k1c2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
442 SkDConic conic; local
447 SkTSect<SkDConic, SkDQuad> k1q2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1))
472 SkDConic conic; local
502 SkDConic conic; local
532 SkDConic conic; local
562 SkDConic conic; local
592 SkDConic conic; local
622 SkDConic conic; local
    [all...]
PathOpsTestCommon.cpp 268 bool ValidConic(const SkDConic& conic) {
270 if (!ValidPoint(conic[index])) {
274 if (SkDoubleIsNaN(conic.fWeight)) {
PathTest.cpp 189 // This test checks that r{Line,Quad,Conic,Cubic}To following a close()
869 REPORTER_ASSERT_MESSAGE(reporter, false, "unexpected conic verb");
    [all...]
  /external/skia/src/pathops/
SkPathOpsConic.h 65 bool hullIntersects(const SkDConic& conic, bool* isLinear) const {
66 return fPts.hullIntersects(conic.fPts, isLinear);
100 SkDConic conic; local
101 conic.set(a, weight);
102 return conic.subDivide(t1, t2);
111 SkDConic conic; local
112 conic.set(pts, weight);
113 return conic.subDivide(a, c, t1, t2, newWeight);
SkPathOpsTSect.cpp 17 int SkIntersections::intersect(const SkDConic& conic, const SkDQuad& quad) {
18 SkTSect<SkDConic, SkDQuad> sect1(conic PATH_OPS_DEBUG_T_SECT_PARAMS(1));
38 int SkIntersections::intersect(const SkDCubic& cubic, const SkDConic& conic) {
40 SkTSect<SkDConic, SkDCubic> sect2(conic PATH_OPS_DEBUG_T_SECT_PARAMS(2));
SkPathOpsCurve.h 99 SkDConic conic; local
100 conic.set(a, weight);
101 return conic.ptAtT(t);
155 SkDConic conic; local
156 conic.set(a, weight);
157 return conic.dxdyAtT(t);
213 SkDConic conic; local
214 conic.set(a, weight);
215 SkDConic dst = conic.subDivide(startT, endT);
251 SkDConic conic; local
295 SkDConic conic; local
300 SkDConic conic; local
    [all...]
SkIntersections.h 58 SkDConic conic; local
59 conic.set(a, weight);
61 return horizontal(conic, left, right, y, flipped);
66 SkDConic conic; local
67 conic.set(a, weight);
69 return vertical(conic, top, bottom, x, flipped);
73 SkDConic conic; local
74 conic.set(a, weight);
78 return intersect(conic, line);
243 static int HorizontalIntercept(const SkDConic& conic, SkScalar y, double* roots)
    [all...]
SkDConicLineIntersection.cpp 170 // OPTIMIZE: Functions of the form add .. points are indentical to the conic routines.
195 // FIXME: see if line end is nearly on conic
221 // FIXME: see if line end is nearly on conic
247 // FIXME: see if line end is nearly on conic
304 // check if midway on conic is also same point. If so, discard this
326 int SkIntersections::horizontal(const SkDConic& conic, double left, double right, double y,
329 LineConicIntersections c(conic, line, this);
333 int SkIntersections::vertical(const SkDConic& conic, double top, double bottom, double x,
336 LineConicIntersections c(conic, line, this);
340 int SkIntersections::intersect(const SkDConic& conic, const SkDLine& line)
    [all...]
SkPathOpsQuad.cpp 51 bool SkDQuad::hullIntersects(const SkDConic& conic, bool* isLinear) const {
52 return conic.hullIntersects(*this, isLinear);
SkPathOpsCubic.cpp 209 bool SkDCubic::hullIntersects(const SkDConic& conic, bool* isLinear) const {
211 return hullIntersects(conic.fPts, isLinear);
  /external/skia/src/core/
SkGeometry.h 229 * return the power-of-2 number of quads needed to approximate this conic
235 * Chop this conic into N quads, stored continguously in pts[], where
248 /** Find the parameter value where the conic takes on its maximum curvature.
305 SkConicCoeff(const SkConic& conic) {
306 Sk2s p0 = from_point(conic.fPts[0]);
307 Sk2s p1 = from_point(conic.fPts[1]);
308 Sk2s p2 = from_point(conic.fPts[2]);
309 Sk2s ww(conic.fW);
365 * Help class to allocate storage for approximating a conic with N quads.
372 * Given a conic and a tolerance, return the array of points for th
393 SkConic conic; local
    [all...]
SkStroke.cpp 433 void SkPathStroker::setConicEndNormal(const SkConic& conic, const SkVector& normalAB,
435 setQuadEndNormal(conic.fPts, normalAB, unitNormalAB, normalBC, unitNormalBC);
573 static bool conic_in_line(const SkConic& conic) {
574 return quad_in_line(conic.fPts);
608 SkPathStroker::ReductionType SkPathStroker::CheckConicLinear(const SkConic& conic,
610 bool degenerateAB = degenerate_vector(conic.fPts[1] - conic.fPts[0]);
611 bool degenerateBC = degenerate_vector(conic.fPts[2] - conic.fPts[1]);
618 if (!conic_in_line(conic)) {
    [all...]
SkPathMeasure.cpp 170 SkScalar SkPathMeasure::compute_conic_segs(const SkConic& conic, SkScalar distance,
174 SkPoint halfPt = conic.evalAt(tValue2Scalar(halft));
176 distance = this->compute_conic_segs(conic, distance, mint, minPt, halft, halfPt, ptIndex);
177 distance = this->compute_conic_segs(conic, distance, halft, halfPt, maxt, maxPt, ptIndex);
284 const SkConic conic(pts, fIter.conicWeight());
286 distance = this->compute_conic_segs(conic, distance, 0, conic.fPts[0],
287 kMaxTValue, conic.fPts[2], ptIndex);
289 // we store the conic weight in our next point, followed by the last 2 pts
290 // thus to reconstitue a conic, you'd need to sa
    [all...]
SkPath.cpp     [all...]
  /external/skia/gm/
beziereffects.cpp 383 // where to chop the conic. If the max curvature is not
385 // dst[0] is the original conic. If it returns 2 the dst[0]
396 SkConic conic; local
397 conic.set(src, weight);
398 conic.chopAt(t, dst);
404 // Calls split_conic on the entire conic and then once more on each subsection.
405 // Most cases will result in either 1 conic (chop point is not within t range)
  /external/skia/tools/json/
SkJSONRenderer.cpp 594 Json::Value conic = verb[SKJSONCANVAS_VERB_CONIC]; local
595 result->conicTo(conic[0][0].asFloat(), conic[0][1].asFloat(),
596 conic[1][0].asFloat(), conic[1][1].asFloat(),
597 conic[2].asFloat());
    [all...]
SkJSONCanvas.cpp 116 Json::Value conic(Json::objectValue);
121 conic[SKJSONCANVAS_VERB_CONIC] = coords;
122 verbs.append(conic);
    [all...]
  /external/skia/bench/
PathBench.cpp 814 ConicBench_Chop() : fName("conic-chop") {
842 fName.printf("conic-eval-pos%d", useV2);
867 fName.printf("conic-eval-tan%d", useV2);
890 static void rand_conic(SkConic* conic, SkRandom& rand) {
892 conic->fPts[i].set(rand.nextUScalar1() * 100, rand.nextUScalar1() * 100);
895 conic->fW = rand.nextUScalar1();
897 conic->fW = 1 + rand.nextUScalar1() * 4;
930 return "conic-compute-error";
952 return "conic-asQuadTol";
973 return "conic-quadPow2"
    [all...]
  /external/skia/samplecode/
SampleQuadStroker.cpp 148 fPts[4].set(350, 200); // conic
367 SkConic conic(pts, iter.conicWeight());
368 pos = conic.evalAt(t);
369 tan = conic.evalTangentAt(t);
  /external/skia/src/gpu/batches/
GrAAHairLinePathRenderer.cpp 134 // where to chop the conic. If the max curvature is not
136 // dst[0] is the original conic. If it returns 2 the dst[0]
147 SkConic conic; local
148 conic.set(src, weight);
149 conic.chopAt(t, dst);
155 // Calls split_conic on the entire conic and then once more on each subsection.
156 // Most cases will result in either 1 conic (chop point is not within t range)
170 // returns 0 if quad/conic is degen or close to it
    [all...]
  /external/skia/tools/debugger/
SkDrawCommand.cpp 104 #define SKDEBUGCANVAS_VERB_CONIC "conic"
546 Json::Value conic(Json::objectValue);
551 conic[SKDEBUGCANVAS_VERB_CONIC] = coords;
552 verbs.append(conic);
1511 Json::Value conic = verb[SKDEBUGCANVAS_VERB_CONIC]; local
    [all...]

Completed in 3327 milliseconds