xrvg 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +8 -0
- data/README +1 -1
- data/Rakefile +36 -6
- data/examples/arciterate1.rb +13 -0
- data/examples/arcrecurse1.rb +30 -0
- data/examples/arcrecurse2.rb +37 -0
- data/examples/circleiterate1.rb +9 -0
- data/examples/circleiterate2.rb +11 -0
- data/examples/circleiterate3.rb +13 -0
- data/examples/circlerecurse1.rb +27 -0
- data/examples/circlerecurse2.rb +27 -0
- data/examples/circlerecurseall.rb +29 -0
- data/examples/euclideangeo.rb +11 -0
- data/examples/evolution1.rb +8 -0
- data/examples/evolution2.rb +9 -0
- data/examples/evolution3.rb +10 -0
- data/examples/fuseaugeo.rb +16 -0
- data/examples/gradientgeo.rb +21 -0
- data/examples/interbeziergeo1.rb +14 -0
- data/examples/interbeziergeo2.rb +17 -0
- data/examples/interbeziergeo3.rb +17 -0
- data/examples/offsetgeo.rb +16 -0
- data/lib/bezier.rb +37 -3
- data/lib/bezierbuilders.rb +17 -1
- data/lib/beziermotifs.rb +11 -4
- data/lib/bezierspline.rb +23 -1
- data/lib/beziertools.rb +48 -14
- data/lib/color.rb +55 -8
- data/lib/fitting.rb +2 -2
- data/lib/geometry2D.rb +10 -3
- data/lib/geovariety.rb +128 -0
- data/lib/interbezier.rb +4 -4
- data/lib/interpolation.rb +30 -17
- data/lib/parametriclength.rb +3 -2
- data/lib/render.rb +1 -2
- data/lib/samplation.rb +121 -19
- data/lib/shape.rb +2 -2
- data/lib/spiral.rb +72 -0
- data/lib/utils.rb +97 -76
- data/lib/xrvg.rb +3 -3
- data/test/test_bezier.rb +17 -2
- data/test/test_bezierbuilders.rb +1 -1
- data/test/test_beziertools.rb +7 -0
- data/test/test_color.rb +12 -0
- data/test/test_geovariety.rb +105 -0
- data/test/test_interpolation.rb +2 -1
- data/test/test_render.rb +0 -4
- data/test/test_sample.rb +28 -0
- data/test/test_spiral.rb +22 -0
- data/test/test_utils.rb +65 -40
- metadata +26 -2
@@ -0,0 +1,105 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'geovariety'
|
3
|
+
|
4
|
+
|
5
|
+
class GeoVarietor
|
6
|
+
include GeoVariety
|
7
|
+
end
|
8
|
+
|
9
|
+
class GeoVarietyTest < Test::Unit::TestCase
|
10
|
+
|
11
|
+
def test_abstract
|
12
|
+
assert_raise(NotImplementedError){GeoVarietor[].point(V2D::O)}
|
13
|
+
assert_raise(NotImplementedError){GeoVarietor[].line(0.0,1.0,0.5)}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class InterBezierTest2 < Test::Unit::TestCase
|
18
|
+
|
19
|
+
def test_point
|
20
|
+
bezier1 = Bezier.raw( V2D::O, V2D::X, V2D::O, V2D::X )
|
21
|
+
center = V2D::O
|
22
|
+
bezier2 = Bezier.raw( center, center, center, center )
|
23
|
+
interbezier = InterBezier.new( :bezierlist, [0.0, bezier1, 1.0, bezier2] )
|
24
|
+
assert( V2D.vequal?( interbezier.sample( 0.5 ).point( 0.5 ), interbezier.point( V2D[0.5,0.5] ) ) )
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_line
|
28
|
+
bezier1 = Bezier.raw( V2D::O, V2D::X, V2D::O, V2D::X )
|
29
|
+
center = V2D::O
|
30
|
+
bezier2 = Bezier.raw( center, center, center, center )
|
31
|
+
interbezier = InterBezier.new( :bezierlist, [0.0, bezier1, 1.0, bezier2] )
|
32
|
+
raw = interbezier.sample( 0.5 ).subbezier( 0.3, 0.7 )
|
33
|
+
geo = interbezier.line( 0.3, 0.7, 0.5 )
|
34
|
+
[raw.pointlist, geo.pointlist].forzip do |p1,p2|
|
35
|
+
assert( V2D.vequal?( p1, p2 ) )
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_bezier
|
40
|
+
bezier1 = Bezier.raw( V2D::O, V2D::X, V2D::O, V2D::X )
|
41
|
+
center = V2D::O
|
42
|
+
bezier2 = Bezier.raw( center, center, center, center )
|
43
|
+
interbezier = InterBezier.new( :bezierlist, [0.0, bezier1, 1.0, bezier2] )
|
44
|
+
|
45
|
+
geo = interbezier.bezier( (V2D[0.0,0.5]..V2D[1.0,0.5]), bezier1 )
|
46
|
+
raw = LinearBezier[ :support, [V2D::O, V2D::X * 0.5] ]
|
47
|
+
[raw.pointlist, geo.pointlist].forzip do |p1,p2|
|
48
|
+
assert( V2D.vequal?( p1, p2 ) )
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
class OffsetVarietyTest < Test::Unit::TestCase
|
55
|
+
|
56
|
+
def test_point
|
57
|
+
offsetvariety = OffsetVariety[ :support, LinearBezier.buildwithangle( 0.0 ), :ampl, 1.0 ]
|
58
|
+
assert( V2D.vequal?( V2D[0.5,0.0], offsetvariety.point( V2D[0.5,0.5] ) ) )
|
59
|
+
end
|
60
|
+
|
61
|
+
def test_line
|
62
|
+
offsetvariety = OffsetVariety[ :support, LinearBezier.buildwithangle( 0.0 ), :ampl, 1.0 ]
|
63
|
+
geo = offsetvariety.line( 0.25, 0.75, 0.75 )
|
64
|
+
raw = LinearBezier[ :support, [V2D[0.25,0.5], V2D[0.75,0.5]] ]
|
65
|
+
[raw.pointlist, geo.pointlist].forzip do |p1,p2|
|
66
|
+
assert( V2D.vequal?( p1, p2 ) )
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_bezier
|
71
|
+
offsetvariety = OffsetVariety[ :support, LinearBezier.buildwithangle( 0.0 ), :ampl, 1.0 ]
|
72
|
+
geo = offsetvariety.bezier( (V2D[0.25,0.75]..V2D[0.75,0.75]), LinearBezier.buildwithangle( 0.0 ) )
|
73
|
+
raw = LinearBezier[ :support, [V2D[0.25,0.5], V2D[0.75,0.5]] ]
|
74
|
+
[raw.pointlist, geo.pointlist].forzip do |p1,p2|
|
75
|
+
assert( V2D.vequal?( p1, p2 ) )
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
class FuseauVarietyTest < Test::Unit::TestCase
|
81
|
+
|
82
|
+
def test_point
|
83
|
+
offsetvariety = FuseauVariety[ :support, LinearBezier.buildwithangle( 0.0 ), :ampl, 1.0 ]
|
84
|
+
assert( V2D.vequal?( V2D[0.5,0.0], offsetvariety.point( V2D[0.5,0.5] ) ) )
|
85
|
+
end
|
86
|
+
|
87
|
+
def test_line
|
88
|
+
offsetvariety = FuseauVariety[ :support, LinearBezier.buildwithangle( 0.0 ), :ampl, 1.0 ]
|
89
|
+
geo = offsetvariety.line( 0.25, 0.75, 0.5 )
|
90
|
+
raw = LinearBezier[ :support, [V2D[0.0,0.0], V2D[1.0,0.0]] ].subbezier( 0.25, 0.75 )
|
91
|
+
[raw.pointlist, geo.pointlist].forzip do |p1,p2|
|
92
|
+
assert( V2D.vequal?( p1, p2 ) )
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_bezier
|
97
|
+
offsetvariety = FuseauVariety[ :support, LinearBezier.buildwithangle( 0.0 ), :ampl, 1.0 ]
|
98
|
+
geo = offsetvariety.bezier( (V2D[0.25,0.5]..V2D[0.75,0.5]), LinearBezier.buildwithangle( 0.0 ) )
|
99
|
+
raw = LinearBezier[ :support, [V2D[0.25,0.0], V2D[0.75,0.0]] ]
|
100
|
+
[raw.pointlist, geo.pointlist].forzip do |p1,p2|
|
101
|
+
assert( V2D.vequal?( p1, p2 ) )
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
data/test/test_interpolation.rb
CHANGED
@@ -4,7 +4,7 @@ require 'interpolation'
|
|
4
4
|
class InterpolatorTest < Test::Unit::TestCase
|
5
5
|
|
6
6
|
def test_quadtree
|
7
|
-
quad =
|
7
|
+
quad = BinaryTree.new( [0.0,1.0, 0.2,0.0, 0.6,1.0, 0.8,0.0, 1.0,1.0] )
|
8
8
|
assert_equal( [0.2,0.0, 0.6,1.0], quad.range( 0.5 ) )
|
9
9
|
assert_equal( [0.0,1.0, 0.2,0.0], quad.range( 0.0 ) )
|
10
10
|
assert_equal( [0.8,0.0, 1.0,1.0], quad.range( 1.0 ) )
|
@@ -22,6 +22,7 @@ class InterpolatorTest < Test::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
def test_interpolation
|
24
24
|
assert_raise(NotImplementedError) {A[].samplelist}
|
25
|
+
assert_equal( :linear, A[].interpoltype )
|
25
26
|
end
|
26
27
|
|
27
28
|
end
|
data/test/test_render.rb
CHANGED
@@ -4,7 +4,6 @@ require 'render'
|
|
4
4
|
class SVGRenderTest < Test::Unit::TestCase
|
5
5
|
|
6
6
|
def test_render
|
7
|
-
require 'shape'
|
8
7
|
if File.exist?( "svgrender.svg" )
|
9
8
|
File.delete( "svgrender.svg" )
|
10
9
|
end
|
@@ -15,7 +14,6 @@ class SVGRenderTest < Test::Unit::TestCase
|
|
15
14
|
end
|
16
15
|
|
17
16
|
def test_render2
|
18
|
-
require 'shape'
|
19
17
|
if File.exist?( "svgrender.svg" )
|
20
18
|
File.delete( "svgrender.svg" )
|
21
19
|
end
|
@@ -29,7 +27,6 @@ class SVGRenderTest < Test::Unit::TestCase
|
|
29
27
|
end
|
30
28
|
|
31
29
|
def test_render3
|
32
|
-
require 'shape'
|
33
30
|
if File.exist?( "svgrender.svg" )
|
34
31
|
File.delete( "svgrender.svg" )
|
35
32
|
end
|
@@ -40,7 +37,6 @@ class SVGRenderTest < Test::Unit::TestCase
|
|
40
37
|
end
|
41
38
|
|
42
39
|
def test_render4
|
43
|
-
require 'shape'
|
44
40
|
if File.exist?( "svgrender.svg" )
|
45
41
|
File.delete( "svgrender.svg" )
|
46
42
|
end
|
data/test/test_sample.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'xrvg'
|
3
|
+
include XRVG
|
4
|
+
|
5
|
+
class STest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_sample
|
8
|
+
# assert_equal( [0.0, 0.571428571428571, 0.857142857142857, 1.0], (0.0..1.0).geofull(2.0).samples( 4 ) )
|
9
|
+
assert_equal( [0.0, 0.5, 0.75], [(0.0..0.75)].geofull(2.0).samples( 3 ) )
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_sin
|
13
|
+
[[0.0,0.0], (0.0..1.0).sin().samples( 2 )].forzip do |exp, real|
|
14
|
+
assert( exp.fequal?( real ) )
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_random
|
19
|
+
result = (0.0..1.0).random.samples( 10 )
|
20
|
+
assert_not_equal( result, result.sort )
|
21
|
+
result = (0.0..1.0).random(:sort,true).samples( 10 )
|
22
|
+
assert_equal( result, result.sort )
|
23
|
+
result = (0.0..1.0).random(:mindiff, 0.01).samples( 10 )
|
24
|
+
assert_not_equal( result, result.sort )
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
data/test/test_spiral.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
# require 'XRVG'
|
3
|
+
# include XRVG
|
4
|
+
|
5
|
+
class SpiralTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
def test_abstract
|
8
|
+
assert_raise(NotImplementedError) {GSpiral.new.compute_radius( 0.0,0.0,0.0,0.0)}
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_all
|
12
|
+
spiral = SpiralLog[]
|
13
|
+
# assert_equal( V2D::O, spiral.point( 1.0 ) )
|
14
|
+
assert_equal( V2D::X, spiral.point( 0.0 ) )
|
15
|
+
spiral = SpiralLinear[]
|
16
|
+
assert_equal( V2D::X, spiral.point( 0.0 ) )
|
17
|
+
|
18
|
+
assert_raise(NotImplementedError) {GSpiral.new.maxangle( 0.0,0.0,0.0)}
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
|
data/test/test_utils.rb
CHANGED
@@ -1,39 +1,7 @@
|
|
1
1
|
require 'test/unit'
|
2
|
-
require '
|
2
|
+
require 'xrvg'
|
3
|
+
include XRVG
|
3
4
|
|
4
|
-
class IntegerTest < Test::Unit::TestCase
|
5
|
-
|
6
|
-
def test_denum!
|
7
|
-
assert_equal( [10.0, 20.0, 30.0], (10.0..30.0).samples( 3 ) )
|
8
|
-
end
|
9
|
-
|
10
|
-
def test_numsplit!
|
11
|
-
assert_equal( [0.0, 5.0, 10.0], (0.0..10.0).samples( 3 ) )
|
12
|
-
end
|
13
|
-
|
14
|
-
def test_itergeo!
|
15
|
-
# assert_equal( [1.0, 0.246596963941606, 0.0608100626252179], (1.0..0.0).geo(2.8).samples(3) )
|
16
|
-
end
|
17
|
-
|
18
|
-
def test_randsplit1!
|
19
|
-
result = 3.randsplit!
|
20
|
-
assert_equal( 1.0, result[0] + result[1] + result[2] )
|
21
|
-
assert_equal( [], 3.randsplit!( 4.0 ) )
|
22
|
-
end
|
23
|
-
|
24
|
-
def test_randsplitsum!
|
25
|
-
result = 3.randsplitsum!
|
26
|
-
puts "test_randsplitsum! result #{result.join(" ")}"
|
27
|
-
result.each_cons(2) {|min, max| assert( min <= max )}
|
28
|
-
end
|
29
|
-
|
30
|
-
def test_randsplitsum2!
|
31
|
-
result = 3.randsplitsum!(0.3)
|
32
|
-
puts "test_randsplitsum! minsize result #{result.join(" ")}"
|
33
|
-
result.each_cons(2) {|min, max| assert( min <= max )}
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
37
5
|
|
38
6
|
class StringTest < Test::Unit::TestCase
|
39
7
|
|
@@ -151,9 +119,20 @@ class ArrayTest < Test::Unit::TestCase
|
|
151
119
|
|
152
120
|
def test_range
|
153
121
|
assert_equal( (1.0..5.0), [5.0,3.0,1.0].range )
|
122
|
+
assert_equal( (1.0..2.0), [V2D[2.0,1.0], V2D[1.0,2.0]].range( :x ) )
|
123
|
+
end
|
124
|
+
|
125
|
+
def test_sample
|
126
|
+
assert_equal( [0.0, 0.5, 0.75], [(0.0..0.75)].geofull(2.0).samples( 3 ) )
|
154
127
|
end
|
155
128
|
|
129
|
+
def test_choice
|
130
|
+
assert_equal( 0.0, [0.0,0.0,0.0].choice )
|
131
|
+
end
|
156
132
|
|
133
|
+
def test_shuffle
|
134
|
+
assert_not_equal( [0.0, 0.1, 0.2, 0.5, 1.0], [0.0,0.1, 0.2, 0.5,1.0].shuffle )
|
135
|
+
end
|
157
136
|
end
|
158
137
|
|
159
138
|
class FloatTest < Test::Unit::TestCase
|
@@ -163,14 +142,17 @@ class FloatTest < Test::Unit::TestCase
|
|
163
142
|
end
|
164
143
|
|
165
144
|
def test_complement
|
166
|
-
assert_equal( 0.75, 0.
|
145
|
+
assert_equal( 0.75, (0.0..1.0).complement( 0.25 ) )
|
146
|
+
end
|
147
|
+
|
148
|
+
def test_fequal
|
149
|
+
assert( 0.25.fequal?( 0.26,0.02) )
|
150
|
+
assert_equal( false, 0.25.fequal?( 0.26,0.01) )
|
167
151
|
end
|
168
152
|
|
169
|
-
def
|
170
|
-
assert_equal(
|
171
|
-
|
172
|
-
r = 0.25.randsplit
|
173
|
-
assert_equal( 0.25, r[0] + r[1] )
|
153
|
+
def test_sort_float_list
|
154
|
+
assert_equal( [0.25], Float.sort_float_list([0.26,0.25], 0.02 ) )
|
155
|
+
assert_equal( [0.25,0.26], Float.sort_float_list([0.26,0.25], 0.01 ) )
|
174
156
|
end
|
175
157
|
|
176
158
|
def test_float_include
|
@@ -195,6 +177,20 @@ class RangeTest < Test::Unit::TestCase
|
|
195
177
|
assert_not_equal( [0.0, 1.0], (0.0..1.0).ssort.random.samples(2))
|
196
178
|
end
|
197
179
|
|
180
|
+
def test_random
|
181
|
+
result = Range.O.random(:mindiff,0.0).samples( 3 )
|
182
|
+
# what kinf of test ?
|
183
|
+
assert_raise(RuntimeError) {Range.O.random(:mindiff,6.0).samples( 3 )}
|
184
|
+
assert_equal( [0.0,1.0,2.0], (0.0..2.0).random(:mindiff,0.5,:sort,true).samples( 3 ) )
|
185
|
+
assert_not_equal( [0.0, 1.0], (0.0..1.0).random.samples(2))
|
186
|
+
assert_equal( [0.0, 0.5, 1.0], (0.0..1.0).random(:mindiff,0.5,:sort,true).samples(3))
|
187
|
+
assert_raise(RuntimeError) {(0.0..1.0).random(:mindiff,0.6).samples(3)}
|
188
|
+
end
|
189
|
+
|
190
|
+
def test_shuffle
|
191
|
+
assert_not_equal( [0.0, 0.25, 0.5, 0.75, 1.0], (0.0..1.0).shuffle.samples(5))
|
192
|
+
assert_equal( [0.0, 0.25, 0.5, 0.75, 1.0], (0.0..1.0).ssort.shuffle.samples(5))
|
193
|
+
end
|
198
194
|
|
199
195
|
def test_samplesblock
|
200
196
|
result = []
|
@@ -209,6 +205,31 @@ class RangeTest < Test::Unit::TestCase
|
|
209
205
|
assert_equal( [(0.0..0.5), (0.5..1.0)], (0.0..1.0).splits(2) )
|
210
206
|
end
|
211
207
|
|
208
|
+
def test_modulo
|
209
|
+
assert_equal( -0.5, (-1.0..1.5).modulo( 2.0 ) )
|
210
|
+
end
|
211
|
+
|
212
|
+
def test_modulos
|
213
|
+
assert_equal( [(0.2..0.3)], (0.0..1.0).modulos( (0.2..0.3) ) )
|
214
|
+
assert_equal( [(0.3..0.2)], (0.0..1.0).modulos( (0.3..0.2) ) )
|
215
|
+
[(0.0..1.0).modulos( (1.1..0.2) ), [(0.1..0.0), (1.0..0.2)]].forzip do |res, exp|
|
216
|
+
assert( res.begin.fequal?( exp.begin ) )
|
217
|
+
assert( res.end.fequal?( exp.end ) )
|
218
|
+
end
|
219
|
+
[(0.0..1.0).modulos( (0.2..1.1) ), [(0.2..1.0), (0.0..0.1)]].forzip do |res, exp|
|
220
|
+
assert( res.begin.fequal?( exp.begin ) )
|
221
|
+
assert( res.end.fequal?( exp.end ) )
|
222
|
+
end
|
223
|
+
[(0.0..1.0).modulos( (0.2..2.1) ), [(0.2..1.0), (0.0..1.0), (0.0..0.1)]].forzip do |res, exp|
|
224
|
+
assert( res.begin.fequal?( exp.begin ) )
|
225
|
+
assert( res.end.fequal?( exp.end ) )
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
def test_size
|
230
|
+
assert_equal( 1.2, (2.0..0.8).size )
|
231
|
+
end
|
232
|
+
|
212
233
|
def test_splitblock
|
213
234
|
result = []
|
214
235
|
(0.0..1.0).splits(2) do |subrange|
|
@@ -331,6 +352,10 @@ class SampleTest < Test::Unit::TestCase
|
|
331
352
|
assert_equal( 1.0, (0.0..1.0).geo(100.0).sample( 1.0 ) )
|
332
353
|
end
|
333
354
|
|
355
|
+
def test_geofull
|
356
|
+
assert_equal( [0.0,2.0/3.0,1.0], (0.0..1.0).geofull(2.0).samples( 3 ))
|
357
|
+
end
|
358
|
+
|
334
359
|
def test_alternate
|
335
360
|
assert_equal( [1.0,1.5], (1.0..0.0).alternate.samples( [0.0,0.5] ) )
|
336
361
|
assert_equal( [0.0,-0.5], AlternateFilter[(0.0..1.0)].samples( [0.0,0.5] ) )
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
|
|
3
3
|
specification_version: 1
|
4
4
|
name: xrvg
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.0.
|
7
|
-
date: 2008-
|
6
|
+
version: 0.0.6
|
7
|
+
date: 2008-08-06 00:00:00 +02:00
|
8
8
|
summary: Ruby vector graphics library
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -40,27 +40,48 @@ files:
|
|
40
40
|
- lib/fitting.rb
|
41
41
|
- lib/frame.rb
|
42
42
|
- lib/geometry2D.rb
|
43
|
+
- lib/geovariety.rb
|
43
44
|
- lib/interbezier.rb
|
44
45
|
- lib/interpolation.rb
|
45
46
|
- lib/parametriclength.rb
|
46
47
|
- lib/render.rb
|
47
48
|
- lib/samplation.rb
|
48
49
|
- lib/shape.rb
|
50
|
+
- lib/spiral.rb
|
49
51
|
- lib/style.rb
|
50
52
|
- lib/trace.rb
|
51
53
|
- lib/utils.rb
|
52
54
|
- lib/xrvg.rb
|
55
|
+
- examples/arciterate1.rb
|
56
|
+
- examples/arcrecurse1.rb
|
57
|
+
- examples/arcrecurse2.rb
|
53
58
|
- examples/bezierbasic.rb
|
54
59
|
- examples/bezierbasicvector.rb
|
60
|
+
- examples/circleiterate1.rb
|
61
|
+
- examples/circleiterate2.rb
|
62
|
+
- examples/circleiterate3.rb
|
63
|
+
- examples/circlerecurse1.rb
|
64
|
+
- examples/circlerecurse2.rb
|
65
|
+
- examples/circlerecurseall.rb
|
66
|
+
- examples/euclideangeo.rb
|
67
|
+
- examples/evolution1.rb
|
68
|
+
- examples/evolution2.rb
|
69
|
+
- examples/evolution3.rb
|
55
70
|
- examples/foreach.rb
|
71
|
+
- examples/fuseaugeo.rb
|
56
72
|
- examples/geodash.rb
|
57
73
|
- examples/geodash2.rb
|
74
|
+
- examples/gradientgeo.rb
|
58
75
|
- examples/hellocrown.rb
|
59
76
|
- examples/hellocrown2.rb
|
60
77
|
- examples/hellocrownrecurse.rb
|
61
78
|
- examples/helloworldcompact.rb
|
62
79
|
- examples/helloworldexpanded.rb
|
80
|
+
- examples/interbeziergeo1.rb
|
81
|
+
- examples/interbeziergeo2.rb
|
82
|
+
- examples/interbeziergeo3.rb
|
63
83
|
- examples/multibezierbasic.rb
|
84
|
+
- examples/offsetgeo.rb
|
64
85
|
- examples/palette_circle.rb
|
65
86
|
- examples/randomdash.rb
|
66
87
|
- examples/range_examples.rb
|
@@ -79,11 +100,14 @@ test_files:
|
|
79
100
|
- test/test_fitting.rb
|
80
101
|
- test/test_frame.rb
|
81
102
|
- test/test_geometry2D.rb
|
103
|
+
- test/test_geovariety.rb
|
82
104
|
- test/test_interbezier.rb
|
83
105
|
- test/test_interpolation.rb
|
84
106
|
- test/test_parametric_length.rb
|
85
107
|
- test/test_render.rb
|
108
|
+
- test/test_sample.rb
|
86
109
|
- test/test_shape.rb
|
110
|
+
- test/test_spiral.rb
|
87
111
|
- test/test_style.rb
|
88
112
|
- test/test_trace.rb
|
89
113
|
- test/test_utils.rb
|