Commit graph

469 commits

Author SHA1 Message Date
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
cb6afda083 Add sameDir parameter it #isCollinear() functions and use it in Path#reduce(). 2016-01-05 14:51:55 +01:00
sapics
3f50aadf3b Fix comment of rectangle.expand 2015-12-31 13:04:00 +09:00
Jürg Lehni
a7a07fb6d5 Update JSDoc and do some documentation spring-cleaning.
- Convert from {@code ...} to shorter `...`
- Reformat some documentation comment blocks
- Update copyright notices
2015-12-30 21:55:19 +01:00
Jürg Lehni
a79212b920 Make handling of points on infinite lines in Line.getSide() more clear. 2015-10-21 10:00:11 +02:00
Jürg Lehni
0cb792de93 Reverse sign of Line.getSignedDistance()
Closes #789
2015-10-21 09:35:40 +02:00
Jürg Lehni
1f476c2107 Improve CurveLocation#isTouching() to better handle straight lines. 2015-10-21 01:10:24 +02:00
Jürg Lehni
140fba56cc Fix Line#isCollinear() and #isOrthogonal() 2015-10-20 23:37:37 +02:00
Jürg Lehni
e92a71e8c7 Switch to improved version of Line. getSignedDistance()
Based on the error analysis by @iconexperience outlined in #799
2015-10-08 22:56:05 +02:00
Jürg Lehni
be2f98d91a Optimize various isCollinear() and isOrthogonal() methods. 2015-10-03 17:42:52 -04:00
Jürg Lehni
5d7a596026 Fix wrong upper bounds check in Line.intersect()
1 as a solution was accidentally excluded.
2015-10-03 11:44:43 -05:00
Jürg Lehni
9b883e5fb6 Introduce new TRIGONOMETRIC_EPSILON with higher precision than GEOMETRIC_EPSILON. 2015-10-01 20:44:27 -05:00
Jürg Lehni
0ca5a106de Improve Line.intersect() comments. 2015-10-01 04:50:41 -05:00
Jürg Lehni
75a004187e Improve Line.intersect() to more reliably find interesctions at the beginnings / ends.
Relates to #784
2015-10-01 04:38:48 -05:00
Jürg Lehni
4e9bac1ca5 Fix code brokean in commit a869add90d 2015-09-30 12:39:59 -05:00
Jürg Lehni
a869add90d Rename variables in Line.intersect() 2015-09-26 12:09:44 -05:00
Jürg Lehni
515d4ff93d Make Line.isCollinear() / Point#isCollinear() more reliable. 2015-09-23 13:26:29 -04:00
Jürg Lehni
84bcc537e1 Simplify addCurveLineIntersections() and exclude end points. 2015-09-21 12:13:53 -04:00
Jürg Lehni
f47af12b0d Shorten code statement. 2015-09-20 23:22:41 +02:00
Jürg Lehni
fb5f8c0115 Introduce GEOMETRIC_EPSILON, for isOrthogonal(), isCollinear() and overlap checks.
Relates to #777
2015-09-12 10:35:47 +02:00
Jürg Lehni
b52d343527 Use same notation for all injection scopes. 2015-09-06 16:48:23 +02:00
Jürg Lehni
cf813faa75 Remove all mention of points and square points as units.
And some other doc clean-ups.
2015-09-06 16:37:10 +02:00
Jürg Lehni
f91373efd8 Simplify Point#project() 2015-09-06 14:01:04 +02:00
Jürg Lehni
d656c96191 Adjust #isCollinear() tolerance. 2015-08-26 17:09:40 +02:00
Jürg Lehni
2c4dcb96c2 Streamline addOverlap() code a bit. 2015-08-26 11:26:55 +02:00
Jürg Lehni
157a60dee6 Fix spelling mistake. 2015-08-22 23:22:01 +02:00
sapics
687eca9677 fix 2015-08-21 15:35:30 +09:00
sapics
e15b23f8af code minifier 2015-06-23 13:09:48 +09:00
Jürg Lehni
26cdbb6805 Fix typo: #isColinear() -> #isCollinear()
Keeping misspelled version around for a while.
2015-06-16 18:39:52 +02:00
Jürg Lehni
5812a70e08 Use EPSILON instead of TOLERANCE in Point#isColinear() and #isOrthogonal() (reverted from commit 5f0e545ba7) 2015-06-16 18:25:50 +02:00
Jürg Lehni
b541088c6f A whole lot of documentation clean-up. 2015-06-16 17:50:37 +02:00
Jürg Lehni
ba12eec7f5 Some documentation clean-up.
- Prefer @return over @returns
- Place @see at the end, before @example
2015-06-16 14:08:34 +02:00
Jan
60ddc68e56 Improve Line.getSignedDistance()
Improved code is shorter, faster, and should product results with higher precision.
2015-01-05 15:16:45 +01:00
Jürg Lehni
f0f98daf69 Apply @hkrish's fix in 3781aedb22 to Line.getSignedDistance as well.
Relates to #554
2015-01-04 00:53:56 +01:00
Jürg Lehni
5f0e545ba7 Use EPSILON instead of TOLERANCE in Point#isColinear() and #isOrthogonal() 2015-01-02 23:48:34 +01:00
Jürg Lehni
45c86a3035 Switch to suggested new implementation of Line.getSignedDistance() by @iconexperience
Closes #554
2015-01-02 16:17:19 +01:00
Jürg Lehni
3c31c0e482 Have SVGImport respect the current PaperScope's applyMatrix setting. 2015-01-02 14:19:17 +01:00
Jürg Lehni
a307bc4d14 Implement recursively parameter in Matrix#apply(), so matrices can be backed in recursively in children too. 2014-12-28 18:29:04 +01:00
Graeme
4d641fe5ff Examples to resolve #526 2014-12-14 13:07:43 -05:00
Jürg Lehni
892c1a28bd Some code clean-up. 2014-11-08 17:26:43 -08:00
Jürg Lehni
4ab6446e16 Handle horizontal lines properly in Line.getSignedDistance()
Closes #546.
2014-11-08 17:26:13 -08:00
Jürg Lehni
4eb06f0849 Implement Item#isInside(rect). 2014-10-20 16:51:28 +02:00
Jürg Lehni
62e5f3b3ac Improve / streamline Matrix documentation a bit. 2014-10-20 16:47:41 +02:00
Jürg Lehni
54de02149b Implement 'row' type component, for multiple components per row in palettes. 2014-10-02 16:05:56 +02:00
Jürg Lehni
47c225a782 Fix typo.
As reported by https://github.com/paperjs/paperjs.org/pull/7
2014-10-02 01:03:39 +02:00
Jürg Lehni
48cb05a181 Replace tabs with 4 white-spaces. 2014-08-16 19:24:54 +02:00
Jürg Lehni
04a0c995bc Keep Math.acos() argument between -1 and 1.
Closes #482.
2014-07-25 21:01:58 +02:00
Jürg Lehni
d3d9e4bada Improve some injection blocks. 2014-07-25 20:05:26 +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
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
846c806034 Implement non-scaling strokes through Style#strokeScaling.
Closes #418.
2014-05-13 13:38:51 +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
f002c633a7 Remove trailing white spaces and ensure newlines at the end. 2014-04-06 13:48:03 +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
17fb1fb862 Some Straps.js related code changes. 2014-03-31 19:27:04 +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
3c257dcae0 Merge branch 'refs/heads/master' into apply-matrix 2014-03-13 00:54:05 +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
73ef269f0f Bake in matrix changes if owner has #applyMatrix set. 2014-03-04 09:36:00 +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
fe146c5ec0 Fix issues in Point#isOrthogonal() and Point#isColinear() 2014-02-28 17:57:09 +01:00
Jürg Lehni
737466d15c Fix all faulty {@true} doc statements. 2014-02-26 15:39:00 +01:00
Jürg Lehni
d9efb888bc Clean up Point#equals() code. 2014-02-20 15:37:38 +01:00
Jürg Lehni
e54691214a Only preserve angle in Point#normalize() if direction doesn't change. 2014-02-20 02:51:02 +01:00
Jürg Lehni
5a131930fb Add _dontNotify parameter to Matrix#reset() and use it in Item#applyMatrix() 2014-01-06 00:18:40 +01:00
Jürg Lehni
4a95f6e4a6 Some more optimizations for JS minifier and V8. 2014-01-05 21:07:11 +01:00
Jürg Lehni
1bf7107918 Fix issue in Point#getDirectedAngle() 2014-01-05 20:54:19 +01:00
Jürg Lehni
7291956155 Prevent unnecessary beans from being created. 2014-01-05 20:42:28 +01:00
Jürg Lehni
73f857170d Remove unused arguments._read value and rename _index to __index. 2014-01-05 18:34:08 +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
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
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
35890383d8 Merge branch 'refs/heads/paperscript-refactoring' into v8-optimizations 2013-12-29 15:54:54 +01:00
Jürg Lehni
8711fcf500 Remove hidden unused squared argument in Point#getLength() 2013-12-28 20:58:16 +01:00
Jürg Lehni
81651a7379 Prevent V8 "assignment to parameter in arguments object" deoptimizations.
Some getter-like functions still need fixing, but this might require a fix in Straps.js first.
2013-12-17 23:28:55 +01:00
Jürg Lehni
3dbad9c477 Replace delete in favor of setting to undefined to prevent V8 deoptimization. 2013-12-17 23:27:48 +01:00
Jürg Lehni
407a7fcde7 Support Size and Point arguments in Rectangle#expand() 2013-12-09 16:21:37 +01:00
Jürg Lehni
064d632d65 More matrix related clean-ups. 2013-12-08 22:12:36 +01:00
Jürg Lehni
61f2f5c978 Put constructors into separate ctor variables when handling dontLink parameters before creating objects.
This hopefully solves the mysterious issue #360 on Chrome.
2013-12-07 20:03:23 +01:00
Jürg Lehni
7800e5f84e Clean up strange constructor notation that causes linting issue. 2013-12-07 19:45:10 +01:00
Jürg Lehni
9ca92165ee Expose rotation and scaling transformations through Item#rotation and Item#scaling properties, by moving the setters from Matrix to Item. 2013-12-07 12:16:11 +01:00
Jürg Lehni
3ea5c2d728 Improve documentation of Matrix properties. 2013-12-07 12:14:20 +01:00
Jürg Lehni
cb3cc84dae Implement Matrix#skew() 2013-12-07 05:20:55 +01:00
Jürg Lehni
268ecad00b Clean up Matrix documentation. 2013-12-07 05:20:38 +01:00
Jürg Lehni
0bf863d1fa Remove ill-named Matrix properties and replace with standardized a, c, b, d, tx, ty. 2013-12-06 22:26:21 +01:00
Jürg Lehni
5f24bf8da5 Implement Rectangle#getArea() and use it in reorientPath() 2013-12-03 21:54:36 +01:00
Jürg Lehni
cbefaf0dd1 Fix handling of internally cached _angle in Point.
Closes #344.
2013-11-27 00:03:03 +01:00
Jürg Lehni
f3832e0780 Implement setters for Matrix#translation, #rotation and #scaling.
Propagating the changes down to the owning Item too.
2013-11-26 19:28:18 +01:00
Jürg Lehni
56f25e8742 Implement change propagation in matrices. 2013-11-26 19:03:58 +01:00
Jürg Lehni
ac862f9bc4 Some minor code clean up and variable renaming. 2013-11-01 17:55:06 +01:00
Jürg Lehni
dc732da8d8 Clean up documentation for event handler functions on View and Tool. 2013-10-30 15:38:08 +01:00
Jürg Lehni
db882748b1 Fix documentation of Point#angle.
Closes #320.
2013-10-29 23:37:05 +01:00
Jürg Lehni
73d2c34088 Implement item-level #equals() method and clean up other equals methods. 2013-10-17 13:08:54 +02:00
Jürg Lehni
9976033655 Implement serialization of selection. 2013-10-17 12:04:11 +02:00
Jürg Lehni
19c7788617 Fix documentation irregularities. 2013-08-23 19:45:28 -07:00
Jürg Lehni
1120b6012c Merge pull request #262 from huochunpeng/fix_typo_in_matrix
fix typo "Concatentates".
2013-08-08 17:24:40 -07:00
Jürg Lehni
6b19f25f4b Fix typos in comments. 2013-08-08 15:21:35 -07:00
Chunpeng Huo
4904a1df1f fix typo "Concatentates". 2013-07-26 15:22:37 +10:00