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 |
|