Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(385)

Issue 15338003: path ops -- rewrite angle sort (Closed)

Created:
7 years, 7 months ago by caryclark
Modified:
7 years, 6 months ago
Reviewers:
CC:
skia-review_googlegroups.com
Visibility:
Public.

Description

path ops -- rewrite angle sort This is a major change resulting from a minor tweak. In the old code, the intersection point of two curves was shared between them, but the intersection points and end points of sorted edges was computed directly from the intersection T value. In this CL, both intersection points and sorted points are the same, and intermediate control points are computed to preserve their slope. The sort itself has been completely rewritten to be more robust and remove 'magic' checks, conditions that empirically worked but couldn't be rationalized. This CL was triggered by errors generated computing the clips of SKP files. At this point, all 73M standard tests work and at least the first troublesome SKPs work. Committed: https://code.google.com/p/skia/source/detail?r=9432

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Patch Set 16 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1198 lines, -445 lines) Patch
M src/pathops/SkDCubicIntersection.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +29 lines, -0 lines 0 comments Download
M src/pathops/SkDLineIntersection.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +41 lines, -0 lines 0 comments Download
M src/pathops/SkDQuadIntersection.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +21 lines, -12 lines 0 comments Download
M src/pathops/SkIntersections.h View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -3 lines 0 comments Download
M src/pathops/SkIntersections.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M src/pathops/SkLineParameters.h View 1 2 3 4 5 6 7 8 9 1 chunk +17 lines, -8 lines 0 comments Download
M src/pathops/SkOpAngle.h View 1 2 3 4 5 6 7 8 9 3 chunks +25 lines, -28 lines 0 comments Download
M src/pathops/SkOpAngle.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +234 lines, -144 lines 0 comments Download
M src/pathops/SkOpSegment.h View 1 2 3 4 5 6 7 8 9 6 chunks +19 lines, -3 lines 0 comments Download
M src/pathops/SkOpSegment.cpp View 1 2 3 4 5 6 7 8 9 17 chunks +117 lines, -39 lines 0 comments Download
M src/pathops/SkPathOpsCommon.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M src/pathops/SkPathOpsCubic.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M src/pathops/SkPathOpsCubic.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +36 lines, -0 lines 0 comments Download
M src/pathops/SkPathOpsDebug.h View 1 2 3 4 5 6 7 8 9 4 chunks +4 lines, -1 line 0 comments Download
M src/pathops/SkPathOpsDebug.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +14 lines, -10 lines 0 comments Download
M src/pathops/SkPathOpsOp.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -1 line 0 comments Download
M src/pathops/SkPathOpsPoint.h View 1 2 3 4 5 6 7 8 9 2 chunks +9 lines, -2 lines 0 comments Download
M src/pathops/SkPathOpsQuad.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -0 lines 0 comments Download
M src/pathops/SkPathOpsQuad.cpp View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +42 lines, -0 lines 0 comments Download
M src/pathops/SkPathOpsTypes.h View 1 2 3 4 5 6 7 8 9 10 chunks +23 lines, -25 lines 0 comments Download
M src/pathops/SkPathOpsTypes.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +9 lines, -14 lines 0 comments Download
M tests/PathOpsAngleTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +299 lines, -88 lines 0 comments Download
M tests/PathOpsCubicIntersectionTest.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +16 lines, -7 lines 0 comments Download
M tests/PathOpsCubicToQuadsTest.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -3 lines 0 comments Download
M tests/PathOpsExtendedTest.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -3 lines 0 comments Download
M tests/PathOpsExtendedTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +25 lines, -23 lines 0 comments Download
M tests/PathOpsLineParametetersTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M tests/PathOpsOpTest.cpp View 1 2 3 4 5 6 7 8 9 5 chunks +127 lines, -19 lines 0 comments Download
M tests/PathOpsQuadIntersectionTest.cpp View 1 2 3 4 5 6 7 8 9 2 chunks +14 lines, -1 line 0 comments Download
M tests/PathOpsSimplifyTest.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +43 lines, -1 line 0 comments Download
M tests/PathOpsSkpClipTest.cpp View 1 2 3 4 5 6 7 8 9 3 chunks +11 lines, -6 lines 0 comments Download
M tests/PathOpsTestCommon.cpp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 1 (0 generated)
caryclark
7 years, 6 months ago (2013-06-04 17:59:56 UTC) #1
Message was sent while issue was closed.
Committed patchset #16 manually as r9432 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698