gosling 1.0.0 → 2.0.0

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/spec/polygon_spec.rb CHANGED
@@ -7,7 +7,7 @@ describe Gosling::Polygon do
7
7
  describe '#get_vertices' do
8
8
  it 'returns a list of three or more vertices' do
9
9
  expect(@polygon.get_vertices).to be_instance_of(Array)
10
- expect(@polygon.get_vertices[0]).to be_instance_of(Vector)
10
+ expect(@polygon.get_vertices[0]).to be_instance_of(Snow::Vec3)
11
11
  expect(@polygon.get_vertices.length).to be >= 3
12
12
  end
13
13
  end
@@ -15,10 +15,10 @@ describe Gosling::Polygon do
15
15
  describe '#set_vertices' do
16
16
  it 'assigns new vertices' do
17
17
  vertices = [
18
- Vector[ 1, 0, 1],
19
- Vector[ 0, 1, 1],
20
- Vector[-1, 0, 1],
21
- Vector[ 0, -1, 1],
18
+ Snow::Vec3[ 1, 0, 1],
19
+ Snow::Vec3[ 0, 1, 1],
20
+ Snow::Vec3[-1, 0, 1],
21
+ Snow::Vec3[ 0, -1, 1],
22
22
  ]
23
23
 
24
24
  polygon = Gosling::Polygon.new(@window)
@@ -45,8 +45,8 @@ describe Gosling::Polygon do
45
45
 
46
46
  it 'raises an error if the parameter array is too short' do
47
47
  vertices = [
48
- Vector[ 1, 0, 1],
49
- Vector[ 0, 1, 1]
48
+ Snow::Vec3[ 1, 0, 1],
49
+ Snow::Vec3[ 0, 1, 1]
50
50
  ]
51
51
 
52
52
  polygon = Gosling::Polygon.new(@window)
@@ -55,10 +55,10 @@ describe Gosling::Polygon do
55
55
 
56
56
  it 'raises an error if any vertices in the parameter array are not length 3' do
57
57
  vertices = [
58
- Vector[ 1, 0],
59
- Vector[ 0, 1],
60
- Vector[-1, 0],
61
- Vector[ 0, -1],
58
+ Snow::Vec3[ 1, 0, 1],
59
+ Snow::Vec3[ 0, 1, 0],
60
+ Snow::Vec2[-1, 0],
61
+ Snow::Vec3[ 0, -1, 3],
62
62
  ]
63
63
 
64
64
  polygon = Gosling::Polygon.new(@window)
@@ -70,17 +70,17 @@ describe Gosling::Polygon do
70
70
  before(:all) do
71
71
  @global_polygon = Gosling::Polygon.new(@window)
72
72
  @global_polygon.set_vertices([
73
- Vector[1, 1, 0],
74
- Vector[0, -1, 0],
75
- Vector[-1, -1, 0],
76
- Vector[-1, 2, 0]
73
+ Snow::Vec3[1, 1, 0],
74
+ Snow::Vec3[0, -1, 0],
75
+ Snow::Vec3[-1, -1, 0],
76
+ Snow::Vec3[-1, 2, 0]
77
77
  ])
78
78
  end
79
79
 
80
80
  it 'returns a list of three or more vertices' do
81
81
  result = @global_polygon.get_global_vertices
82
82
  expect(result).to be_instance_of(Array)
83
- expect(result[0]).to be_instance_of(Vector)
83
+ expect(result[0]).to be_instance_of(Snow::Vec3)
84
84
  expect(result.length).to be >= 3
85
85
  end
86
86
 
@@ -95,10 +95,10 @@ describe Gosling::Polygon do
95
95
 
96
96
  vertices = @global_polygon.get_global_vertices
97
97
  expect(vertices).to be == [
98
- Vector[-9, -1, 0],
99
- Vector[-10, -3, 0],
100
- Vector[-11, -3, 0],
101
- Vector[-11, 0, 0]
98
+ Snow::Vec3[-9, -1, 0],
99
+ Snow::Vec3[-10, -3, 0],
100
+ Snow::Vec3[-11, -3, 0],
101
+ Snow::Vec3[-11, 0, 0]
102
102
  ]
