Jürg Lehni
48cb05a181
Replace tabs with 4 white-spaces.
2014-08-16 19:24:54 +02:00
Jürg Lehni
4d4a39c752
Implement Curve#getOffsetOf(point) / Path#getOffsetOf(point)
...
Closes #463 .
2014-07-31 19:01:37 +02:00
Jürg Lehni
da22161d28
Correctly clear Curve length cache when segments change.
...
Closes #497
2014-07-31 17:00:52 +02:00
Jürg Lehni
652dbe1e86
Use loop to produce CurveLocation getters, and add CurveLocation#curvature.
2014-07-25 20:05:44 +02:00
Jürg Lehni
3093a8ec43
Introduce matrix.chain(mx) as a shortcut to Matrix.clone().concatenate(mx)
...
Simplifies quite a few lines of code.
2014-07-08 15:43:17 +02:00
hkrish
ccbf4579fd
Don't remove the only intersection.
...
The previous code wrongly compared an intersection with itself while checking for duplicates.
2014-06-21 10:31:07 +02:00
hkrish
6c6ad76c94
Handle overlapping intercepts in getIntersection,
...
In a more robust way. Restricting ranges in parameter is not a nice way
to handle endpoint intersections.
2014-05-17 13:43:46 +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
hkrish
e5e2a8d7d4
Revert "Correct boolean condition in getWinding."
...
This reverts commit fcc2e93daf
.
2014-05-13 20:41:48 +02:00
hkrish
fcc2e93daf
Correct boolean condition in getWinding.
...
Also clarify the condition using braces
2014-05-13 20:14:53 +02:00
Jürg Lehni
846c806034
Implement non-scaling strokes through Style#strokeScaling.
...
Closes #418 .
2014-05-13 13:38:51 +02:00
Jürg Lehni
4464950301
Correctly take Item#matrix into account in #getPathData().
2014-05-13 13:21:59 +02:00
Jürg Lehni
e1ed7f3294
Prevent drawing selected compound path children twice.
2014-05-12 18:57:09 +02:00
Jürg Lehni
ea8518c3a5
Use the correct change notification when reversing paths.
2014-05-12 16:44:48 +02:00
Jürg Lehni
8560a71312
Remove srcOffset and dstOffset parameters from Matrix#_transformCoordinates().
2014-05-08 13:54:05 +01:00
Jürg Lehni
c64f177583
Simplify linearHandles code changes a bit.
2014-05-08 10:48:22 +01:00
hkrish
4cc2deb3f8
Remove the debug code in curve#solveCubic
...
The cubic and quadratic solver has been tested with > 2 million
equations as of now. We need more rigorous tests however.
2014-05-05 18:48:30 +02:00
hkrish
1c9d1de380
Boolean: handle linear segments correctly.
...
Earlier implementation was unfinished and did not reset some handles to
linear, this caused the winding to be miscalculated.
2014-05-05 18:46:39 +02:00
Jürg Lehni
8317aacc1b
Split Item#hitTest() into separate private function that does need to do arguments reading, for improved performance also when iterating over children.
2014-04-29 20:06:48 +02:00
Jürg Lehni
0168e41be0
Add old cubic solver code for comparison, and use console.log() in Curve.solveCubic() to log values with different results.
2014-04-29 00:11:13 +02:00
Jonathan Puckey
04e90ec3f4
Improve PathItem#getIntersections(path, sorted) docs.
2014-04-28 18:58:19 +02:00
Jonathan Puckey
2b712959f2
Path: Improve docs of the 'Positions on Paths and Curves' group.
2014-04-28 18:12:44 +02:00
Jürg Lehni
a9618b50f8
Small fix in Segment#linear.
2014-04-28 16:43:11 +02:00
Jürg Lehni
364c31b0f6
Remove TODOs for already implemented functions.
2014-04-28 14:25:15 +02:00
Jürg Lehni
42945825e8
Fix all argument assignment TODOs.
2014-04-28 14:22:50 +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
397c81e060
Switch from options.type to options.class in Item#hitTest(), to reflect recent change in Item#getItems().
2014-04-13 16:43:20 +02:00
Jürg Lehni
a931a2530c
Implement options.curves
option for hit-testing curves regardless of stroke settings.
2014-04-11 14:57:58 +02:00
Jürg Lehni
d12607dd44
Use a Base object for PaperScope#settings and update straps.js to version that offers Base#set().
2014-04-11 13:32:06 +02:00
Jürg Lehni
86277f0578
Reversing path direction needs to trigger a GEOMETRY change.
2014-04-10 22:37:11 +02:00
Jürg Lehni
eea4e533a4
Support type: Class
filters in hit-testing code too.
2014-04-10 22:27:03 +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
f953331edb
Implement correct selection drawing for CompoundPath.
...
Closes #402 .
2014-04-07 11:22:25 +02:00
Jürg Lehni
f002c633a7
Remove trailing white spaces and ensure newlines at the end.
2014-04-06 13:48:03 +02:00
Jürg Lehni
09d0f5f389
Correctly handle paths with only one segment in hit-testing code.
...
Closes #430 .
2014-04-04 12:08:20 +02:00
Jürg Lehni
59da291d54
Remove tabs in examples in favor of 4 spaces.
...
To remove all these annoying JSHint complaints.
2014-04-02 21:03:35 +02:00
Jürg Lehni
fa9786b344
Switch to new simpler convention for control of beans creation in straps.js
2014-04-02 20:53:18 +02:00
Jürg Lehni
4d52867b4a
Fix spelling mistakes and white-spaces.
2014-04-02 20:52:13 +02:00
Jürg Lehni
4108e9487b
Add optional joining behavior to PathItem#closePath() again and use it in #setPathData().
2014-03-31 19:33:38 +02:00
Jürg Lehni
17fb1fb862
Some Straps.js related code changes.
2014-03-31 19:27:04 +02:00
Jürg Lehni
7c447c8c5a
Move segment merging logic from Path#closePath() to Path#join()
...
Closes #435
2014-03-31 18:14:58 +02:00
Jürg Lehni
a81063a994
Replace all unsupported Curve#getLength(from, to) calls with #getPartLength(from, to)
2014-03-30 14:17:02 +02:00
Jürg Lehni
c464f9ce1b
Make sure Segment#getLocation() always determines the right value for CurveLocation#parameter
...
Half the solution for #437 .
2014-03-30 14:16:03 +02:00
Jürg Lehni
4ca43ef2c3
Some documentation fixes.
2014-03-29 10:21:57 +01:00
Jonathan Puckey
400bc69159
Remove unnecessary commas.
...
Found using jscritic.com.
2014-03-28 14:02:39 +01: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
833d71f7ea
Remove Item#type and replace it with Item#className, the non-hyphenated version of #type.
2014-03-18 11:42:38 +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
438de7013a
Correctly handle groups as clipping masks.
...
Closes #370 .
2014-03-17 14:51:47 +01:00
Jürg Lehni
0fe52a7d39
Implement an optimization in _changed() notifications where not all curves need to updated if only segments change that already have told their curves about the change.
2014-03-17 14:35:33 +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
Jürg Lehni
2a08a88461
Avoid calling #moveTo() twice in SVG 'zm' path data sequence.
2014-03-16 22:44:46 +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
c84c019990
Add TODO and DOC for new #arcTo(to, radius, rotation, clockwise, large)
2014-03-13 17:46:31 +01:00
Jürg Lehni
42558fa057
Changes to new #arcTo(): Rename sweep -> clockwise and change argument sequence, as clockwise is more often used than large.
2014-03-13 16:35:56 +01:00
Jürg Lehni
6c7c4d0798
Close previous paths if followed by a new M command.
2014-03-13 03:28:46 +01:00
Jürg Lehni
d58f24157e
Merge branch 'refs/heads/master' into apply-matrix
2014-03-13 01:05:09 +01:00
Jürg Lehni
10c28a301e
Fix compare statements.
2014-03-13 01:04:31 +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
e80991658b
Fix issue with relative commands after Z.
...
Closes #413 .
2014-03-13 00:52:24 +01:00
Jürg Lehni
afcabea1a7
Fix issue with Z in the middle of SVG path data, not followed by a M command.
...
Closes #413 .
2014-03-12 23:24:09 +01:00
Jürg Lehni
326ecfca0e
Rename angle parameter to rotation.
2014-03-12 23:05:54 +01:00
Jürg Lehni
56335ae5f5
Implement SVG-style #arcTo() version.
...
This should fix the arc related part of issue #413 .
2014-03-12 23:00:47 +01:00
Jürg Lehni
7ace275da8
Implement Segment#transform()
2014-03-12 22:58:12 +01:00
Jürg Lehni
847060e146
Improve handling of _changed() events in Segment.
2014-03-12 22:58:00 +01:00
Jürg Lehni
dc76ef144e
Remove accidentally committed console.log()
2014-03-12 21:34:52 +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
550044e476
Merge branch 'refs/heads/master' into apply-matrix
2014-03-04 09:55:20 +01:00
Jürg Lehni
b08cc68ffe
Fix newly introduced issue in CompoundPath#moveTo() / #lineTo()
2014-03-04 09:48:41 +01:00
Jürg Lehni
7dbf6ceaff
Move Project#options to PaperScope#settings and define reasonable defaults.
2014-03-04 09:29:28 +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
763fd5b6a3
Optimize and fix code that draws selections and handles.
2014-03-04 09:26:55 +01:00
Jürg Lehni
30b11e5968
Better handle Path#moveTo() / #closePath() edge cases in SVG data.
...
Relates to issue #413
2014-03-03 17:27:47 +01:00
Jürg Lehni
2f5a9bb70d
Fix SVG issues with reflected control points in the commands 'SsTt'
...
Relates to issue #413
2014-03-03 08:57:33 +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
80a725d08a
Rename Item#transformContent to the more correct Item#applyMatrix
2014-03-02 16:04:17 +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
Jürg Lehni
7dd3bfa2ec
Fix issue in recent Path.Line constructor optimization.
...
Line paths should not be closed.
2014-03-01 23:40:38 +01:00
Jürg Lehni
4129231504
Rename Path. _addSquareJoin() to more suitable _addBevelJoin()
2014-02-28 18:10:58 +01:00
Jürg Lehni
bd59be8629
Fix issue with strokeBounds affecting corners with miter limit and both handles set.
2014-02-28 18:01:50 +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
737466d15c
Fix all faulty {@true} doc statements.
2014-02-26 15:39:00 +01:00
Jürg Lehni
49801e4b8b
Improve performance of Path.Line() constructor.
...
Passing an array is much faster than using arguments directly.
2014-02-26 14:55:43 +01:00
Jürg Lehni
4c048dbc94
Rename fatline option to more explicit fatlineClipping.
2014-02-24 21:54:47 +01:00
Jürg Lehni
2fb1522c76
Minor code cleanup.
2014-02-24 21:33:35 +01:00
Jürg Lehni
f4baf690f8
Fix issue introduced in 0ce89fa47c
2014-02-24 21:30:12 +01:00
Jürg Lehni
3e49e3a5f1
Find better names for constants that represent almost 0 and almost 1.
2014-02-24 20:30:20 +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
9e799d09eb
Self-Intersections: Restore the logic issues while cleaning up
2014-02-23 16:44:07 +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
b4bc16330a
Remove redundant comment.
2014-02-20 20:59:54 +01:00
Jürg Lehni
daa4c12b46
Revert bdcfb60a9a
...
Since it broke the last example of BooleanOperations.html
2014-02-20 20:58:39 +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
c6329e89bb
Implement Curve#isHorizontal()
2014-02-20 18:44:23 +01:00
Jürg Lehni
b48321e78d
Some more code and comments clean-up.
2014-02-20 18:00:56 +01:00
Jürg Lehni
bdcfb60a9a
Improve handling of tMin and tMax in self-intersection code in PathItem#getIntersections()
2014-02-20 17:55:39 +01:00
Jürg Lehni
f782abd0d7
Some more clean-up in PathItem#getIntersections()
2014-02-20 17:49:19 +01:00
Jürg Lehni
5d2ff7e9ff
Merge PathItem#getIntersections() and PathItem. _filterIntersections()
2014-02-20 17:03:18 +01:00
Jürg Lehni
0ce89fa47c
Simplify self-intersecting code in PathItem#getIntersections() by passing on tMin, tMax, uMin & uMax to Curve#getIntersections().
2014-02-20 17:02:32 +01:00
Jürg Lehni
4ec3daf4d1
Merge PathItem#getIntersections() and #getSelfIntersections()
2014-02-20 16:26:47 +01:00
Jürg Lehni
e11b6138bd
Rename PathItem. _conditionIntersections() to _filterIntersections() and clean up code.
2014-02-20 15:38:31 +01:00
Jürg Lehni
f1765d1cbf
Implement CurveLocation#equals()
2014-02-20 15:37:49 +01:00
Jürg Lehni
5e7b15c64e
Remove need for sorted list of intersection curves, use variables instead.
2014-02-20 15:17:39 +01:00
Jürg Lehni
b960cbc07b
Further simplifications in PathItem._tracePaths()
2014-02-20 15:17:08 +01:00
Jürg Lehni
abb2b0dec9
Simplify and merge conditions for path removal in _tracePaths()
2014-02-20 14:16:04 +01:00
Jürg Lehni
50433400f0
More clean-up and some variable renaming.
2014-02-20 14:13:43 +01:00
Jürg Lehni
de6650a6ca
More simplifications in PathItem._getWinding()
2014-02-20 13:46:10 +01:00
Jürg Lehni
a2941472b5
More PathItem._tracePaths() streamlining.
...
Work in progress.
2014-02-20 10:16:00 +01:00
Jürg Lehni
2a58828e81
Fix issue with curve tangents in rare edge-cases.
...
We should fix Curve.evaluate() for these instead.
2014-02-20 03:22:38 +01:00
Jürg Lehni
b89fc84789
Start simplifying PathItem#_tracePaths() code by using improved Curve#evaluate() and relying on Path#reduce().
2014-02-20 02:52:20 +01:00
Jürg Lehni
f790ede7a8
Use Path#reduce() to make sure there are no curves with zero length in boolean code.
2014-02-20 02:51:35 +01:00
Jürg Lehni
86e4d2a6b9
Implement Curve#remove() and Path#reduce().
...
Also have Item#reduce() recursively call #reduce() on reduced children.
2014-02-20 02:50:39 +01:00
Jürg Lehni
4453f68cfa
Revert handling of linear segment reseting, as it broke some rare boolean tests.
2014-02-20 02:13:55 +01:00
Jürg Lehni
d730b75073
Simplify and clean-up PathItem._splitPath() code.
2014-02-20 01:56:49 +01:00
Jürg Lehni
4e5644f264
Simplify intersection sort function.
2014-02-20 00:32:15 +01:00
Jürg Lehni
56bf87ce84
Rename _getMonotoneCurves() to _getMonoCurves()
...
Shorter is better...
2014-02-20 00:24:09 +01:00
Jürg Lehni
36394c4c56
Simplify and clean-up PathItem._getWinding() code.
2014-02-20 00:19:44 +01:00
Jürg Lehni
6af639946b
Simplify and streamline Path._getMonotoneCurves() code.
2014-02-19 23:55:56 +01:00
Jürg Lehni
e6b7e9b2eb
Remove unused Curve#_getWinding() and commented out CompoundPath#_getWinding() code.
2014-02-19 23:51:21 +01:00
Jürg Lehni
cc0f088a11
Improve evaluation of tangents and normals at t == 0 and 1.
2014-02-19 23:49:34 +01:00
Jürg Lehni
1a0eead28c
Various code and comment clean-ups in new bool-op code.
2014-02-19 23:18:14 +01:00
Jürg Lehni
8726a3f082
Reformat documentation comments and change wording to follow existing documentation convention.
2014-02-19 23:17:59 +01:00
Jürg Lehni
19d84a8a8d
Rename Path._getWindingNumber to _getWinding (to reflect the naming of the existing Path#_getWinding).
2014-02-19 22:18:51 +01:00
Jürg Lehni
093aae0836
Merge remote-tracking branch 'origin/master' into bool-new-2
2014-02-19 14:35:52 +01:00
Jürg Lehni
ea89498e48
Remove debug logging.
2014-02-19 14:31:32 +01:00
Jürg Lehni
9de4189233
Minor simplification.
2014-02-19 14:28:35 +01:00
Jürg Lehni
74a153dd88
Some code clean-up.
...
More to come.
2014-02-17 20:59:38 +01:00
Jürg Lehni
73627346c0
Remove unnecessary paper namespace prefixes inside the library.
2014-02-17 20:36:41 +01:00
hkrish
92c13ae48b
Resolve selfIntersections if both operands to a boolean op is the same path
2014-02-16 19:02:07 +01:00
hkrish
e88ae54a22
_tracePaths: support self-intersections
2014-02-16 18:47:11 +01:00
hkrish
a62a54d7c1
Simplify the horizontal curve case in _getWinding method
2014-02-16 18:46:31 +01:00
Jürg Lehni
ad801fa786
Use parameter tolerances in Path#slipt()
...
Required because CurveLocation objects as returned by Path#getLocationAt() have some imprecision in their #parameter values. Fixes #401 .
2014-02-15 23:37:41 +01:00
hkrish
16ecbbafad
Remove debug notes and helpers
2014-02-15 23:19:27 +01:00
hkrish
83eaf70ee4
Fix regression: getLength has been split to getLength and getPartLength in master branch
2014-02-15 00:04:05 +01:00
hkrish
87ded4dcff
Merge master
2014-02-15 00:02:02 +01:00
hkrish
a798b553a2
Remove old tracePaths method
2014-02-14 22:52:32 +01:00
hkrish
cc2e1921f9
Remove checks from boolean path operations
2014-02-14 22:51:34 +01:00
hkrish
ea29e65e6b
_tracePaths: Switch contours only if necessary
2014-02-14 22:50:55 +01:00
hkrish
26ef85930d
_tracePaths: Calculate correct entry&exit tangents.
2014-02-11 19:18:54 +01:00
hkrish
099f2d411e
_tracePaths: Optimize contour selection a bit.
2014-02-10 22:13:03 +01:00
hkrish
2121b564d0
_tracePaths: Avoid traversing to visited segments
2014-02-10 22:12:32 +01:00
hkrish
dfd1c97a4f
Bug fixes in the tracePath method to work with self-Intersection resolution
2014-02-10 22:12:13 +01:00
hkrish
f8f31349d9
Modified tracePath method for supporting self-intersection resolution and offset curves
2014-02-10 22:11:43 +01:00
hkrish
ccb9f518b8
Fix monotoneCurve calculation for open paths
2014-02-10 22:11:29 +01:00
hkrish
de0cfb7e3d
Refactor code common to getIntersections and getSelfIntersections.
...
Conflicts:
src/path/PathItem.js
2014-02-10 22:10:55 +01:00
hkrish
74c4df9b8c
Fix winding contribution case for horizontal curves
2014-01-28 18:04:09 +01:00
hkrish
acaf637f26
Keep exclude as a compound boolean operator for now.
2014-01-27 21:32:25 +01:00
hkrish
85736d4e84
Remove debug helpers
2014-01-26 05:44:55 +01:00
hkrish
aea9a5cd6c
Minor Fixes
2014-01-26 05:39:51 +01:00
hkrish
758cf67f6e
Move sorting and expansion of intersections to the getIntersections method
2014-01-26 05:39:00 +01:00
hkrish
c5ddbf19da
Remove duplicate intersections in #getIntersections
2014-01-26 05:38:09 +01:00
hkrish
cf9aec9233
Remove addLocation helper. We have to remove duplicates once we have all the intersections.
2014-01-25 23:50:29 +01:00
hkrish
24cbf3b079
Correct winding contribution calculation for horizontal curves
2014-01-16 20:02:26 +01:00
Jürg Lehni
706fe2c77d
Rearrange Base.read argument sequence.
...
options are used more often than length.
2014-01-05 18:31:24 +01:00
Jürg Lehni
cd6bfa0b77
Move Curve#getLength(from, to) to Curve#getPartLength(from, to).
...
Clears up the Curve#getLength() getter and removes the need for accessing arguments[]
2014-01-05 18:06:45 +01:00
Jürg Lehni
e3f3a9c9d2
Merge branch 'refs/heads/master' into v8-optimizations
2014-01-05 17:42:59 +01:00
Jürg Lehni
1ee5b2c126
Fix references to Bootstrap.js in comments.
2014-01-05 17:41:38 +01:00
Jürg Lehni
6cb25fafe3
Use changes in latest Straps.js to remove as many hidden parameters as possible.
...
Hidden parameters through arguments[] are bad news for JS optimizer engines.
2014-01-05 17:40:54 +01:00
hkrish
df7e8e43b2
More explanation and indentation fixes
2014-01-05 15:59:21 +01:00
hkrish
bcdec37b1a
Do a much simpler but thorough check for winding contribution, instead of trying to be clever :)
2014-01-05 14:38:15 +01:00
Jürg Lehni
ea63d4c288
Merge branch 'refs/heads/master' into v8-optimizations
...
Conflicts:
src/core/Base.js
src/style/Color.js
2014-01-05 05:01:13 +01:00
Jürg Lehni
e22fa3a664
Update copyright notice.
2014-01-04 01:47:16 +01:00
Jürg Lehni
6a11547942
Fix issue in Curve.getLength() for linear curves with sub-ranges.
...
Closes #376 .
2013-12-30 14:20:05 +01:00
Jürg Lehni
35890383d8
Merge branch 'refs/heads/paperscript-refactoring' into v8-optimizations
2013-12-29 15:54:54 +01:00
Jürg Lehni
8395541298
Clean up docs and fix spelling mistakes.
2013-12-29 15:44:26 +01:00
hkrish
f2168b48cb
new Boolean operator functions
2013-12-29 13:40:22 +01:00
hkrish
3b85d3d990
Remove TestOnCurve method
2013-12-29 13:38:33 +01:00
hkrish
9831720c9c
New computeBooleean method
2013-12-29 13:38:04 +01:00
hkrish
7af091ca5b
Dont alter the winding direction for paths within compoundPaths if they are not completely contained
2013-12-29 13:36:43 +01:00
hkrish
d02e0dcecf
Remove old SplitPath method
2013-12-29 13:32:12 +01:00
hkrish
3f6562d5b3
Method for tracing a set of connected segments and producing paths; used in boolean ops and path offsetting methods.
2013-12-29 13:29:54 +01:00
hkrish
7c75dcee97
New Split path method
2013-12-29 13:25:48 +01:00
hkrish
1be669396e
First cut at a new winding number calculation algorithm
2013-12-29 13:21:08 +01:00
hkrish
a88d7f5eae
Rudimentary self-intersection calculation
2013-12-29 13:06:25 +01:00
hkrish
1bacbc32e9
Link previous & next curves while returning monotone curves
2013-12-29 13:03:39 +01:00