Commit 0e93c5b
committed
Create a provisional PrecisionPointList to better handle rounding errors
When translating a PointList through multiple scalable layers, rounding
errors accumulate over time because the remainder is discarded after
each layer. For other shapes such as Points and Rectangles, this is
solved by using a "Precision" variant.
With this change, such a variant now also exists for the PointList and
is used when calling "translateToAbsolute()" or "translateToRelative()"
on a Figure.
Note: The implementation of this PrecisionPointList is not complete and
currently only works for this specific use case. The double-array
doesn't update itself when the int-array is modified. This class should
therefore not yet be used outside Draw2D.
Relates to #8291 parent 9103503 commit 0e93c5b
File tree
3 files changed
+105
-0
lines changed- org.eclipse.draw2d.tests/src/org/eclipse/draw2d/test
- org.eclipse.draw2d/src/org/eclipse/draw2d
- geometry
3 files changed
+105
-0
lines changedLines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
| 21 | + | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
| |||
86 | 88 | | |
87 | 89 | | |
88 | 90 | | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
89 | 111 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
2096 | 2098 | | |
2097 | 2099 | | |
2098 | 2100 | | |
| 2101 | + | |
| 2102 | + | |
2099 | 2103 | | |
2100 | 2104 | | |
2101 | 2105 | | |
| |||
2120 | 2124 | | |
2121 | 2125 | | |
2122 | 2126 | | |
| 2127 | + | |
| 2128 | + | |
2123 | 2129 | | |
2124 | 2130 | | |
2125 | 2131 | | |
| |||
Lines changed: 77 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
0 commit comments