103
103
  end
104
104
 
@@ -113,10 +113,10 @@ describe Gosling::Polygon do
113
113
 
114
114
  vertices = @global_polygon.get_global_vertices
115
115
  expect(vertices).to be == [
116
- Vector[3, 2, 0],
117
- Vector[0, -2, 0],
118
- Vector[-3, -2, 0],
119
- Vector[-3, 4, 0]
116
+ Snow::Vec3[3, 2, 0],
117
+ Snow::Vec3[0, -2, 0],
118
+ Snow::Vec3[-3, -2, 0],
119
+ Snow::Vec3[-3, 4, 0]
120
120
  ]
121
121
  end
122
122
 
@@ -131,10 +131,10 @@ describe Gosling::Polygon do
131
131
 
132
132
  vertices = @global_polygon.get_global_vertices
133
133
  expect(vertices).to be == [
134
- Vector[1, -1, 0],
135
- Vector[-1, 0, 0],
136
- Vector[-1, 1, 0],
137
- Vector[2, 1, 0]
134
+ Snow::Vec3[1, -1, 0],
135
+ Snow::Vec3[-1, 0, 0],
136
+ Snow::Vec3[-1, 1, 0],
137
+ Snow::Vec3[2, 1, 0]
138
138
  ]
139
139
  end
140
140
 
@@ -149,10 +149,10 @@ describe Gosling::Polygon do
149
149
 
150
150
  vertices = @global_polygon.get_global_vertices
151
151
  expect(vertices).to be == [
152
- Vector[-49, 11, 0],
153
- Vector[-50, 9, 0],
154
- Vector[-51, 9, 0],
155
- Vector[-51, 12, 0]
152
+ Snow::Vec3[-49, 11, 0],
153
+ Snow::Vec3[-50, 9, 0],
154
+ Snow::Vec3[-51, 9, 0],
155
+ Snow::Vec3[-51, 12, 0]
156
156
  ]
157
157
  end
158
158
 
@@ -198,10 +198,10 @@ describe Gosling::Polygon do
198
198
  it 'respects all ancestors' do
199
199
  vertices = @global_polygon.get_global_vertices
200
200
  expect(vertices).to be == [
201
- Vector[(1 + 10) * 3 - 10, (1 - 50) * -2 - 2, 0],
202
- Vector[(-1 + 10) * 3 - 10, (0 - 50) * -2 - 2, 0],
203
- Vector[(-1 + 10) * 3 - 10, (-1 - 50) * -2 - 2, 0],
204
- Vector[(2 + 10) * 3 - 10, (-1 - 50) * -2 - 2, 0]
201
+ Snow::Vec3[(1 + 10) * 3 - 10, (1 - 50) * -2 - 2, 0],
202
+ Snow::Vec3[(-1 + 10) * 3 - 10, (0 - 50) * -2 - 2, 0],
203
+ Snow::Vec3[(-1 + 10) * 3 - 10, (-1 - 50) * -2 - 2, 0],
204
+ Snow::Vec3[(2 + 10) * 3 - 10, (-1 - 50) * -2 - 2, 0]
205
205
  ]
206
206
  end
207
207
 
data/spec/rect_spec.rb CHANGED
@@ -30,10 +30,10 @@ describe Gosling::Rect do
30
30
 
31
31
  it 'updates our vertices' do
32
32
  expected_vertices = [
33
- Vector[ 0, 0, 0],
34
- Vector[11, 0, 0],
35
- Vector[11, 1, 0],
36
- Vector[ 0, 1, 0]
33
+ Snow::Vec3[ 0, 0, 0],
34
+ Snow::Vec3[11, 0, 0],
35
+ Snow::Vec3[11, 1, 0],
36
+ Snow::Vec3[ 0, 1, 0]
37
37
  ]
38
38
 
39
39
  rect = Gosling::Rect.new(@window)
@@ -63,10 +63,10 @@ describe Gosling::Rect do
63
63
 
64
64
  it 'updates our vertices' do
