Jürg Lehni
|
a4535edbb9
|
Bring back _class names, since code minification breaks reliance on constructor.name.
Closes #248.
|
2013-06-23 20:18:32 -07:00 |
|
Jürg Lehni
|
258c404b98
|
Move curvature calculations into Curve.evaluate(), and define unit tests for it.
|
2013-06-18 19:00:05 -07:00 |
|
Jürg Lehni
|
619a8f88f8
|
Clean up code a bit in Curve#getCurvatureAt().
|
2013-06-18 18:29:44 -07:00 |
|
hkrish
|
d4d2075040
|
Fix: Use absolute coordinates from #Curve.getValues() directly while calculating the curvature
|
2013-06-17 22:27:20 +05:30 |
|
Jürg Lehni
|
8a726f22b2
|
Clean up comments.
|
2013-06-17 08:57:30 -07:00 |
|
Jürg Lehni
|
b072df0486
|
Put isEnd value directly into conditional.
|
2013-06-17 08:56:42 -07:00 |
|
Jürg Lehni
|
18ad8a235d
|
Clean up code to follow Paper.js coding conventions.
|
2013-06-17 08:26:51 -07:00 |
|
Jürg Lehni
|
be6bbb802d
|
Move calculations of values to where they are needed.
|
2013-06-17 08:22:28 -07:00 |
|
Jürg Lehni
|
5ff990a84a
|
Fix global variable leakage, and join sequential variable definitions.
|
2013-06-17 08:10:57 -07:00 |
|
hkrish
|
2693516844
|
Implement correct method for calculating curvature on a Path
|
2013-06-17 15:16:11 +05:30 |
|
Jürg Lehni
|
eb32bad57e
|
Fix imprecision in #getNearestLocation()
|
2013-06-15 03:12:29 -07:00 |
|
Jürg Lehni
|
1dee05900f
|
Move getArea code to other statics block.
|
2013-06-13 23:16:44 -07:00 |
|
Jürg Lehni
|
610e396d94
|
Make Curve#_getCrossings() a static method and have it work on curve values directly.
|
2013-06-13 23:16:00 -07:00 |
|
Jürg Lehni
|
01e48b3322
|
Improve and clean up fat-line bug fix.
|
2013-06-13 15:53:28 -07:00 |
|
Jürg Lehni
|
95ecab8a6f
|
Improve handling of merged CompoundPath style through #getStyle().
Only access _style directly in core code if you really know what you're doing!
|
2013-06-12 20:12:08 -07:00 |
|
Jürg Lehni
|
f45a66d2ee
|
Filter out curves with zero length in Path#contains() algorithm.
Fixes #227
|
2013-06-12 00:19:54 -07:00 |
|
Jürg Lehni
|
7faf2a9e70
|
Clean-up @hkrish's changes a bit.
|
2013-06-09 18:37:08 -07:00 |
|
hkrish
|
d8498b6418
|
Remove invalid code and unnecessary comments
|
2013-06-09 22:02:50 +05:30 |
|
hkrish
|
d3405115c1
|
Use parameter on both curves in CurveLocation objects instead of Point in #getIntersection()
|
2013-06-08 21:37:43 +05:30 |
|
Jürg Lehni
|
cd7db56249
|
Remove all create() constructors for basic types since new constructors are now faster.
Woop!
|
2013-05-27 23:57:31 -07:00 |
|
Jürg Lehni
|
10d5de3ed6
|
Implement a better way to name and export class constructors.
This change also simplified the way classes are exported to PaperScope objects.
|
2013-05-27 12:48:58 -07:00 |
|
Jürg Lehni
|
f9267e7f5c
|
Some more code clean up and variable renaming.
|
2013-05-26 17:59:01 -07:00 |
|
Jürg Lehni
|
14962b5c45
|
Clean up code a bit more.
|
2013-05-26 17:52:05 -07:00 |
|
Jürg Lehni
|
32709a176b
|
Fix some comments.
|
2013-05-26 17:48:36 -07:00 |
|
Jürg Lehni
|
7050edd6e4
|
Fix point sequence.
|
2013-05-26 17:40:40 -07:00 |
|
Jürg Lehni
|
90f0679700
|
Further simplify getConvexHull() by using p0 … p3 point objects.
|
2013-05-26 17:39:13 -07:00 |
|
Jürg Lehni
|
487c4c4aef
|
Further simplify getConvexHull() by inlining cross product calculations.
|
2013-05-26 17:32:44 -07:00 |
|
Jürg Lehni
|
9edab9c3aa
|
Simplify convex hull algorithm by returning lists of points rather than lines.
We can avoid some data redundancy that way at no performance cost.
|
2013-05-26 17:18:54 -07:00 |
|
Jürg Lehni
|
9540b7f6a9
|
Use addLineIntersection() in subdivision algorithm as well.
|
2013-05-26 17:10:29 -07:00 |
|
Jürg Lehni
|
20737c6664
|
Rename various intersection methods.
|
2013-05-26 17:06:23 -07:00 |
|
Jürg Lehni
|
5d7cc2fb40
|
Use new Line.getSignedDistance().
|
2013-05-26 16:58:49 -07:00 |
|
Jürg Lehni
|
80f9f6061c
|
Change the way the Line class handles direction vectors and infinite lines.
The beginning of performance improvements in the Line class.
|
2013-05-26 15:44:52 -07:00 |
|
Jürg Lehni
|
1fb0a3a13c
|
Always provide t parameter for CurveLocations if we know it.
|
2013-05-25 11:23:59 -07:00 |
|
Jürg Lehni
|
502c76dbce
|
Start merging fat-line clipping code into Curve class.
And add a prepro option for now.
|
2013-05-24 22:30:13 -07:00 |
|
Jürg Lehni
|
7e5f846190
|
Remove debugging code.
|
2013-05-24 17:57:13 -07:00 |
|
Jürg Lehni
|
bd3ac02bbe
|
Use Curve instead of this.
Compresses better and allows passing on function as callback.
|
2013-05-24 17:52:05 -07:00 |
|
Harikrishnan Gopalakrishnan
|
ce600f4ea4
|
Fix: #initialize() to correctly convert #getValue() array back to Curve object.
|
2013-05-11 00:59:30 +03:00 |
|
Jürg Lehni
|
7b8e27ddd9
|
Further simplify getNearestPoint() algorithm.
|
2013-05-07 00:07:18 -07:00 |
|
Jürg Lehni
|
3a7547a255
|
Bring back accidentally removed static functions on Curve.
|
2013-05-05 23:14:49 -07:00 |
|
Jürg Lehni
|
db42dfdfc1
|
Implement simpler strategy to iteratively find nearest points on paths.
Idea based on method described on http://pomax.github.io/bezierinfo/
|
2013-05-05 23:05:57 -07:00 |
|
Jürg Lehni
|
f704b00e00
|
Implement static Line.intersect() and use it to speed up Curve.getIntersections()
Unfortunately doesn't seem to have any impact!
|
2013-05-04 10:22:10 -07:00 |
|
Jürg Lehni
|
85de8a0b7d
|
Clean up Curve#divide() code.
|
2013-05-03 21:00:46 -07:00 |
|
Jürg Lehni
|
3101989974
|
Adjust precision of Curve#isFlatEnough() to cover rare edge cases.
|
2013-05-03 21:00:37 -07:00 |
|
hkrish
|
e75cc32a3b
|
Merge branch 'master' of https://github.com/paperjs/paper.js
* 'master' of https://github.com/paperjs/paper.js:
Undo recent change to Curve#getIntersection() since it breaks some boolean operations.
ý5:q
|
2013-05-03 19:24:03 +02:00 |
|
Jürg Lehni
|
840e879ba8
|
Undo recent change to Curve#getIntersection() since it breaks some boolean operations.
|
2013-05-02 11:32:24 -07:00 |
|
hkrish
|
10553c1bd8
|
Merge upstream
|
2013-05-02 14:18:24 +02:00 |
|
Jürg Lehni
|
e8fed1bdf0
|
Improve Curve#getIntersections() by avoiding further subdivision of flat curves.
|
2013-05-01 18:40:57 -07:00 |
|
Jürg Lehni
|
c61e8d57b9
|
Fix issue with recursive call of Curve.getIntersections().
|
2013-05-01 18:24:54 -07:00 |
|
hkrish
|
f239a3980d
|
Fix: Update the getIntersections method signature in recursive calls
|
2013-05-01 13:29:02 +02:00 |
|
Jürg Lehni
|
883e3ad563
|
Define CurveLocation#intersection as a way to retrieve the CurveLocation on the intersecting path when using Path#getIntersections().
|
2013-04-30 18:41:26 -07:00 |
|
Jürg Lehni
|
c7ab32c501
|
Rearrange linear curve conditions.
|
2013-04-26 14:37:37 -07:00 |
|
Jürg Lehni
|
c513a24f46
|
Handle intersection between linear curves without recursive subdivision.
Closes #207.
|
2013-04-26 14:31:42 -07:00 |
|
Jürg Lehni
|
74f6a93b33
|
Optimize Curve.getArea().
|
2013-04-25 17:47:11 -07:00 |
|
Jürg Lehni
|
898e216668
|
Implement Path#getArea() and CompoundPath#getArea().
|
2013-04-25 17:37:19 -07:00 |
|
Jürg Lehni
|
80a1129eab
|
Consistently use 'this' rather than 'Curve'.
|
2013-04-25 17:19:00 -07:00 |
|
Jürg Lehni
|
1b5ca4dec9
|
Rename Curve._addIntersections() to Curve.getIntersections()
|
2013-04-25 17:17:53 -07:00 |
|
Jürg Lehni
|
eaa6e3bb6b
|
Improve Curve#getCrossings() documentation and code.
|
2013-04-25 11:08:50 -07:00 |
|
Jürg Lehni
|
d7e075d316
|
Handle contour edge cases in Path#contains().
Closes #208.
|
2013-04-25 11:03:49 -07:00 |
|
Jürg Lehni
|
dc9a9c42d2
|
Cleanup solveCubic() further.
|
2013-04-21 08:44:41 -07:00 |
|
Jonathan Puckey
|
52e7c39567
|
Improve Curve documentation.
|
2013-04-21 15:43:57 +02:00 |
|
Jürg Lehni
|
c45ad26b67
|
Remove tolerance parameter from solveCubic() / solveQuadratic() since we should always use EPSILON.
|
2013-04-20 19:58:42 -07:00 |
|
Jürg Lehni
|
14aa8e5dea
|
Improve precision of Numerical.solveCubic() and fix issues in Curve.getCrossings().
Closes #202.
|
2013-04-20 19:14:19 -07:00 |
|
Jürg Lehni
|
461def5383
|
Fix issue with imprecise tangents / normals to curves at t = 0, 1.
|
2013-04-20 17:40:19 -07:00 |
|
Jürg Lehni
|
1952e3dc7d
|
Implement Curve#getCurvatureAt().
|
2013-04-20 17:26:51 -07:00 |
|
Jürg Lehni
|
9fe1ff951a
|
Clean up code.
|
2013-04-09 20:36:38 -07:00 |
|
Jürg Lehni
|
7f245974e6
|
Implement a faster method to filter out beginnings of intersected curves.
|
2013-04-09 20:35:31 -07:00 |
|
Jürg Lehni
|
a9a0857ba4
|
Find a better strategy to avoid duplicate solutions in PathItem#getIntersections().
Closes #197.
|
2013-04-09 20:27:55 -07:00 |
|
Jürg Lehni
|
d3bb68d0e0
|
Use faster Array construction.
|
2013-04-09 07:55:09 -07:00 |
|
Jürg Lehni
|
a0b903e49c
|
Simply call slice() instead of slice(0).
|
2013-04-06 18:39:17 +02:00 |
|
Jürg Lehni
|
e854254986
|
Insert linear segments when dividing linear curves.
|
2013-03-19 16:17:12 -07:00 |
|
Jürg Lehni
|
2230c2888d
|
Fix issue with Curve#divide() where the wrong curve reference is returned.
|
2013-03-01 20:19:44 -08:00 |
|
Jürg Lehni
|
02ca95eb46
|
Avoid accidental global leakage.
|
2013-02-08 16:12:57 -08:00 |
|
Jürg Lehni
|
6c9c16ad3d
|
Update copyright information comments, and year.
|
2013-01-28 18:03:27 -08:00 |
|
Jürg Lehni
|
b0deda9445
|
Add missing documentation for various location related functions on Curve.
|
2013-01-28 16:47:45 -08:00 |
|
Jürg Lehni
|
c7d8aebb9e
|
Swap Curve's bounds scope with point evaluation scope, for proximity to bounds related methods in scope before.
|
2013-01-28 16:32:04 -08:00 |
|
Jürg Lehni
|
1a438b8b9b
|
Change Curve#[getPoint / getTangent / getNormal](t) to #[getPoint / getTangent / getNormal](offset, isParamter).
Keep deprecated versions around for now.
|
2013-01-28 16:30:28 -08:00 |
|
Jürg Lehni
|
f09bc84a12
|
Implement correct handling of Curves / Segments synchronization, improve CurveLocation linking to Curves through their linked Segments, and preserve Curves in Path#split() calls.
|
2013-01-22 14:46:49 -08:00 |
|
Jürg Lehni
|
ba5aa86411
|
Include Roger Willcocks in the thanks regarding isSufficentlyFlat.
|
2013-01-20 14:28:02 -08:00 |
|
Jürg Lehni
|
b05a21d6c9
|
Fix bug in Curve#getLocationOf().
|
2013-01-20 14:01:42 -08:00 |
|
Jürg Lehni
|
b04eb2b98f
|
Implement Path#split() and Curve#split().
|
2012-12-31 22:28:41 +01:00 |
|
Jürg Lehni
|
e066db4577
|
Implement Curve#divide().
|
2012-12-30 19:49:17 +01:00 |
|
Jürg Lehni
|
4185b63d99
|
Und recent renaming of #getNearest*() methods.
|
2012-12-30 19:43:35 +01:00 |
|
Jürg Lehni
|
2abefee336
|
Merge Base.readValue() with Base.read() and rename Base.peekValue() to Base.peek().
When called directly on Base, read() reads values, otherwise the specific type of the subclass it is called on.
|
2012-12-30 16:07:20 +01:00 |
|
Jürg Lehni
|
1b539301ad
|
Find a better naming convention for the various getLocation* methods (*At for offsets / parameters, *Of for points), implement the missing methods on Curve and use them in Path.
|
2012-12-27 21:08:03 +01:00 |
|
Jürg Lehni
|
231369fa01
|
Shorten code a bit, using loops.
|
2012-12-27 20:46:12 +01:00 |
|
Jürg Lehni
|
cb8f3291d3
|
Clean up some comments.
|
2012-12-27 20:19:23 +01:00 |
|
Jürg Lehni
|
5b9d33f32e
|
Fix imprecision in intersection code by re-introducing tolerance parameter in Curve#isFlatEnough().
|
2012-12-27 20:13:45 +01:00 |
|
Jürg Lehni
|
3c4978eb04
|
Rename Curve#getParameter(point) to Curve#getParameterOf(point), to better distinguish from Curve#getParameterAt(length).
|
2012-12-27 20:09:21 +01:00 |
|
Jürg Lehni
|
68ad4bb5ba
|
Implement PathItem#getIntersections(path) and Curve#getIntersections(curve) using divide-and-conquer approach, and new Curve.getBounds().
|
2012-12-27 19:23:03 +01:00 |
|
Jürg Lehni
|
75596e1d03
|
Move a part of Path.getBounds() code into Curve._addBounds(), and use it to also define Curve.getBounds().
|
2012-12-27 18:38:55 +01:00 |
|
Jürg Lehni
|
57a9f4fc91
|
Use constant substitution for Numerical constants as well.
|
2012-12-27 18:36:59 +01:00 |
|
Jürg Lehni
|
8f093f6dd7
|
Remove all PORT comments, since we won't port back features to Scriptographer.
|
2012-12-25 16:07:48 +01:00 |
|
Jürg Lehni
|
734cc1cc61
|
Undo commit 4445376c0204cb5a2e408c64b77a5b6fa09305ba since it clashes with magnification.
|
2012-12-21 16:41:57 +01:00 |
|
Jürg Lehni
|
d43cc28aac
|
Optimise Curve constructors that construct from 4 arguments (points) and 8 (coordinate values).
|
2012-12-20 18:03:11 +01:00 |
|
Jürg Lehni
|
29a2bc781b
|
Implement the various bounds getter on Curve too, using caching and the new static Path.get*Bounds methods.
|
2012-12-18 14:35:21 +01:00 |
|
Jürg Lehni
|
b535d9f843
|
Implement new Bootstrap feature that allows hiding of getter parameters to make sure beans are produced, and use it across the library.
|
2012-12-15 19:51:31 +01:00 |
|
Jürg Lehni
|
09ee9a0689
|
Exclude 1 in parameter range for crossing counting, as segment points would be counted twice otherwise.
|
2012-12-15 02:27:36 -08:00 |
|
Jürg Lehni
|
16578e6b15
|
Clean up code.
|
2012-12-15 02:24:46 -08:00 |
|
Jürg Lehni
|
a36d244eb1
|
Handle impression in Curve#getCrossings(), causing wrong results when handling circles.
|
2012-12-15 01:52:23 -08:00 |
|
Ben Firshman
|
73d6c102a6
|
Fix k leaking into globals
|
2012-11-20 15:53:04 +00:00 |
|
Ben Firshman
|
dc1161b32a
|
Fix fullLength leaking into globals
|
2012-11-20 15:53:03 +00:00 |
|
Jürg Lehni
|
400b454177
|
Introduce Numerical.isZero(), for comparisons against 0 with a tolerance.
|
2012-11-05 21:06:13 -08:00 |
|
Jürg Lehni
|
6ed1d67ada
|
Modernize Bootstrap.js, introduce Base.create() and use it instead of the Constructor.dont hack for object creation without the calling of initialize.
|
2012-11-03 21:49:37 -07:00 |
|
Jürg Lehni
|
f73717a7e7
|
Fix issues in Numerical.solveQuadratic(), solveCubic() and Path#contains().
Closes #71.
|
2012-10-22 18:21:33 -04:00 |
|
Jürg Lehni
|
44ad4d885a
|
Update link to Kaspar Fischer's PDF with new URL.
|
2012-10-15 15:48:38 -07:00 |
|
Jürg Lehni
|
9e61995282
|
Handle parameter matching of beginning and ends of curves separately.
|
2012-09-30 14:06:31 -07:00 |
|
Jürg Lehni
|
c30ff47930
|
Remove matrix argument from all hit-testing related methods.
We better inverse-transform the point and save the code!
|
2011-12-25 00:19:01 +01:00 |
|
Jürg Lehni
|
a326b189b4
|
Improve Curve#isFlatEnough() by finding the right threshold through testing, and remove other less precise solutions.
|
2011-11-12 01:23:41 +01:00 |
|
Jürg Lehni
|
d43b54a531
|
Shorten Curve.isFlatEnough() code.
|
2011-11-11 20:58:33 +01:00 |
|
Jürg Lehni
|
fdd4ee8d31
|
Switch back to Kaspar Fischer's version of Curve.isFlatEnough, as it produces the best results with dashed lines.
|
2011-11-11 20:55:31 +01:00 |
|
Jürg Lehni
|
3397931bb2
|
Be consistent in Numerical. EPSILON comparison rules.
|
2011-09-22 21:14:16 +02:00 |
|
Jürg Lehni
|
7f81184848
|
Only intersect lines if their lengths are not conflicting with Numerical.EPSILON comparison of the cross product in Line#intersect().
|
2011-07-30 11:38:17 +01:00 |
|
Jürg Lehni
|
7d0db22b9b
|
Use squared distances in nearest point algorithm.
|
2011-07-30 11:37:07 +01:00 |
|
Jürg Lehni
|
45c7f9c4fc
|
Port back code to prevent tangents and normals of length 0 from Scriptographer.
|
2011-07-09 11:20:03 +02:00 |
|
Jürg Lehni
|
833d4968ce
|
Change root solvers to not produce new arrays each time but fill a passed one that can be reused. Yields io impressive performance improvements.
|
2011-07-09 10:50:47 +02:00 |
|
Jürg Lehni
|
839107d341
|
Remove faulty code for calculation of tangents / normals.
|
2011-07-09 10:35:22 +02:00 |
|
Jürg Lehni
|
ec00150df2
|
Remove unused variable.
|
2011-07-09 10:34:18 +02:00 |
|
Jürg Lehni
|
4e1d613ed8
|
Fix Curve#getLength() again for straight lines.
|
2011-07-09 10:21:17 +02:00 |
|
Jürg Lehni
|
17b412ce6f
|
Fix a newly introduced bug in #contains().
|
2011-07-09 10:17:06 +02:00 |
|
Jürg Lehni
|
8a6d53766e
|
Explain code a litter better.
|
2011-07-09 10:11:50 +02:00 |
|
Jürg Lehni
|
8928a7b057
|
Fix #getCrossings() where calling #getPoint() / #getTangent() was slow and also wrong when a matrix was used.
|
2011-07-09 10:09:41 +02:00 |
|
Jürg Lehni
|
8606f25542
|
Switch from using Function#apply() trick for passing curve values as function parameters to simply passing arrays and looking up the values on then.
|
2011-07-09 10:08:43 +02:00 |
|
Jürg Lehni
|
bb4e71da81
|
Clean up isFlatEnough() code.
|
2011-07-08 22:26:22 +02:00 |
|
Jürg Lehni
|
fe37ce6bcb
|
Clean up comments.
|
2011-07-07 23:02:26 +02:00 |
|
Jürg Lehni
|
ca50461fd1
|
Implement new Curve.isFlatEnough().
|
2011-07-07 23:00:16 +02:00 |
|
Jürg Lehni
|
5655981f6d
|
Clean up white spaces.
|
2011-07-07 16:09:02 +02:00 |
|
Jürg Lehni
|
e573fe5dcd
|
Do not pass prevSlope to Curve#getCrossings(), rely on #getPrevious() instead.
|
2011-07-07 16:08:10 +02:00 |
|
Jürg Lehni
|
4a53503130
|
Add support for optional matrix in Path#contains(), Path#getNearestLocation(), Curve#getValues(), Curve#getCrossings(), Curve#getNearestLocation()
|
2011-07-07 16:07:29 +02:00 |
|
Jürg Lehni
|
9d2148245a
|
Implement Curve#getParameter(point), untested.
|
2011-07-06 23:15:32 +02:00 |
|
Jürg Lehni
|
b13c7622c8
|
Rename Curve#getParameter(length) -> Curve#getParameterAt(offset)
|
2011-07-06 23:13:38 +02:00 |
|
Jürg Lehni
|
778a161ba0
|
Rename Curve.solve() -> Curve.solveCubic()
|
2011-07-06 23:10:16 +02:00 |
|
Jürg Lehni
|
fadf6e98b5
|
Pass on minDistance to CurveLocation.
|
2011-07-06 22:21:49 +02:00 |
|
Jürg Lehni
|
17bdaf6fe4
|
Use CurveLocation for Curve#getNearest*() methods.
|
2011-07-06 22:08:10 +02:00 |
|
Jürg Lehni
|
8b6d9746ce
|
Rename Curve#getCrossingsFor() -> #getCrossings()
|
2011-07-06 22:07:34 +02:00 |
|
Jürg Lehni
|
5c3a6f72b6
|
Fix comments.
|
2011-07-06 15:31:16 +02:00 |
|
Jürg Lehni
|
ccd4113ba3
|
Implement Nearest Point-on-Curve Problem.
|
2011-07-05 13:20:31 +02:00 |
|
Jürg Lehni
|
4630a1bd4a
|
Fix documentation.
|
2011-07-05 13:17:34 +02:00 |
|
Jürg Lehni
|
c1f46977fa
|
Rename Curve.isSufficientlyFlat() to shorter Curve.isFlatEnough()
|
2011-07-05 13:17:07 +02:00 |
|
Jürg Lehni
|
4110a56521
|
Improve comments.
|
2011-07-05 01:20:25 +02:00 |
|
Jürg Lehni
|
6cc7417201
|
Handle edge case in crossing number algorithm where the beam in right x-direction is touching a tip where the curves change y-direction but do not interesect with the shape, by checking for slope changes.
|
2011-07-05 01:15:45 +02:00 |
|
Jürg Lehni
|
4924d683e4
|
Simplify Curve.solve() and improve documentation.
|
2011-07-04 23:42:16 +02:00 |
|
Jürg Lehni
|
c5269ecbab
|
Implement Path#contains(point) efficiently using the crossing number algorithm and our cubic polynomial solver.
|
2011-07-04 23:32:15 +02:00 |
|
Jürg Lehni
|
dad118cc20
|
Fix comments.
|
2011-07-04 23:30:25 +02:00 |
|
Jürg Lehni
|
79c0ad8cc5
|
Update copyright notices.
|
2011-07-01 12:17:45 +02:00 |
|
Richard D. Worth
|
ac39873693
|
Whitespace. Removed all trailing whitespace from .js files
|
2011-06-30 06:01:51 -04:00 |
|
Jürg Lehni
|
50c7649421
|
Improve Segment and Curve documentation.
|
2011-06-27 15:07:08 +02:00 |
|
Jürg Lehni
|
e35b171bec
|
Improve Curve documentation.
|
2011-06-27 14:58:17 +02:00 |
|
Jürg Lehni
|
7cd749e63d
|
Change all documentation to new convention of defining @class outside injection scope, fix some comments and a few errors with examples.
|
2011-06-22 23:56:05 +01:00 |
|
Jürg Lehni
|
3226147e00
|
Use a version of Bootstrap that always produces beans and remove all beans: true instructions.
|
2011-06-17 18:42:29 +01:00 |
|
Jürg Lehni
|
ffa79f4fd1
|
Clean up white spaces in comments.
|
2011-06-14 22:59:45 +01:00 |
|
Jürg Lehni
|
b3d771a870
|
Remove Curve#transform() which is currently broken anyhow.
|
2011-06-05 13:27:39 +01:00 |
|
Jürg Lehni
|
c296eb0883
|
Fix wrong direction of tangent evaluation at t = 1.
|
2011-06-05 13:09:53 +01:00 |
|
Jürg Lehni
|
c2c5955717
|
Rename Curve#getCurvesValues() -> #getValues().
|
2011-06-05 12:40:07 +01:00 |
|
Jürg Lehni
|
cb3834f41c
|
Expose the previously private evalutate() function through Curve.evaluate(), make it work with curve value arrays, and use it the for various evaluation methods (#getPoint/Tangent/Normal).
|
2011-06-05 12:37:43 +01:00 |
|
Jürg Lehni
|
14816a872e
|
Define Curve constructor for 8 parameters and implement Curve#getPart() that returns a new sub curve.
|
2011-06-05 12:36:26 +01:00 |
|
Jürg Lehni
|
ef10c2797c
|
Add Curve#getPart but hide for now as more work is required.
|
2011-06-05 11:34:24 +01:00 |
|
Jürg Lehni
|
b5a0979f58
|
Access internal Curve coordinate properties directly rather than through beans.
|
2011-06-05 11:33:55 +01:00 |
|
Jürg Lehni
|
fafb6d1d76
|
Convert CurveFlattener to PathFlattener, which can handle drawing of parts accross curve boundaries.
|
2011-06-04 18:25:41 +01:00 |
|
Jürg Lehni
|
45a04891ee
|
Clean up.
|
2011-06-04 15:16:30 +01:00 |
|
Jürg Lehni
|
bff3e14155
|
Implement a first crude version of Curve.isSufficientlyFlat()
|
2011-06-04 12:40:36 +01:00 |
|
Jürg Lehni
|
5581eefd0c
|
Define default value of t = 0.5 in Curve.subdivide().
|
2011-06-04 12:40:07 +01:00 |
|
Jonathan Puckey
|
2b8f1b71ec
|
Documentation: use inline code tags for boolean and number values,
|
2011-05-31 14:28:42 +02:00 |
|
Jonathan Puckey
|
17fcb923ff
|
Documentation: rearrange @example tags, improve examples, rename boolean -> Boolean and misc smaller edits.
|
2011-05-30 19:42:17 +02:00 |
|
Jürg Lehni
|
9d00541987
|
Clean up PORT comments.
|
2011-05-29 19:20:10 +01:00 |
|
Jonathan Puckey
|
1520cad144
|
Documentation: capitalize basic types in @ tags.
|
2011-05-27 21:21:49 +02:00 |
|
Jonathan Puckey
|
8e84c79aa6
|
Documentation: capitalize 'string' and 'number' types.
|
2011-05-27 20:15:15 +02:00 |
|
Jonathan Puckey
|
4015b022ad
|
Docs: use @true tag in boolean return descriptions and add Key.isDown param options.
|
2011-05-27 18:43:27 +02:00 |
|
Jürg Lehni
|
c67209f889
|
Optimize Curve#initialize for minifying.
|
2011-05-26 11:09:02 +01:00 |
|
Jonathan Puckey
|
0e63f11b72
|
Add Curve documentation.
|
2011-05-23 17:24:57 +02:00 |
|
Jürg Lehni
|
252a3635dc
|
Replace {@true} tags in documentation ({@true ([^}]*)} -> true $1, false otherwise.)
|
2011-05-15 15:06:10 +01:00 |
|
Jürg Lehni
|
4e6e855461
|
Change '// TODO: Port' comments to '// PORT:'.
|
2011-05-07 14:18:27 +01:00 |
|
Jürg Lehni
|
c36db3a55c
|
Introduce private faster Matrix#_transform* methods that lack arguments checks, and use them internally.
|
2011-05-06 13:28:35 +01:00 |
|
Jürg Lehni
|
a0e211c691
|
Big refactoring of how curves are kept in sync with segments (direct references rather than indices), along with various tests.
|
2011-05-03 00:25:23 +01:00 |
|
Jonathan Puckey
|
2ee7081c14
|
Merge remote branch 'origin/master'
|
2011-05-02 12:25:32 +02:00 |
|
Jonathan Puckey
|
41120cf4d9
|
Various small code cleanups.
|
2011-05-02 12:23:42 +02:00 |
|
Jürg Lehni
|
26b70309a8
|
Improve various #toString() functions.
|
2011-05-02 08:57:55 +01:00 |
|
Jürg Lehni
|
0a4150a5c9
|
Add beginning of value caching (_length, _bounds) and change tracking to invalidate cached values.
|
2011-05-02 00:17:21 +01:00 |
|
Jürg Lehni
|
b0282b9bd4
|
Change Segment to be aware of its index in the segment list and have the curves list update automatically on each change to segments.
|
2011-05-01 13:27:53 +01:00 |
|
Jürg Lehni
|
6cca355e20
|
Add Curve.create() as faster internal constructor.
|
2011-04-30 23:29:10 +01:00 |
|
Jürg Lehni
|
781b315808
|
Add getter/setter for Path#closed.
|
2011-04-30 23:22:29 +01:00 |
|
Jürg Lehni
|
ae3ec6f2d7
|
Remove comment about pending port that has been backported to Scriptographer.
|
2011-04-27 12:36:04 +01:00 |
|
Jürg Lehni
|
a251a24347
|
Add some TODOs to check.
|
2011-04-27 12:21:47 +01:00 |
|
Jürg Lehni
|
6204eef643
|
Remove comment about pending port that has been backported to Scriptographer.
|
2011-04-27 12:08:13 +01:00 |
|
Jürg Lehni
|
41eb09f15f
|
Add forgotten brackets in Curve#isSelected() and remove comments about backporting as it is ported now.
|
2011-04-27 10:52:56 +01:00 |
|
Jürg Lehni
|
77ad25ffba
|
Clean up port comments.
|
2011-04-26 17:47:30 +01:00 |
|
Jürg Lehni
|
a20f988511
|
Minor code cleanup.
|
2011-04-26 12:55:20 +01:00 |
|
Jürg Lehni
|
e8a2a786e0
|
Fix Curve#getParameter() for straight lines.
|
2011-04-26 12:30:58 +01:00 |
|
Jürg Lehni
|
6609dc2307
|
Implement new root finding algorithm, combining Newton-Raphson Method with Bisection, and update Curve#getParameter() to use it.
|
2011-04-26 12:23:09 +01:00 |
|
Jonathan Puckey
|
abb0878a25
|
Curve: Implement selection of curves.
|
2011-04-21 19:54:32 +02:00 |
|
Jürg Lehni
|
08d0499251
|
Change comment.
|
2011-03-25 19:58:20 +02:00 |
|
Jürg Lehni
|
417d015eab
|
Improve curve time parametrization precision by iteratively adding up sub-range lengths, and optimise speed by determining integration precision based on range size.
|
2011-03-20 11:38:06 +00:00 |
|
Jürg Lehni
|
11e70c5069
|
Use fast Newton-Raphson Method for now.
|
2011-03-20 02:02:02 +00:00 |
|
Jürg Lehni
|
02328287cb
|
Use n=16 evaluations in integrations for now.
|
2011-03-20 02:00:15 +00:00 |
|
Jürg Lehni
|
ad71293983
|
Remove Van Wijngaarden–Dekker–Brent method again as it led to imprecise results, and experiment with the very fast Newton-Raphson method (keeping False Position as a possible fallback for now).
|
2011-03-20 00:04:33 +00:00 |
|
Jürg Lehni
|
9d4af0ce9e
|
Clean up recently caused Base.read() mess by introducing _readNull property,m setting it to true on Color and reverting to previous behavior for Point, Size and Rectangle, where dimensions of 0 are read by default if nothing is provided.
|
2011-03-13 18:31:00 +01:00 |
|
Jürg Lehni
|
526e2ea0ba
|
Hide Curve#getLength() parameters from Bootstrap so it injects bean too.
|
2011-03-08 17:31:36 +00:00 |
|
Jürg Lehni
|
6a67052090
|
Update copyright / licensing comments.
|
2011-03-08 01:41:50 +00:00 |
|
Jürg Lehni
|
c4c5b070b5
|
Minor code clean-up.
|
2011-03-07 16:51:12 +00:00 |
|
Jürg Lehni
|
59cb7e937e
|
Add control over maximum iterations to Numerical.findRoot().
|
2011-03-07 11:59:43 +00:00 |
|
Jürg Lehni
|
d9b8809f3c
|
Further clean up getParameter() code.
|
2011-03-07 11:58:41 +00:00 |
|
Jürg Lehni
|
7956b50886
|
Use === for undefined comparisons.
|
2011-03-07 11:52:04 +00:00 |
|
Jürg Lehni
|
1e8dffac08
|
Clean up getParameter() code.
|
2011-03-07 11:51:01 +00:00 |
|
Jürg Lehni
|
0ddfc9ef33
|
Add support for sub ranges and negatives lengths in Curve#getParameter(), a prerequirement for adding dash support.
|
2011-03-07 11:37:42 +00:00 |
|
Jürg Lehni
|
2ac9a13e2a
|
Give Numerical methods more meaningful names.
|
2011-03-07 11:12:00 +00:00 |
|
Jürg Lehni
|
08545983d7
|
Minor clean-ups.
|
2011-03-07 02:38:07 +00:00 |
|
Jürg Lehni
|
4dd4072f6b
|
Use push() instead fo concat() for better getParameter() performance.
|
2011-03-07 02:35:06 +00:00 |
|
Jürg Lehni
|
3d7e66053c
|
Simplify getLength() for line ranges.
|
2011-03-07 02:33:36 +00:00 |
|
Jürg Lehni
|
172212c222
|
Clean-up code and comments.
|
2011-03-07 02:28:49 +00:00 |
|
Jürg Lehni
|
add0bcf1fd
|
Yet more optimisations in getParameter(), both for straight lines and curves.
|
2011-03-07 02:26:59 +00:00 |
|
Jürg Lehni
|
0e8c346888
|
Further optimise getParameter() / getLength() code by reusing a integrand function and taking advantage of integral ranges.
|
2011-03-07 02:22:33 +00:00 |
|
Jürg Lehni
|
3447d11a6f
|
Some minor clean-ups.
|
2011-03-07 01:40:18 +00:00 |
|
Jürg Lehni
|
027a5e67b9
|
Add getLength() optimisation for straight lines.
|
2011-03-07 01:37:18 +00:00 |
|
Jürg Lehni
|
e1a7aff2f0
|
Add copyright notice and license file.
|
2011-03-07 00:50:44 +00:00 |
|
Jürg Lehni
|
9fdbd0146d
|
Rename MathUtils to Numerical.
|
2011-03-07 00:21:04 +00:00 |
|
Jürg Lehni
|
58f5c8554e
|
Add comments about initial guess.
|
2011-03-07 00:17:43 +00:00 |
|
Jürg Lehni
|
65900f8790
|
Implement Curve#getParameter() using MathUtils.brent(), with the astonishing result that performance can match the Java side on Chrome!
|
2011-03-07 00:00:45 +00:00 |
|
Jürg Lehni
|
29e57cc521
|
Replace slow simpson() method with insanely fast Gauss-Legendre Numerical Integration by Jim Armstrong which was further optimised.
|
2011-03-06 23:24:33 +00:00 |
|
Jürg Lehni
|
2df6dc989a
|
Add comments about changes that need backporting to Scriptographer.
|
2011-03-06 14:45:44 +00:00 |
|
Jürg Lehni
|
407b6d8d33
|
Add Curve#getPrevious / Next.
|
2011-03-06 13:26:09 +00:00 |
|
Jürg Lehni
|
eb09ec2442
|
Fix error in Curve evaluation.
|
2011-03-06 13:07:49 +00:00 |
|
Jürg Lehni
|
e19c3bf3c2
|
Define Curve#toString() and Curve#clone()
|
2011-03-06 12:56:47 +00:00 |
|
Jürg Lehni
|
d15bf94f8f
|
Add curve evaluation methods, untested.
|
2011-03-06 12:52:13 +00:00 |
|
Jürg Lehni
|
00d58a3e61
|
Move Path#getCurveLength() to Curve#getLength() and update tests accordingly.
|
2011-03-06 12:29:17 +00:00 |
|
Jürg Lehni
|
3ca1e4a25e
|
Always update segments when index is set, as segments list might have shifted in the meantime.
|
2011-03-06 12:25:08 +00:00 |
|
Jürg Lehni
|
909b2a22ba
|
Begin implementing Path#curves list.
|
2011-03-06 12:24:15 +00:00 |
|
Jürg Lehni
|
92bf51a7cc
|
Simplify the way the paper namespace is created and populated.
|
2011-03-04 13:34:31 +00:00 |
|
Jürg Lehni
|
c6d79f964c
|
Generalise all read() functions in Base.read(), fix an issue in by making sure arguments passed to initialie are never larger than length, and have Color's initialize create an RGBColor, to still be able to use Color.read().
|
2011-03-04 13:19:07 +00:00 |
|
Jürg Lehni
|
941c3c7346
|
Declare all classes as local variables, so they can be scoped.
|
2011-03-03 13:33:41 +00:00 |
|
Jürg Lehni
|
3a46ac3b54
|
Allow read() methods to receive an optional length parameter.
|
2011-03-03 13:15:55 +00:00 |
|
Jürg Lehni
|
dbbefa9526
|
index on master: fd4b7b7 Include DocumentView.js in all examples and tests.
|
2011-03-02 16:22:26 +00:00 |
|