Jürg Lehni
001561decb
Remove the dependency of Math.random() from boolean operation code.
...
Closes #473
2015-01-03 00:32:06 +01:00
Jürg Lehni
bb2fece225
Restructure code that determines median winding contribution.
2015-01-03 00:26:13 +01:00
Jürg Lehni
538eac6dc7
Use smaller tolerances in winding code, to address edge cases.
...
Closes #559
2015-01-02 23:47:26 +01:00
Jürg Lehni
4ed9ef54f2
Fix bug in Curve.filterIntersections() and clean up code a bit.
2015-01-02 21:19:18 +01:00
Jürg Lehni
b3c7be67fc
Support optional hidden matrix argument in #getIntersections()
...
...in order to provide an alternative matrix for the passed path to check against.
2014-10-20 16:53:49 +02:00
Jürg Lehni
797a393c9a
Remove various double white-spaces.
2014-08-25 12:49:14 +02:00
Jürg Lehni
48cb05a181
Replace tabs with 4 white-spaces.
2014-08-16 19:24:54 +02:00
Jürg Lehni
9d7ec13724
Update prepro.js to version that can evaluate whole expressions, and fix a newly introduced issue with it.
2014-05-14 15:14:03 +02:00
Jürg Lehni
19630d6229
Fix spelling mistakes.
2014-04-24 19:34:49 +02:00
Jürg Lehni
9ccba17fbe
Clean up white-space, comments and jshint errors.
2014-04-14 18:29:26 +02:00
Jürg Lehni
60f6eca6c4
Do not keep the view's matrix baked into _globalMatrix, since we might allow multiple views soon.
2014-04-07 17:35:17 +02:00
Jürg Lehni
66b1087d33
Have boolean operation result inherit styles from the left-hand item in the operation.
...
Closes #445 .
2014-04-07 12:18:04 +02:00
Jürg Lehni
f002c633a7
Remove trailing white spaces and ensure newlines at the end.
2014-04-06 13:48:03 +02:00
Jonathan Puckey
01dbfe705c
Fix accidental leaking of variables to the global scope.
...
Found using jscritic.com
2014-03-28 13:46:51 +01:00
Jürg Lehni
e453b90ad2
Remove unused variable.
2014-03-20 17:26:22 +01:00
Jürg Lehni
2a3f0646f0
Fix exception in _getMonoCurves() when path is empty.
...
Closes #427 .
2014-03-17 14:58:40 +01:00
Jürg Lehni
72ba453ba2
Define Path#reorient() and simplify preparePath()
2014-03-17 10:04:09 +01:00
Jürg Lehni
e04946e250
Simplify CompoundPath#reorient() code.
2014-03-17 10:03:49 +01:00
Jürg Lehni
7372c14f0c
Expose reorientPath() functionality as Path#getInteriorPoint() and CompoundPath#reorient()
2014-03-17 09:48:00 +01:00
Jürg Lehni
6d47824a69
Merge remote-tracking branch 'origin/master' into bool-cleanup
...
Conflicts:
src/path/PathItem.Boolean.js
2014-03-16 22:48:08 +01:00
hkrish
b193cf0fe8
More precise handling of islands and holes in reorient path
2014-03-15 16:15:55 +01:00
hkrish
b1fca8d3dc
Merge branch 'master' into bool-cleanup
...
* master: (36 commits)
Avoid dividing with zero while splitting curves
Implement propper support for pointer events and MSPointer events.
Clean up white-space.
WinGums: Some more code clean-up.
WineGum example: Untangle the offset calculation code a bit.
WineGum example: Some more style changes.
Some more simplifications and style changes.
Convert to cleaner OOP style.
Precalculate side points again for better performance.
Optimise WineGums example.
Change title of WineGums example.
Optimise WineGums example.
Add WineGums example by kynd.info.
Fix newly introduced issue in CompoundPath#moveTo() / #lineTo()
Optimize and fix code that draws selections and handles.
Minor clean-up in the way Base.exports are handled.
Better handle Path#moveTo() / #closePath() edge cases in SVG data.
Fix SVG issues with reflected control points in the commands 'SsTt'
Prevent accidental transformation of selection bounds in TextItem.
Fix importPoly() on Node.js
...
2014-03-13 19:32:51 +01:00
Jürg Lehni
3c257dcae0
Merge branch 'refs/heads/master' into apply-matrix
2014-03-13 00:54:05 +01:00
Jürg Lehni
6a58679593
Stick to 80 char line length.
2014-03-12 15:40:22 +01:00
hkrish
066d47dbf7
Avoid dividing with zero while splitting curves
2014-03-12 13:34:43 +01:00
Jürg Lehni
5b49fdf3ff
Merge branch 'refs/heads/master' into apply-matrix
2014-03-04 09:27:55 +01:00
Jürg Lehni
7911d8b42a
Change code sequence in tracePaths() to only calculate tangents and winding values if they are required.
2014-03-02 21:39:54 +01:00
Jürg Lehni
21bd4628f2
Merge branch 'refs/heads/bool-cleanup'
2014-03-02 21:19:47 +01:00
Jürg Lehni
d7be443119
Simplify path filtering code in tracePaths() a bit, and improve documentation.
2014-03-02 21:19:31 +01:00
Jürg Lehni
fb1420eee0
Internalize Item#applyMatrix() code in #transform() and add short-cut method to it in Matrix#apply()
2014-03-02 15:50:45 +01:00
hkrish
cb810c73bd
Fix self-intersection resolution on a single bezier curve
2014-02-28 16:51:28 +01:00
Jürg Lehni
ccfd51a65a
Improve performance of Path constructors and handling of { insert: false } Item creation.
2014-02-26 16:15:51 +01:00
Jürg Lehni
14df7b5d5a
Shorten new edge case code in getWinding() a bit.
2014-02-24 20:29:44 +01:00
hkrish
cac86627be
Correct winding number calculation when horizontal curves are involved.
2014-02-24 19:11:32 +01:00
hkrish
49ddfafe4d
Handle stationary points in #getWinding method.
2014-02-22 18:56:19 +01:00
hkrish
b4d8315484
Reject monotone curves which doesn't contribute to the winding, early.
2014-02-22 18:54:26 +01:00
Jürg Lehni
cf4d72f141
Improve data-structure for monotonic curves.
2014-02-21 10:07:27 +01:00
Jürg Lehni
4973ea9845
Minor clean up in getWinding() code.
2014-02-21 00:40:24 +01:00
Jürg Lehni
5dd26f5b9f
Explain about self-intersection handling in getIntersections()
2014-02-20 20:49:36 +01:00
Jürg Lehni
84e1f208fb
Revert change in d730b75073
...
As highlighted by @hari in the comments.
2014-02-20 20:44:15 +01:00
Jürg Lehni
31498fa6b7
Capitalized all localized constants.
2014-02-20 20:43:25 +01:00
Jürg Lehni
c88dc8e2aa
Minor changes.
2014-02-20 20:26:40 +01:00
Jürg Lehni
5a3ca88224
Restructure boolean code to use one big private scope again.
2014-02-20 20:24:16 +01:00
Jürg Lehni
3d2b53789c
Move _getMonoCurves() definitions to PathItem.Boolean.js
2014-02-20 20:00:46 +01:00
Jürg Lehni
9c09be90f3
Fix white-space mix-up.
2014-02-20 19:52:09 +01:00
Jürg Lehni
64fa328f65
Move all winding related code to PathItem.Boolean and introduce __options.booleanOperations switch.
...
Fall back to __options.nativeContains if __options.booleanOperations is not included.
2014-02-20 19:50:37 +01:00
Jürg Lehni
81b3b756c9
Remove need for private scope in boolean operations code.
2014-02-20 19:35:11 +01:00
Jürg Lehni
2a4696b865
More clean-up in computeBoolean() code.
2014-02-20 19:10:46 +01:00
Jürg Lehni
ec621eef81
Cleanup computeBoolean() code.
2014-02-20 18:44:38 +01:00
Jürg Lehni
4ec3daf4d1
Merge PathItem#getIntersections() and #getSelfIntersections()
2014-02-20 16:26:47 +01:00