65
65
  expected_vertices = [
66
- Vector[0, 0, 0],
67
- Vector[1, 0, 0],
68
- Vector[1, 40, 0],
69
- Vector[0, 40, 0]
66
+ Snow::Vec3[0, 0, 0],
67
+ Snow::Vec3[1, 0, 0],
68
+ Snow::Vec3[1, 40, 0],
69
+ Snow::Vec3[0, 40, 0]
70
70
  ]
71
71
 
72
72
  rect = Gosling::Rect.new(@window)
@@ -77,10 +77,10 @@ describe Gosling::Rect do
77
77
 
78
78
  it 'does not allow set_vertices to be called directly' do
79
79
  vertices = [
80
- Vector[0, 0, 0],
81
- Vector[1, 10, 0],
82
- Vector[2, 20, 0],
83
- Vector[3, 40, 0]
80
+ Snow::Vec3[0, 0, 0],
81
+ Snow::Vec3[1, 10, 0],
82
+ Snow::Vec3[2, 20, 0],
83
+ Snow::Vec3[3, 40, 0]
84
84
  ]
85
85
  expect { @rect.set_vertices(vertices) }.to raise_error(NoMethodError)
86
86
  end
@@ -4,50 +4,49 @@ describe Gosling::Transform do
4
4
  end
5
5
 
6
6
  it 'has a center' do
7
- expect(@read_only_tf.center).to be_instance_of(Vector)
7
+ expect(@read_only_tf.center).to be_instance_of(Snow::Vec3)
8
8
  end
9
9
 
10
10
  it 'has a scale' do
11
- expect(@read_only_tf.scale).to be_instance_of(Vector)
11
+ expect(@read_only_tf.scale).to be_instance_of(Snow::Vec2)
12
12
  end
13
13
 
14
14
  it 'has a rotation' do
15
- expect(@read_only_tf.rotation).to be_instance_of(Fixnum)
15
+ expect(@read_only_tf.rotation).to be_kind_of(Numeric)
16
16
  end
17
17
 
18
18
  it 'has a translation' do
19
- expect(@read_only_tf.translation).to be_instance_of(Vector)
19
+ expect(@read_only_tf.translation).to be_instance_of(Snow::Vec3)
20
20
  end
21
21
 
22
- describe '#set_center' do
22
+ describe '#center=' do
23
23
  it 'accepts a size 3 vector' do
24
24
  tf = Gosling::Transform.new
25
- expect { tf.set_center(Vector[0,0,0]) }.not_to raise_error
26
- expect { tf.set_center(Vector[0,0,0,0]) }.to raise_error(ArgumentError)
27
- expect { tf.set_center(Vector[0,0]) }.to raise_error(ArgumentError)
28
- expect { tf.set_center(:foo) }.to raise_error(ArgumentError)
25
+ expect { tf.center = Snow::Vec3[0, 0, 0] }.not_to raise_error
26
+ expect { tf.center = [0, 0, 0] }.not_to raise_error
27
+ expect { tf.center = :foo }.to raise_error(ArgumentError)
29
28
  end
30
29
 
31
30
  it 'sets the center transform' do
32
- v = Vector[10.to_r, 20.to_r, 0.to_r]
31
+ v = Snow::Vec3[10.to_r, 20.to_r, 1.to_r]
33
32
  tf = Gosling::Transform.new
34
- tf.set_center(v)
33
+ tf.center = v
35
34
  expect(tf.center).to be == v
36
35
  end
37
36
 
38
- it 'does not alter the z value, which should always be 0' do
37
+ it 'does not alter the z value, which should always be 1' do
39
38
  tf = Gosling::Transform.new
40
39
  [
41
- Vector[1, 1, 1],
42
- Vector[1, 1, 13],
43
- Vector[1, 1, 7],
44
- Vector[1, 1, 29373],
45
- Vector[1, 1, -1],
46
- Vector[1, 1, 0],
47
- Vector[1, 1, -328.7],
40
+ Snow::Vec3[1, 1, 1],
41
+ Snow::Vec3[1, 1, 13],
42
+ Snow::Vec3[1, 1, 7],
43
+ Snow::Vec3[1, 1, 29373],
44
+ Snow::Vec3[1, 1, -1],
45
+ Snow::Vec3[1, 1, 0],
46
+ Snow::Vec3[1, 1, -328.7],
48
47
  ].each do |v|
