Jürg Lehni
71c7405d6b
Some work on documentation structure for #smooth().
2016-01-06 17:16:04 +01:00
Jürg Lehni
bf4eb47fae
Start implementing new smooth() functions that merge all approaches.
...
Work in progress, needs more work on range handling for 'continous', and docs.
2016-01-06 16:11:19 +01:00
Jürg Lehni
2539527864
Fix minification warnings.
2016-01-06 15:25:37 +01:00
Jürg Lehni
8cec4f972d
Handle tiny handles correctly In Curve's evaluate()
...
If the curve handles are almost zero, reset the control points to the anchors.
Closes #838
2016-01-06 15:03:35 +01:00
Jürg Lehni
b9c76f44e8
Convert "Note: " comments to "NOTE: " and do some cleanup.
2016-01-06 14:23:19 +01:00
Jürg Lehni
7152942719
Replace links to issues with short references.
2016-01-06 14:13:02 +01:00
Jürg Lehni
45a8a69d67
Implement unit tests for #885 and #889
2016-01-06 13:20:45 +01:00
Jürg Lehni
dd082de70a
Implement unit tests for PathItem#resolveCrossings()
2016-01-06 13:13:59 +01:00
Jürg Lehni
156dd661ed
Detect and handle fully overlapping paths in boolean operations.
...
Closes #885
2016-01-06 11:54:23 +01:00
Jürg Lehni
feec904288
Fix white-space.
2016-01-06 11:14:38 +01:00
Jürg Lehni
df580425f4
Remove sameDir parameter from isCollinear() agian.
...
It's not in use anywhere now.
2016-01-06 11:08:17 +01:00
Jürg Lehni
5b98fea3fc
Reactivate the previously failing boolean edge case test.
2016-01-06 11:03:53 +01:00
Jürg Lehni
5a16d0cd01
Implement proper handling of self-touching paths in resolveCrossings().
...
Closes #874 , #887
2016-01-06 10:53:50 +01:00
Jürg Lehni
d89995a781
Fix winding calculation in rare edge case.
...
Closes #889
2016-01-06 00:34:23 +01:00
Jürg Lehni
17d000266f
Deactivate use of sameDir in Path#reduce() for now.
2016-01-06 00:27:11 +01:00
Jürg Lehni
cb6afda083
Add sameDir parameter it #isCollinear() functions and use it in Path#reduce().
2016-01-05 14:51:55 +01:00
Jürg Lehni
0a7bb06d93
Implement suggestions by @iconexperience in #887
2016-01-05 12:43:38 +01:00
Jürg Lehni
928ad48937
Rename start/endConnected to excludeStart/End.
2016-01-05 12:14:21 +01:00
Jürg Lehni
a7fc04a9b1
Improve comments in new getOverlaps() code.
2016-01-05 12:11:56 +01:00
Jürg Lehni
0d172a74f4
Start handling self-overlapping paths in getOverlaps()
...
Relates to #874 and #887
2016-01-05 12:04:40 +01:00
Jürg Lehni
a6e1a1a76d
Deactivate one failing edge case unit test for now.
...
Relates to #887
2016-01-05 11:14:26 +01:00
Jürg Lehni
d71acb4002
Further simplify boolean operator handling.
2016-01-05 11:10:59 +01:00
Jürg Lehni
1132de0415
Clean up boolean code comments a bit.
2016-01-05 11:06:06 +01:00
Jürg Lehni
4a10fe33d3
Refactor and improve handling of boolean operators.
...
Also detect a case where all encountered segments are part of overlaps, and add parameter startInOverlaps that handles this situation.
Closes #870
2016-01-05 10:30:33 +01:00
Jürg Lehni
7bb102e218
Update boolean tests to correct intersection results.
2016-01-04 22:36:57 +01:00
Jürg Lehni
472972ed0c
Implement unit tests for #870 .
2016-01-04 13:20:20 +01:00
Jürg Lehni
bcf000788e
Reduce GEOMETRIC_EPSILON again.
...
Reverting daaf625ebd
2016-01-04 12:53:30 +01:00
Jürg Lehni
e79fefce96
Implement remaining unit tests from #784 .
2016-01-04 12:52:22 +01:00
Jürg Lehni
3e3f32329b
Implement unit-tests for all of @iconexperience's isolated edge cases.
...
Relates to #784
2016-01-04 12:20:00 +01:00
Jürg Lehni
34d4115061
Do not modify children array directly
...
Use Item#remove() to remove children, to make sure indices are kept in sync.
2016-01-04 11:12:56 +01:00
Jürg Lehni
1543d056a7
Add more boolean unit tests from known edge cases.
2016-01-04 11:01:42 +01:00
Jürg Lehni
4e1b26f4e0
Include stroke in boolean operation unit tests.
...
To compare more than just the filled results, catching additional errors.
2016-01-04 10:47:18 +01:00
Jürg Lehni
9127b13a01
Use GEOMETRIC_EPSILON tolerance when filtering out short curves.
...
Aligning with tolerances in the rest of the library.
2016-01-04 10:38:51 +01:00
Jürg Lehni
daaf625ebd
Double GEOMETRIC_EPSILON to cover the last found edge case.
...
See https://github.com/paperjs/paper.js/issues/784#issuecomment-168614053
2016-01-04 10:02:58 +01:00
Jürg Lehni
88634d4d3d
The paper.browser object might not be initialized yet.
2016-01-03 01:23:17 +01:00
Jürg Lehni
26761f17a1
Some minor clean-ups for 55cf0bc1c7
.
2016-01-03 01:13:03 +01:00
Jürg Lehni
55cf0bc1c7
Improve and simplify handling of start segments.
...
Removing findStartSegment() and merging functionality into findBestIntersection() leads to simpler code and solves some remaining issue, e.g. https://github.com/paperjs/paper.js/issues/784#issuecomment-153282113
2016-01-03 01:08:11 +01:00
Jürg Lehni
b9ee066610
Various fixes in the resemble.js QUnit extension.
2016-01-03 00:29:28 +01:00
Jürg Lehni
9404c5a0e3
Restructure code from #883 a bit
...
- Use === instead of == for strict numeric comparisons
- Merge the two return statements to one
- Address some imprecisions in previously added comments
2016-01-02 23:39:13 +01:00
Jürg Lehni
46cf517976
Merge pull request #883 from iconexperience/fix-for-issue-882
...
Improve fat line clipping to fix #882
2016-01-02 23:13:55 +01:00
iconexperience
ebaccf6e2d
Add break condition for exactly collinear curves to prevent a very time consuming clipping process that cannot have a result.
2016-01-02 19:08:42 +01:00
Jürg Lehni
b33777274d
More work on unit tests for boolean operation.
2016-01-02 18:21:53 +01:00
Jürg Lehni
957d303a0d
Make sure the key identifier is always lowercase.
...
Relates to #881
2016-01-02 13:58:05 +01:00
Jürg Lehni
afffdfdddd
Clean up comments a little.
2016-01-02 13:20:36 +01:00
Jürg Lehni
df09e14d53
Address keyIdentifier weirdness in Chrome on Ubuntu.
...
Closes #881
2016-01-02 13:17:24 +01:00
Jürg Lehni
ce1f04d76c
Remove reliance on downKey, since it may differ between keydown and keypress events.
...
Relates to #881 , but unfortunately does not fix it.
2016-01-02 13:02:20 +01:00
Jürg Lehni
8f4e0f16a0
Increase QUnit timeout to 10s, as Travis doesn't finish in time.
2015-12-31 18:40:17 +01:00
Jürg Lehni
3234975e46
Include comment about methods produced on the fly.
...
For easier searching.
2015-12-31 18:32:56 +01:00
Jürg Lehni
fa15b083b0
Go back to matching curve beginnings / ends with GEOMETRIC_EPSILON.
...
This is possible because we're handling the special line case separately before already.
2015-12-31 14:23:16 +01:00
Jürg Lehni
d832a1ffcb
Define unit test for #784 .
2015-12-31 14:17:38 +01:00