Commit graph

514 commits

Author SHA1 Message Date
Jürg Lehni
401c4d5dc4 Rearrange @constructor documentation sequence. 2011-06-14 23:01:35 +01:00
Jürg Lehni
ffa79f4fd1 Clean up white spaces in comments. 2011-06-14 22:59:45 +01:00
Jürg Lehni
a7d22b2165 Add comment about porting back Path#arcTo(). 2011-06-14 21:32:14 +01:00
Jürg Lehni
8213dce4a9 Have newly added segments selected if path was fully selected before. 2011-06-14 15:40:03 +01:00
Jürg Lehni
a32b687bfd Bigger refactoring of handling of segment selection: Have Path#_selectedSegmentState be the summed up value of all Segment's states, and compare it to segments.length * SelectionState.POINT in #fullySelected. 2011-06-14 15:37:25 +01:00
Jürg Lehni
ad78474ae4 Remove obsolete TODO. 2011-06-14 12:46:15 +01:00
Jürg Lehni
50bc64779f Handle special case of infinitely big circle in Path#arcTo(), by cheating using an approximation of a really big circle. 2011-06-14 12:45:37 +01:00
Jürg Lehni
2be18b8013 Completely rewrite Path#arcTo() using Point class and vector geometry methods. 2011-06-14 12:19:14 +01:00
Jürg Lehni
8d0bb3d2ae Path#arcTo(): Fix wrong constant names. 2011-06-14 09:32:53 +01:00
Jürg Lehni
b4a210e113 Path#arcTo(): Fix the case where through point lies on a line between from and to point. 2011-06-14 09:12:18 +01:00
Jürg Lehni
f0c22bc1dc Shorten pre-calculations in Path#arcTo(). 2011-06-14 09:00:55 +01:00
Jürg Lehni
f6b2672f08 Simplify Path#arcTo() arguments check. 2011-06-14 09:00:25 +01:00
Jürg Lehni
a3d1875971 More clean ups. 2011-06-13 19:09:10 +01:00
Jürg Lehni
de739b42a8 Clean up white spaces. 2011-06-13 19:05:17 +01:00
Jürg Lehni
064f17eaec Fix default value for end in Path#removeSegments(), so the last segment gets removed too. 2011-06-13 19:00:39 +01:00
Jürg Lehni
4a23e35eee Merge remote-tracking branch 'origin/master' 2011-06-12 18:42:24 +01:00
Jürg Lehni
c341ec220a Fix white space. 2011-06-12 18:40:30 +01:00
Jürg Lehni
065777291e Fix filtering of duplace points in path fitting code. 2011-06-12 18:40:24 +01:00
Jonathan Puckey
20fc389020 Documentation: add see tag to Path#closePath(). 2011-06-10 13:33:14 +02:00
Jonathan Puckey
87c1b564d2 Document Path#lineBy(vector). 2011-06-10 13:32:37 +02:00
Jonathan Puckey
ac703f1baa Path: add example of pointToCurves(). 2011-06-10 00:07:25 +02:00
Jürg Lehni
928b7df01e Fix typo introduced in previous refactoring. 2011-06-06 17:18:22 +01:00
Jürg Lehni
046f9cef6e Add comments. 2011-06-05 23:14:36 +01:00
Jürg Lehni
2fe21586df Further simplifications of path fitter code. 2011-06-05 23:14:28 +01:00
Jürg Lehni
3a4af3f854 Rename variables forgotten in previous refactoring. 2011-06-05 23:13:45 +01:00
Jürg Lehni
b035077d31 Simplify code. 2011-06-05 23:00:33 +01:00
Jürg Lehni
9e25047b91 Further clean ups. 2011-06-05 22:09:19 +01:00
Jürg Lehni
68eb14c00d Clean up code. 2011-06-05 22:06:24 +01:00
Jürg Lehni
10e1417dc2 Check for denominator == 0 with tolerance. 2011-06-05 21:59:42 +01:00
Jürg Lehni
0366752a6f Merge remote-tracking branch 'origin/master' 2011-06-05 21:56:17 +01:00
Jürg Lehni
73a188742e Fix bug in singularity check. 2011-06-05 21:56:04 +01:00
Jürg Lehni
ee7147d58e Rename forgotten variables in previous refactoring. 2011-06-05 21:51:01 +01:00
Jonathan Puckey
b385b859f9 Merge remote branch 'origin/master' 2011-06-05 22:46:22 +02:00
Jürg Lehni
6ea63fde43 Handle case of nearly singular matrix separately. 2011-06-05 21:45:29 +01:00
Jürg Lehni
27c7248a2d Clean up and shorten code. 2011-06-05 21:44:34 +01:00
Jonathan Puckey
d2759c2371 Improve Segment constructor example. 2011-06-05 22:44:32 +02:00
Jonathan Puckey
9d4afcfe9c Add another Path#add example. 2011-06-05 22:44:01 +02:00
Jonathan Puckey
5513687daa Add Path#smooth examples. 2011-06-05 22:43:36 +02:00
Jürg Lehni
12e770c032 Merge remote-tracking branch 'origin/master' 2011-06-05 21:32:10 +01:00
Jürg Lehni
bcb5df9f04 Clean up. 2011-06-05 21:31:58 +01:00
Jürg Lehni
ca18b20785 Remove Douglas–Peucker algorithm again since it produced ackward results. 2011-06-05 21:29:19 +01:00
Jürg Lehni
42f5b5e26e Implement Douglas–Peucker algorithm for point reduction before the curve fitting. 2011-06-05 21:28:49 +01:00
Jürg Lehni
aef8dcf2d3 Check for determinant singularity and handle separately. 2011-06-05 21:27:24 +01:00
Jürg Lehni
7d2742cd94 Rename PathFitter#process() -> #fit(). 2011-06-05 21:26:01 +01:00
Jürg Lehni
4854e56e1d Filter out adjacent duplicate points. 2011-06-05 21:25:38 +01:00
Jonathan Puckey
fe901fa96b Add to and improve Path documentation. 2011-06-05 22:02:30 +02:00
Jürg Lehni
28c680ac94 Implement PathFitter and Path#pointsToCurves(). 2011-06-05 19:27:18 +01:00
Jürg Lehni
caec7599be Fix a bug with Segment constructor where two passed points with the first one having an x-coordinate of 0 would accidentaly be considered the two coordinate values for the point property. 2011-06-05 18:41:58 +01:00
Jonathan Puckey
e4eb463204 Path: document arcTo and curveTo. 2011-06-05 18:40:33 +02:00
Jonathan Puckey
14e2a61d25 Add examples to Path#arcTo docs. 2011-06-05 17:22:35 +02:00
Jonathan Puckey
ab09a44dc6 Add examples to Path#join documentation. 2011-06-05 16:12:31 +02:00
Jonathan Puckey
c10aa01de0 Fix a bug in Path#join. 2011-06-05 15:56:37 +02:00
Jonathan Puckey
5770ebc9ff Merge remote branch 'origin/master' 2011-06-05 15:04:43 +02:00
Jonathan Puckey
deec7512cc Path: fix return type in #getLocationAt documentation. 2011-06-05 15:04:34 +02:00
Jonathan Puckey
34b510bf1c Path: add examples to #getPointAt, #getNormalAt and #getTangentAt. 2011-06-05 15:00:43 +02:00
Jonathan Puckey
bb956c890f Add documentation stub for Path#arcTo(through, to) 2011-06-05 14:52:01 +02:00
Jonathan Puckey
4e0a857ee7 Fix a problem in Path#arcTo where it wasn't defaulting to a clockwise arc. 2011-06-05 14:51:37 +02:00
Jürg Lehni
b3d771a870 Remove Curve#transform() which is currently broken anyhow. 2011-06-05 13:27:39 +01:00
Jürg Lehni
e76c4e0de1 Implement Path#curvesToPoints() using the new PathFlattener class. 2011-06-05 13:21:00 +01:00
Jürg Lehni
74b9da9882 Define PathFlattener#evaluate() for curve evaluation at given offsets. 2011-06-05 13:20:20 +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
3a0f43050e Rename length to offset. 2011-06-05 11:34:40 +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
47085e44ca Fix drawing of closed paths that was broken in recent commit. 2011-06-05 11:20:28 +01:00
Jürg Lehni
6095723e70 Fix single equal compare. 2011-06-04 21:46:48 +01:00
Jürg Lehni
90be683113 Clean up and add more comments. 2011-06-04 19:25:50 +01:00
Jürg Lehni
263fa8cbd9 Add comments. 2011-06-04 18:35:00 +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
e097ff1303 Include copyright notice and clean up. 2011-06-04 16:12:55 +01:00
Jürg Lehni
5fa43efb79 Merge remote-tracking branch 'origin/master' 2011-06-04 16:08:52 +01:00
Jürg Lehni
6c74ace1ed Implement dashed stroke support. Work in progress. 2011-06-04 16:08:40 +01:00
Jürg Lehni
e5290c3f47 More work on Path#draw(). 2011-06-04 15:28:06 +01:00
Jürg Lehni
45a04891ee Clean up. 2011-06-04 15:16:30 +01:00
Jürg Lehni
91886211b5 Simplify Path#draw() by defining a private drawSegment() that's used to close paths too. 2011-06-04 15:16:21 +01:00
Jonathan Puckey
a96b272f7a Documentation edits. 2011-06-04 15:50:29 +02:00
Jürg Lehni
ce01d2cc59 Start implementing CurveFlattener, as required for dashing. 2011-06-04 12:40:58 +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
5e05f38df0 Path docs: add return tag for #getLocationAt. 2011-06-03 23:06:05 +02:00
Jonathan Puckey
d77e9cfb4f Path docs: add Positions on Paths and Curves group title and temporary Path Smoothing group title. 2011-06-03 23:05:22 +02:00
Jonathan Puckey
083099a919 Add Path#closed example. 2011-06-03 23:04:18 +02:00
Jonathan Puckey
7d1297fcf4 Path#draw: Fix drawing of selected path handles. 2011-06-03 11:33:34 +02:00
Jürg Lehni
29967153c3 Clean up TODO comments... 2011-06-01 10:49:43 +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
Jonathan Puckey
16f521b8a2 Path.Constructors docs: move @example tags to the end of the comments and shorten the lines of the examples. 2011-05-30 17:13:19 +02:00
Jürg Lehni
9d00541987 Clean up PORT comments. 2011-05-29 19:20:10 +01:00
Jonathan Puckey
742d7f809d Segment: document #toString and #selected. 2011-05-29 16:57:48 +02:00
Jonathan Puckey
6b63bb8a36 Documention: add postscript methods to CompoundPath 2011-05-29 16:49:52 +02:00
Jonathan Puckey
41bf1f4543 CompoundPath: document #moveTo and #moveBy. 2011-05-29 16:13:30 +02:00
Jonathan Puckey
0b9c034e0d Path: document #addSegments and #insertSegments 2011-05-29 16:06:23 +02:00
Jonathan Puckey
78ab493709 Documentation: add todo to Path#add 2011-05-29 16:05:47 +02:00
Jonathan Puckey
cd76c8c0e1 Documentation: remove ^n from method names, since this isn't necessary anymore. 2011-05-28 02:18:10 +02: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
25c3534dc1 Documentation: remove part of the constructor explanation of CurveLocation until the mentioned functions have been added. 2011-05-27 20:06:57 +02:00