49
- tf.set_center(v)
50
- expect(tf.center[2]).to be == 0
48
+ tf.center = v
49
+ expect(tf.center[2]).to be == 1
51
50
  end
52
51
  end
53
52
  end
@@ -55,16 +54,14 @@ describe Gosling::Transform do
55
54
  describe '#set_scale' do
56
55
  it 'accepts a size 2 vector' do
57
56
  tf = Gosling::Transform.new
58
- expect { tf.set_scale(Vector[1,1]) }.not_to raise_error
59
- expect { tf.set_scale(Vector[1,1,1]) }.to raise_error(ArgumentError)
60
- expect { tf.set_scale(Vector[1]) }.to raise_error(ArgumentError)
61
- expect { tf.set_scale(:foo) }.to raise_error(ArgumentError)
57
+ expect { tf.scale = Snow::Vec2[1, 1] }.not_to raise_error
58
+ expect { tf.scale = :foo }.to raise_error(ArgumentError)
62
59
  end
63
60
 
64
61
  it 'sets the scale transform' do
65
- v = Vector[2.to_r, 0.5.to_r]
62
+ v = Snow::Vec2[2.to_r, 0.5.to_r]
66
63
  tf = Gosling::Transform.new
67
- tf.set_scale(v)
64
+ tf.scale = v
68
65
  expect(tf.scale).to be == v
69
66
  end
70
67
  end
@@ -73,7 +70,7 @@ describe Gosling::Transform do
73
70
  it 'sets the rotation transform' do
74
71
  r = Math::PI / 2
75
72
  tf = Gosling::Transform.new
76
- tf.set_rotation(r)
73
+ tf.rotation = r
77
74
  expect(tf.rotation).to be == r
78
75
  end
79
76
  end
@@ -81,146 +78,141 @@ describe Gosling::Transform do
81
78
  describe '#set_translation' do
82
79
  it 'accepts a size 3 vector' do
83
80
  tf = Gosling::Transform.new
84
- expect { tf.set_translation(Vector[0,0,0]) }.not_to raise_error
85
- expect { tf.set_translation(Vector[0,0,0,0]) }.to raise_error(ArgumentError)
86
- expect { tf.set_translation(Vector[0,0]) }.to raise_error(ArgumentError)
87
- expect { tf.set_translation(:foo) }.to raise_error(ArgumentError)
81
+ expect { tf.translation = Snow::Vec3[0, 0, 0] }.not_to raise_error
82
+ expect { tf.translation = :foo }.to raise_error(ArgumentError)
88
83
  end
89
84
 
90
85
  it 'sets the translation transform' do
91
- v = Vector[1024.to_r, 768.to_r, 0.to_r]
86
+ v = Snow::Vec3[1024.to_r, 768.to_r, 1.to_r]
92
87
  tf = Gosling::Transform.new
93
- tf.set_translation(v)
88
+ tf.translation = v
94
89
  expect(tf.translation).to be == v
95
90
  end
96
91
 
97
- it 'does not alter the z value, which should always be 0' do
92
+ it 'does not alter the z value, which should always be 1' do
98
93
  tf = Gosling::Transform.new
99
94
  [
100
- Vector[1, 1, 1],
101
- Vector[1, 1, 13],
102
- Vector[1, 1, 7],
103
- Vector[1, 1, 29373],
104
- Vector[1, 1, -1],
105
- Vector[1, 1, 0],
106
- Vector[1, 1, -328.7],
95
+ Snow::Vec3[1, 1, 1],
96
+ Snow::Vec3[1, 1, 13],
97
+ Snow::Vec3[1, 1, 7],
98
+ Snow::Vec3[1, 1, 29373],
99
+ Snow::Vec3[1, 1, -1],
100
+ Snow::Vec3[1, 1, 0],
101
+ Snow::Vec3[1, 1, -328.7],
107
102
  ].each do |v|
108
- tf.set_translation(v)
109
- expect(tf.translation[2]).to be == 0
103
+ tf.translation = v
104
+ expect(tf.translation[2]).to be == 1
110
105
  end
