Jürg Lehni
|
0680a50fd2
|
Fix yet another two bugs in CurveLocation.
|
2011-05-01 13:18:36 +01:00 |
|
Jürg Lehni
|
08e779d560
|
Fix two bugs in CurveLocation.
|
2011-05-01 13:16:25 +01:00 |
|
Jürg Lehni
|
6bbfd55240
|
Clean up Path#setSegments and begin moving of logic to keep Path#curves in sync away from Path#getCurves() to Path#setClosed(). Requires more work, e.g. Path#_add().
|
2011-04-30 23:44:37 +01:00 |
|
Jürg Lehni
|
6cca355e20
|
Add Curve.create() as faster internal constructor.
|
2011-04-30 23:29:10 +01:00 |
|
Jürg Lehni
|
053fb2d955
|
Move Path#get/setSegments back to top and remove test-code for array object extension.
|
2011-04-30 23:24:39 +01:00 |
|
Jürg Lehni
|
781b315808
|
Add getter/setter for Path#closed.
|
2011-04-30 23:22:29 +01:00 |
|
Jürg Lehni
|
bf3bd13540
|
Simplify Path#cubicCurveTo().
|
2011-04-30 23:17:19 +01:00 |
|
Jürg Lehni
|
6d84dc3351
|
Segment#isSelected() only checks for selection state of point. We need to check _selectionState instead to mirror behaviour in #_setSelected().
|
2011-04-28 19:04:00 +01:00 |
|
Jürg Lehni
|
d098c6e8b2
|
Fix index issue in #removeSegments().
|
2011-04-28 19:03:05 +01:00 |
|
Jürg Lehni
|
121ec5a93f
|
Allow #removeSegments() to be called without arguments, in which case all segments are removed.
|
2011-04-28 19:02:34 +01:00 |
|
Jürg Lehni
|
ea510c2403
|
Separate Path#remove(), #remove(index) & #remove(from, to) into #removeSegment(index) and #removeSegments(from, to).
|
2011-04-28 15:42:16 +01:00 |
|
Jürg Lehni
|
4d999d57e2
|
Replace all type converting string compares with ===, !==.
|
2011-04-28 13:23:17 +01:00 |
|
Jürg Lehni
|
115ef45464
|
Remove unnecessary .0 since numbers are all the same in JavaScript.
|
2011-04-28 13:13:33 +01:00 |
|
Jürg Lehni
|
0d697403b5
|
Clean up Path#curveTo() code.
|
2011-04-28 13:12:21 +01:00 |
|
Jürg Lehni
|
f69153844b
|
Make #setContextStyles() a 'protected' function.
|
2011-04-28 13:04:12 +01:00 |
|
Jürg Lehni
|
a9ea10ca7f
|
Move version of #getBounds() that handles children to Item, to eliminate duplicated code.
|
2011-04-28 10:04:36 +01:00 |
|
Jürg Lehni
|
6a483fa8be
|
Rename CurveLocation related functions to *At(offset), and add optional isParameter argument that defines whether offset is a length or a description of curve index / curve parameter.
|
2011-04-27 21:40:52 +01:00 |
|
Jürg Lehni
|
ea6cf24aae
|
Rename length parameter to more appropriate offset, to reflect recent name changes.
|
2011-04-27 21:23:57 +01:00 |
|
Jürg Lehni
|
3501e14c51
|
Remove comment about pending port that has been backported to Scriptographer.
|
2011-04-27 21:13:32 +01:00 |
|
Jürg Lehni
|
c2fbcbcaa8
|
Use Curve#getLength(from, to) rather than cloning and dividing.
|
2011-04-27 20:52:24 +01:00 |
|
Jürg Lehni
|
346493fb7c
|
Replace calls to getters with their internal property in all cases where getter does not perform additional magic.
|
2011-04-27 20:48:41 +01:00 |
|
Jürg Lehni
|
016f4c15aa
|
Rename CurveLocation#getLength() and #getCurveLength() to #getOffset() and #getCurveOffset(), and seperate Path#getLength([location]) into #getLength() and #_getOffset().
|
2011-04-27 20:08:57 +01:00 |
|
Jürg Lehni
|
b0a1f4b1a9
|
Add missing Path#getPoint(length).
|
2011-04-27 19:28:39 +01:00 |
|
Jürg Lehni
|
c836012d3d
|
Add CurveLocation#getTangent() and #getNormal() and use them in Path's versions.
|
2011-04-27 19:26:03 +01:00 |
|
Jürg Lehni
|
bf0bc81892
|
Fix various minor bugs in CurveLocation: We cannot rely on most of its field to always be set and need to call getters instead.
|
2011-04-27 19:24:40 +01:00 |
|
Jürg Lehni
|
cc06a6f128
|
Remove CurveLocation#getPath() again as its functionality is provided by #getItem() already.
|
2011-04-27 19:22:57 +01:00 |
|
Jürg Lehni
|
ebc9bc88c4
|
Use 0 instead of null for empty bit flag fields.
|
2011-04-27 19:11:22 +01:00 |
|
Jürg Lehni
|
c6d96784ba
|
Further simplify and compress code.
|
2011-04-27 18:16:32 +01:00 |
|
Jürg Lehni
|
f71967f3d3
|
Further simplify and compress code.
|
2011-04-27 17:57:56 +01:00 |
|
Jürg Lehni
|
6b6f27cb6e
|
Add TODOs about not returning -1 for undefined.
|
2011-04-27 17:53:59 +01:00 |
|
Jürg Lehni
|
4bfc56bb6d
|
Simplify and compress code a bit.
|
2011-04-27 17:53:23 +01:00 |
|
Jonathan Puckey
|
81a15379e5
|
Have Path#reverse also reverse the segment handles.
|
2011-04-27 15:49:06 +02: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
|
9671ac6dbc
|
Remove comment about pending port that has been backported to Scriptographer.
|
2011-04-27 12:30:17 +01:00 |
|
Jürg Lehni
|
e6a0f48256
|
Further clean-up code, as we only need previous / next references inside one sub-condition.
|
2011-04-27 12:26:10 +01:00 |
|
Jürg Lehni
|
138ec7d93c
|
No need to perform cyclic looping here now, since #getNext/Previous() does that for us.
|
2011-04-27 12:24:04 +01:00 |
|
Jürg Lehni
|
a251a24347
|
Add some TODOs to check.
|
2011-04-27 12:21:47 +01:00 |
|
Jürg Lehni
|
0e89466a11
|
Add cyclic looping to Segment#previous/next for closed paths.
|
2011-04-27 12:21:31 +01:00 |
|
Jürg Lehni
|
92369bf14f
|
Seperate the private Segment#is/setSelected(point) methods from the newly added getter / setter.
|
2011-04-27 12:15:51 +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
|
776edda51d
|
Cleaned-up Segment#is/setSelected() code a bit.
|
2011-04-27 12:06:44 +01:00 |
|
Jürg Lehni
|
cd2347aa9b
|
Remove comment about pending port that has been backported to Scriptographer.
|
2011-04-27 11:24: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
|
1c9cd9ace4
|
Clean up code in #setContextStyles().
|
2011-04-27 09:53:53 +01:00 |
|
Jürg Lehni
|
b7a4277143
|
Add comment about _x / _y properties and clean up code a bit.
|
2011-04-26 17:57:12 +01:00 |
|
Jürg Lehni
|
ead1600afe
|
Clean-up CurveLocation code and switch from returning -1 to null for #getIndex().
|
2011-04-26 17:49:54 +01:00 |
|
Jürg Lehni
|
c4ede92e81
|
Fix error in Path#getLastCurve().
|
2011-04-26 17:48:36 +01:00 |
|
Jürg Lehni
|
77ad25ffba
|
Clean up port comments.
|
2011-04-26 17:47:30 +01:00 |
|
Jürg Lehni
|
ac5dca4fc0
|
Update various comments about TODOs.
|
2011-04-26 17:04:15 +01:00 |
|
Jürg Lehni
|
bdfe35d93a
|
Consistently name local context variables 'ctx', to save line size and acknowledge the fact that Canvas contexts have a funny API design.
|
2011-04-26 15:39:16 +01:00 |
|
Jürg Lehni
|
a20f988511
|
Minor code cleanup.
|
2011-04-26 12:55:20 +01:00 |
|
Jürg Lehni
|
9d2459d799
|
Rename '// Todo' to '// TODO', which is the convention.
|
2011-04-26 12:39:48 +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
|
5e6630a1f3
|
Speed up drawHandle function.
|
2011-04-23 15:56:27 +02:00 |
|
Jonathan Puckey
|
538f360a6b
|
Fix Document#getSelectedItems & Path#setSegments.
|
2011-04-22 12:30:38 +02:00 |
|
Jonathan Puckey
|
4d89d6c235
|
Path#setSegments: reset _selectedSegmentCount when setting a new segment list.
|
2011-04-22 11:39:12 +02:00 |
|
Jonathan Puckey
|
11063af8df
|
CompoundPath cleanups.
|
2011-04-21 21:12:48 +02:00 |
|
Jonathan Puckey
|
1ea0a811b5
|
Use internal variables in CompoundPath#moveBy and Segment#isSelected.
|
2011-04-21 21:06:35 +02:00 |
|
Jonathan Puckey
|
af0543dac8
|
Some cleanups in Path.
|
2011-04-21 21:01:31 +02:00 |
|
Jonathan Puckey
|
dfb5cbc5eb
|
Fix two bugs in the selected items code.
|
2011-04-21 20:52:28 +02:00 |
|
Jonathan Puckey
|
be8ee90f75
|
Document: use a hash for Document#_selectedItems to speed up adding to and removing from it.
|
2011-04-21 20:43:42 +02:00 |
|
Jonathan Puckey
|
745f002cd3
|
Segment: add todo.
|
2011-04-21 20:00:11 +02:00 |
|
Jonathan Puckey
|
abb0878a25
|
Curve: Implement selection of curves.
|
2011-04-21 19:54:32 +02:00 |
|
Jonathan Puckey
|
cf541901dd
|
Rename getSelected methods to isSelected.
|
2011-04-21 19:51:49 +02:00 |
|
Jonathan Puckey
|
d831d66758
|
Implement SelectionState.js: bitwise flags for segment selection state.
|
2011-04-21 19:37:51 +02:00 |
|
Jonathan Puckey
|
7867a46c35
|
Path#setSelected: do XOR correctly.
|
2011-04-21 18:45:36 +02:00 |
|
Jonathan Puckey
|
cf2faa14e3
|
Path#join: use internal variables.
|
2011-04-21 18:43:22 +02:00 |
|
Jonathan Puckey
|
73b97dbfba
|
Implement segment point selection.
|
2011-04-21 18:06:06 +02:00 |
|
Jonathan Puckey
|
732caec7bf
|
Speed up drawing of selected items.
|
2011-04-21 15:48:21 +02:00 |
|
Jonathan Puckey
|
b2cd8cdec2
|
Path: use the internal SegmentPoint#_x and #_y properties where possible.
|
2011-04-21 15:25:25 +02:00 |
|
Jürg Lehni
|
985aa5aff8
|
Directly access internal _x and _y properties on internal SegmentPoints, to avoid callling getters.
|
2011-04-21 13:33:12 +01:00 |
|
Jürg Lehni
|
96f266b4d2
|
Add beginning of SegmentPoint class.
|
2011-04-21 13:21:56 +01:00 |
|
Jonathan Puckey
|
be9f312110
|
Implement a first version of drawing path selection.
|
2011-04-17 18:46:35 +02:00 |
|
Jonathan Puckey
|
74cee4abef
|
Implement Path#remove() and add tests for it.
|
2011-04-13 16:16:32 +02:00 |
|
Jonathan Puckey
|
6d4d07f2a8
|
Path.Constructors: simply Path.Star constructor.
|
2011-04-13 00:05:46 +02:00 |
|
Jonathan Puckey
|
0d4517c77f
|
Path: add todos for missing functions.
|
2011-04-12 14:36:02 +02:00 |
|
Jonathan Puckey
|
60dca8c2e8
|
Path#cubicCurveTo: convert arguments to points first.
|
2011-04-12 14:35:42 +02:00 |
|
Jonathan Puckey
|
91d8dd1187
|
Path: add todos for missing functions.
|
2011-04-12 14:28:18 +02:00 |
|
Jonathan Puckey
|
491250ef14
|
Simplify Path.Star constructor.
|
2011-04-12 14:20:56 +02:00 |
|
Jonathan Puckey
|
12de77eb42
|
Path.Constructors: implement Path.Star and add tests.
|
2011-04-12 14:18:00 +02:00 |
|
Jonathan Puckey
|
2a9bbd3dee
|
Fix Path#closePath & CompoundPath#closePath.
|
2011-04-11 23:33:08 +02:00 |
|
Jonathan Puckey
|
499c421021
|
Implement Path#join(path) and add tests for it.
|
2011-04-11 23:30:08 +02:00 |
|
Jonathan Puckey
|
594c11fedd
|
CurveLocation: fix mistakes.
|
2011-04-11 19:36:40 +02:00 |
|
Jonathan Puckey
|
aa043428c0
|
CurveLocation: add empty line to end of file.
|
2011-04-11 19:33:34 +02:00 |
|
Jonathan Puckey
|
b46c6d0a29
|
Curve: implement getLocation(length), getLength(location), getTangent(length), getNormal(length)
|
2011-04-11 19:32:19 +02:00 |
|
Jonathan Puckey
|
d396f48c4b
|
Implement CurveLocation.
|
2011-04-11 19:32:04 +02:00 |
|
Jürg Lehni
|
08d0499251
|
Change comment.
|
2011-03-25 19:58:20 +02:00 |
|
Jürg Lehni
|
e83195bb8f
|
Add #first/lastCurve getters.
|
2011-03-25 19:58:02 +02:00 |
|
Jürg Lehni
|
b5fdecf3d1
|
Rename ObservedRectangle to LinkedRectangle, ObservedPoint to LinkedPoint, and add more comments about what it is they are doing.
|
2011-03-22 17:27:46 +00: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
|
2c9d168224
|
Clean up and improve Path drawing commands.
|
2011-03-19 23:09:17 +00:00 |
|
Jürg Lehni
|
1267f41559
|
Add beginning of ObservedRectangle support and test it in animatedStar example.
|
2011-03-16 23:32:46 +01:00 |
|
Jürg Lehni
|
c284b0837e
|
Fix tiny error in Path#smooth()
|
2011-03-14 16:18:12 +01: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
|
195b089424
|
Clean up Path.* constructors and make sure they handle Base.read() returning null.
|
2011-03-08 17:20:30 +00:00 |
|