diff options
author | hcm <hcm@google.com> | 2014-10-28 10:55:54 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-28 10:55:54 -0700 |
commit | 27c46a08a9210e9306b8ea1b00349ec198153c38 (patch) | |
tree | 31548283108b4e997adc12651ae77acbb6c3fc8c /src/pathops/SkIntersections.h | |
parent | ee0c2e4fd429424beaa35f29e7f656997ba3f115 (diff) |
Revert of harden pathops for pathological test (patchset #19 id:410001 of https://codereview.chromium.org/633393002/)
Reason for revert:
Compile errors on bots
Original issue's description:
> These tests stress pathops by describing the union of circle-like paths that have tiny line segments embedded and double back to create near-coincident conditions.
>
> The fixes include
> - detect when finding the active top loops between two possible answers
> - preflight chasing winding to ensure answer is consistent
> - binary search more often when quadratic intersection fails
> - add more failure paths when an intersect is missed
>
> While this fixes the chrome bug, reenabling path ops in svg should be deferred until additional fixes are landed.
>
> TBR=
> BUG=421132
>
> Committed: https://skia.googlesource.com/skia/+/6f726addf3178b01949bb389ef83cf14a1d7b6b2
TBR=caryclark@google.com
NOTREECHECKS=true
NOTRY=true
BUG=421132
Review URL: https://codereview.chromium.org/686843002
Diffstat (limited to 'src/pathops/SkIntersections.h')
-rw-r--r-- | src/pathops/SkIntersections.h | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/pathops/SkIntersections.h b/src/pathops/SkIntersections.h index 20823fac2b..040671093c 100644 --- a/src/pathops/SkIntersections.h +++ b/src/pathops/SkIntersections.h @@ -16,7 +16,6 @@ class SkIntersections { public: SkIntersections() : fSwap(0) - , fFlatMeasure(false) #ifdef SK_DEBUG , fDepth(0) #endif @@ -40,10 +39,6 @@ public: }; TArray operator[](int n) const { return TArray(fT[n]); } - void allowFlatMeasure(bool flatAllowed) { - fFlatMeasure = flatAllowed; - } - void allowNear(bool nearAllowed) { fAllowNear = nearAllowed; } @@ -93,14 +88,10 @@ public: cubic.set(a); SkDQuad quad; quad.set(b); - fMax = 7; + fMax = 6; return intersect(cubic, quad); } - bool flatMeasure() const { - return fFlatMeasure; - } - bool hasT(double t) const { SkASSERT(t == 0 || t == 1); return fUsed > 0 && (t == 0 ? fT[0][0] == 0 : fT[0][fUsed - 1] == 1); @@ -210,7 +201,7 @@ public: bool swapped() const { return fSwap; } - + int used() const { return fUsed; } @@ -223,7 +214,6 @@ public: SkASSERT(++fDepth < 16); } - void alignQuadPts(const SkPoint a[3], const SkPoint b[3]); void append(const SkIntersections& ); void cleanUpCoincidence(); int coincidentUsed() const; @@ -292,7 +282,6 @@ private: unsigned char fMax; bool fAllowNear; bool fSwap; - bool fFlatMeasure; // backwards-compatibility when cubics uses quad intersection #ifdef SK_DEBUG int fDepth; #endif |