111
106
  end
112
107
  end
113
108
 
114
109
  describe '#to_matrix' do
115
110
  it 'returns a matrix' do
116
- expect(@read_only_tf.to_matrix).to be_instance_of(Matrix)
111
+ expect(@read_only_tf.to_matrix).to be_instance_of(Snow::Mat3)
117
112
  end
118
113
  end
119
114
 
120
115
  it 'centers correctly' do
121
116
  tf = Gosling::Transform.new
122
- tf.set_center(Vector[10.to_r, 20.to_r, 0.to_r])
123
- expected_matrix = Matrix[
124
- [1, 0, -10],
125
- [0, 1, -20],
126
- [0, 0, 1]
127
- ]
117
+ tf.center = Snow::Vec3[10.to_r, 20.to_r, 0.to_r]
118
+ expected_matrix = Snow::Mat3[
119
+ 1, 0, -10,
120
+ 0, 1, -20,
121
+ 0, 0, 1
122
+ ]
128
123
  expect(tf.to_matrix).to be == expected_matrix
129
124
  end
130
125
 
131
126
  it 'scales correctly' do
132
127
  tf = Gosling::Transform.new
133
- tf.set_scale(Vector[2.to_r, 0.5.to_r])
134
- expected_matrix = Matrix[
135
- [2, 0, 0],
136
- [0, 0.5, 0],
137
- [0, 0, 1]
138
- ]
128
+ tf.scale = Snow::Vec2[2.to_r, 0.5.to_r]
129
+ expected_matrix = Snow::Mat3[
130
+ 2, 0, 0,
131
+ 0, 0.5, 0,
132
+ 0, 0, 1
133
+ ]
139
134
  expect(tf.to_matrix).to be == expected_matrix
140
135
  end
141
136
 
142
137
  it 'rotates correctly' do
143
138
  tf = Gosling::Transform.new
144
- tf.set_rotation(Math::PI / 2)
145
- expected_matrix = Matrix[
146
- [ 0, 1, 0],
147
- [-1, 0, 0],
148
- [ 0, 0, 1]
149
- ]
139
+ tf.rotation = Math::PI / 2
140
+ expected_matrix = Snow::Mat3[
141
+ 0, 1, 0,
142
+ -1, 0, 0,
143
+ 0, 0, 1
144
+ ]
150
145
  expect(tf.to_matrix).to be == expected_matrix
151
146
  end
152
147
 
153
148
  it 'translates correctly' do
154
149
  tf = Gosling::Transform.new
155
- tf.set_translation(Vector[1024.to_r, 768.to_r, 0.to_r])
156
- expected_matrix = Matrix[
157
- [1, 0, 1024],
158
- [0, 1, 768],
159
- [0, 0, 1]
160
- ]
150
+ tf.translation = Snow::Vec3[1024.to_r, 768.to_r, 0.to_r]
151
+ expected_matrix = Snow::Mat3[
152
+ 1, 0, 1024,
153
+ 0, 1, 768,
154
+ 0, 0, 1
155
+ ]
161
156
  expect(tf.to_matrix).to be == expected_matrix
162
157
  end
163
158
 
164
159
  it 'applies all transforms in the correct order' do
165
160
  tf = Gosling::Transform.new
166
- tf.set_center(Vector[10.to_r, 20.to_r, 0.to_r])
167
- tf.set_scale(Vector[2.to_r, 0.5.to_r])
168
- tf.set_rotation(Math::PI / 2)
169
- tf.set_translation(Vector[1024.to_r, 768.to_r, 0.to_r])
170
-
171
- expected_matrix = Matrix[
172
- [0.0, 0.5, 1014.0],
173
- [-2.0, 0.0, 788.0],
174
- [0.0, 0.0, 1.0]
175
- ]
161
+ tf.center = Snow::Vec3[10.to_r, 20.to_r, 0.to_r]
162
+ tf.scale = Snow::Vec2[2.to_r, 0.5.to_r]
163
+ tf.rotation = Math::PI / 2
164
+ tf.translation = Snow::Vec3[1024.to_r, 768.to_r, 0.to_r]
165
+
166
+ expected_matrix = Snow::Mat3[
167
+ 0.0, 0.5, 1014.0,
168
+ -2.0, 0.0, 788.0,
169
+ 0.0, 0.0, 1.0
170
+ ]
176
171
  expect(tf.to_matrix).to be == expected_matrix
177
172
 
178
- v = Vector[0.to_r, -50.to_r, 1.to_r]
179
- v_transformed = Vector[989.to_r, 788.to_r, 1.to_r]
173
+ v = Snow::Vec3[0.to_r, -50.to_r, 1.to_r]
174
+ v_transformed = Snow::Vec3[989.to_r, 788.to_r, 1.to_r]
180
175
  expect(tf.to_matrix * v).to be == v_transformed
181
176
 
182
- v = Vector[100.to_r, -50.to_r, 1.to_r]
183
- v_transformed = Vector[989.to_r, 588.to_r, 1.to_r]
177
+ v = Snow::Vec3[100.to_r, -50.to_r, 1.to_r]
178
+ v_transformed = Snow::Vec3[989.to_r, 588.to_r, 1.to_r]
184
179
  expect(tf.to_matrix * v).to be == v_transformed
185
180
 
186
- v = Vector[100.to_r, 50.to_r, 1.to_r]
187
- v_transformed = Vector[1039.to_r, 588.to_r, 1.to_r]
181
+ v = Snow::Vec3[100.to_r, 50.to_r, 1.to_r]
182
+ v_transformed = Snow::Vec3[1039.to_r, 588.to_r, 1.to_r]
188
183
  expect(tf.to_matrix * v).to be == v_transformed
189
184
 
190
- v = Vector[0.to_r, 50.to_r, 1.to_r]
191
- v_transformed = Vector[1039.to_r, 788.to_r, 1.to_r]
185
+ v = Snow::Vec3[0.to_r, 50.to_r, 1.to_r]
186
+ v_transformed = Snow::Vec3[1039.to_r, 788.to_r, 1.to_r]
192
187
  expect(tf.to_matrix * v).to be == v_transformed
193
188
  end
194
189
 
195
190
  describe '#transform_point' do
196
191
  it 'expects a length 3 vector' do
197
- expect { @read_only_tf.transform_point(Vector[1, 0, 1]) }.not_to raise_error
198
- expect { @read_only_tf.transform_point(Vector[1, 0, 1, 1]) }.to raise_error(ArgumentError)
199
- expect { @read_only_tf.transform_point(Vector[1, 0]) }.to raise_error(ArgumentError)
192
+ expect { @read_only_tf.transform_point(Snow::Vec3[1, 0, 1]) }.not_to raise_error
200
193
  expect { @read_only_tf.transform_point(:foo) }.to raise_error(ArgumentError)
201
194
  expect { @read_only_tf.transform_point(nil) }.to raise_error(ArgumentError)
202
195
  end
203
196
 
204
197
  it 'returns a length 3 vector' do
205
- result = @read_only_tf.transform_point(Vector[1, 0, 1])
206
- expect(result).to be_instance_of(Vector)
207
- expect(result.size).to be == 3
198
+ result = @read_only_tf.transform_point(Snow::Vec3[1, 0, 1])
199
+ expect(result).to be_instance_of(Snow::Vec3)
208
200
  end
209
201
 
210
202
  it 'always returns a z value of 0' do
211
203
  [
212
- Vector[1, 1, 1],
213
- Vector[-1, -1, -1],
214
- Vector[-22, -22, 0],
215
- Vector[-11, 13, 34],
216
- Vector[37, -4, -15],
217
- Vector[34, 39, -16],
218
- Vector[-48, 23, -32],
219
- Vector[24, -39, 42],
220
- Vector[49, 44, -15],
221
- Vector[27, 23, 42],
222
- Vector[33, -25, -20],
223
- Vector[-46, -18, 48],
204
+ Snow::Vec3[1, 1, 1],
205
+ Snow::Vec3[-1, -1, -1],
206
+ Snow::Vec3[-22, -22, 0],
207
+ Snow::Vec3[-11, 13, 34],
208
+ Snow::Vec3[37, -4, -15],
209
+ Snow::Vec3[34, 39, -16],
210
+ Snow::Vec3[-48, 23, -32],
211
+ Snow::Vec3[24, -39, 42],
212
+ Snow::Vec3[49, 44, -15],
213
+ Snow::Vec3[27, 23, 42],
214
+ Snow::Vec3[33, -25, -20],
215
+ Snow::Vec3[-46, -18, 48],
224
216
  ].each do |v|
225
217
  expect(@read_only_tf.transform_point(v)[2]).to be == 0
226
218
  end
@@ -228,10 +220,10 @@ describe Gosling::Transform do
228
220
 
229
221
  it 'transforms the point correctly' do
230
222
  tf = Gosling::Transform.new
231
- tf.set_center(Vector[5.to_r, 20.to_r, 0.to_r])
232
- tf.set_scale(Vector[2.to_r, 0.5.to_r])
233
- tf.set_rotation(Math::PI / 2)
234
- tf.set_translation(Vector[1024.to_r, 768.to_r, 0.to_r])
223
+ tf.center = Snow::Vec3[5.to_r, 20.to_r, 0.to_r]
224
+ tf.scale = Snow::Vec2[2.to_r, 0.5.to_r]
225
+ tf.rotation = Math::PI / 2
226
+ tf.translation = Snow::Vec3[1024.to_r, 768.to_r, 0.to_r]
235
227
 
236
228
  [
237
229
  [0, 0],
@@ -241,40 +233,37 @@ describe Gosling::Transform do
241
233
  [5, 20]
242
234
  ].each do |pt|
243
235
  x, y = pt
244
- expect(tf.transform_point(Vector[x, y, 0])).to be == Vector[(y - 20) * 0.5 + 1024, (x - 5) * -2 + 768, 0]
236
+ expect(tf.transform_point(Snow::Vec3[x, y, 0])).to be == Snow::Vec3[(y - 20) * 0.5 + 1024, (x - 5) * -2 + 768, 0]
245
237
  end
246
238
  end
247
239
  end
248
240
 
249
241
  describe '#untransform_point' do
250
242
  it 'expects a length 3 vector' do
251
- expect { @read_only_tf.untransform_point(Vector[1, 0, 1]) }.not_to raise_error
252
- expect { @read_only_tf.untransform_point(Vector[1, 0, 1, 1]) }.to raise_error(ArgumentError)
253
- expect { @read_only_tf.untransform_point(Vector[1, 0]) }.to raise_error(ArgumentError)
243
+ expect { @read_only_tf.untransform_point(Snow::Vec3[1, 0, 1]) }.not_to raise_error
254
244
  expect { @read_only_tf.untransform_point(:foo) }.to raise_error(ArgumentError)
255
245
  expect { @read_only_tf.untransform_point(nil) }.to raise_error(ArgumentError)
256
246
  end
257
247
 
258
248
  it 'returns a length 3 vector' do
259
- result = @read_only_tf.untransform_point(Vector[1, 0, 1])
260
- expect(result).to be_instance_of(Vector)
261
- expect(result.size).to be == 3
249
+ result = @read_only_tf.untransform_point(Snow::Vec3[1, 0, 1])
250
+ expect(result).to be_instance_of(Snow::Vec3)
262
251
  end
263
252
 
264
253
  it 'always returns a z value of 0' do
265
254
  [
266
- Vector[1, 1, 1],
267
- Vector[-1, -1, -1],
268
- Vector[-22, -22, 0],
269
- Vector[-11, 13, 34],
270
- Vector[37, -4, -15],
271
- Vector[34, 39, -16],
272
- Vector[-48, 23, -32],
273
- Vector[24, -39, 42],
274
- Vector[49, 44, -15],
275
- Vector[27, 23, 42],
276
- Vector[33, -25, -20],
277
- Vector[-46, -18, 48],
255
+ Snow::Vec3[1, 1, 1],
256
+ Snow::Vec3[-1, -1, -1],
257
+ Snow::Vec3[-22, -22, 0],
258
+ Snow::Vec3[-11, 13, 34],
259
+ Snow::Vec3[37, -4, -15],
260
+ Snow::Vec3[34, 39, -16],
261
+ Snow::Vec3[-48, 23, -32],
262
+ Snow::Vec3[24, -39, 42],
263
+ Snow::Vec3[49, 44, -15],
264
+ Snow::Vec3[27, 23, 42],
265
+ Snow::Vec3[33, -25, -20],
266
+ Snow::Vec3[-46, -18, 48],
278
267
  ].each do |v|
279
268
  expect(@read_only_tf.untransform_point(v)[2]).to be == 0
280
269
  end
@@ -282,10 +271,10 @@ describe Gosling::Transform do
282
271
 
283
272
  it 'untransforms the point correctly' do
284
273
  tf = Gosling::Transform.new
285
- tf.set_center(Vector[5.to_r, 20.to_r, 0.to_r])
286
- tf.set_scale(Vector[2.to_r, 0.5.to_r])
287
- tf.set_rotation(Math::PI / 2)
288
- tf.set_translation(Vector[1024.to_r, 768.to_r, 0.to_r])
274
+ tf.center = Snow::Vec3[5.to_r, 20.to_r, 0.to_r]
275
+ tf.scale = Snow::Vec2[2.to_r, 0.5.to_r]
276
+ tf.rotation = Math::PI / 2
277
+ tf.translation = Snow::Vec3[1024.to_r, 768.to_r, 0.to_r]
289
278
 
290
279
  [
291
280
  [1014, 778],
@@ -295,30 +284,30 @@ describe Gosling::Transform do
295
284
  [768, 1024]
296
285
  ].each do |pt|
297
286
  x, y = pt
298
- expect(tf.untransform_point(Vector[x, y, 0])).to be == Vector[(y - 768) * -0.5 + 5, (x - 1024) * 2 + 20, 0]
287
+ expect(tf.untransform_point(Snow::Vec3[x, y, 0])).to be == Snow::Vec3[(y - 768) * -0.5 + 5, (x - 1024) * 2 + 20, 0]
299
288
  end
300
289
  end
301
290
 
302
291
  it 'undoes the results of transform_point' do
303
292
  tf = Gosling::Transform.new
304
- tf.set_center(Vector[5.to_r, 20.to_r, 0.to_r])
305
- tf.set_scale(Vector[2.to_r, 0.5.to_r])
306
- tf.set_rotation(Math::PI / 2)
307
- tf.set_translation(Vector[1024.to_r, 768.to_r, 0.to_r])
293
+ tf.center = Snow::Vec3[5.to_r, 20.to_r, 0.to_r]
294
+ tf.scale = Snow::Vec2[2.to_r, 0.5.to_r]
295
+ tf.rotation = Math::PI / 2
296
+ tf.translation = Snow::Vec3[1024.to_r, 768.to_r, 0.to_r]
308
297
 
309
298
  [
310
- Vector[1, 1, 0],
311
- Vector[-1, -1, 0],
312
- Vector[-22, -22, 0],
313
- Vector[-11, 13, 0],
314
- Vector[37, -4, 0],
315
- Vector[34, 39, 0],
316
- Vector[-48, 23, 0],
317
- Vector[24, -39, 0],
318
- Vector[49, 44, 0],
319
- Vector[27, 23, 0],
320
- Vector[33, -25, 0],
321
- Vector[-46, -18, 0],
299
+ Snow::Vec3[1, 1, 0],
300
+ Snow::Vec3[-1, -1, 0],
301
+ Snow::Vec3[-22, -22, 0],
302
+ Snow::Vec3[-11, 13, 0],
303
+ Snow::Vec3[37, -4, 0],
304
+ Snow::Vec3[34, 39, 0],
305
+ Snow::Vec3[-48, 23, 0],
306
+ Snow::Vec3[24, -39, 0],
307
+ Snow::Vec3[49, 44, 0],
308
+ Snow::Vec3[27, 23, 0],
309
+ Snow::Vec3[33, -25, 0],
310
+ Snow::Vec3[-46, -18, 0],
322
311
  ].each do |v|
323
312
  expect(tf.untransform_point(tf.transform_point(v))).to be == v
324
313
  expect(tf.transform_point(tf.untransform_point(v))).to be == v