sixarm_ruby_geometry 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/Rakefile +18 -0
- data/lib/sixarm_ruby_geometry.rb +41 -0
- data/lib/sixarm_ruby_geometry/indexable.rb +7 -0
- data/lib/sixarm_ruby_geometry/indexable/d1.rb +12 -0
- data/lib/sixarm_ruby_geometry/indexable/d2.rb +12 -0
- data/lib/sixarm_ruby_geometry/indexable/d3.rb +12 -0
- data/lib/sixarm_ruby_geometry/indexable/pitch.rb +15 -0
- data/lib/sixarm_ruby_geometry/indexable/rad.rb +15 -0
- data/lib/sixarm_ruby_geometry/indexable/width.rb +20 -0
- data/lib/sixarm_ruby_geometry/indexable/width_height.rb +30 -0
- data/lib/sixarm_ruby_geometry/indexable/width_height_depth.rb +40 -0
- data/lib/sixarm_ruby_geometry/indexable/x.rb +18 -0
- data/lib/sixarm_ruby_geometry/indexable/xy.rb +26 -0
- data/lib/sixarm_ruby_geometry/indexable/xyz.rb +40 -0
- data/lib/sixarm_ruby_geometry/indexable/yaw.rb +15 -0
- data/lib/sixarm_ruby_geometry/point.rb +7 -0
- data/lib/sixarm_ruby_geometry/point/array.rb +12 -0
- data/lib/sixarm_ruby_geometry/point/array/d1.rb +14 -0
- data/lib/sixarm_ruby_geometry/point/array/d2.rb +14 -0
- data/lib/sixarm_ruby_geometry/point/array/d3.rb +14 -0
- data/lib/sixarm_ruby_geometry/point/vector.rb +12 -0
- data/lib/sixarm_ruby_geometry/point/vector/d1.rb +14 -0
- data/lib/sixarm_ruby_geometry/point/vector/d2.rb +14 -0
- data/lib/sixarm_ruby_geometry/point/vector/d3.rb +14 -0
- data/lib/sixarm_ruby_geometry/space.rb +7 -0
- data/lib/sixarm_ruby_geometry/space/array.rb +12 -0
- data/lib/sixarm_ruby_geometry/space/array/d1.rb +14 -0
- data/lib/sixarm_ruby_geometry/space/array/d2.rb +14 -0
- data/lib/sixarm_ruby_geometry/space/array/d3.rb +14 -0
- data/lib/sixarm_ruby_geometry/space/vector.rb +12 -0
- data/lib/sixarm_ruby_geometry/space/vector/d1.rb +14 -0
- data/lib/sixarm_ruby_geometry/space/vector/d2.rb +14 -0
- data/lib/sixarm_ruby_geometry/space/vector/d3.rb +14 -0
- data/test/sixarm_ruby_geometry_test.rb +1 -0
- data/test/sixarm_ruby_geometry_test/indexable/d1_test.rb +34 -0
- data/test/sixarm_ruby_geometry_test/indexable/d2_test.rb +36 -0
- data/test/sixarm_ruby_geometry_test/indexable/d3_test.rb +38 -0
- data/test/sixarm_ruby_geometry_test/indexable/pitch_test.rb +36 -0
- data/test/sixarm_ruby_geometry_test/indexable/rad_test.rb +31 -0
- data/test/sixarm_ruby_geometry_test/indexable/width_height_depth_test.rb +70 -0
- data/test/sixarm_ruby_geometry_test/indexable/width_height_test.rb +56 -0
- data/test/sixarm_ruby_geometry_test/indexable/width_test.rb +42 -0
- data/test/sixarm_ruby_geometry_test/indexable/x_test.rb +42 -0
- data/test/sixarm_ruby_geometry_test/indexable/xy_test.rb +56 -0
- data/test/sixarm_ruby_geometry_test/indexable/xyz_test.rb +72 -0
- data/test/sixarm_ruby_geometry_test/indexable/yaw_test.rb +31 -0
- data/test/sixarm_ruby_geometry_test/indexable_test.rb +31 -0
- data/test/sixarm_ruby_geometry_test/point/array/d1_test.rb +35 -0
- data/test/sixarm_ruby_geometry_test/point/array/d2_test.rb +37 -0
- data/test/sixarm_ruby_geometry_test/point/array/d3_test.rb +39 -0
- data/test/sixarm_ruby_geometry_test/point/array_test.rb +33 -0
- data/test/sixarm_ruby_geometry_test/point/vector/d1_test.rb +36 -0
- data/test/sixarm_ruby_geometry_test/point/vector/d2_test.rb +38 -0
- data/test/sixarm_ruby_geometry_test/point/vector/d3_test.rb +40 -0
- data/test/sixarm_ruby_geometry_test/point/vector_test.rb +34 -0
- data/test/sixarm_ruby_geometry_test/point_test.rb +25 -0
- data/test/sixarm_ruby_geometry_test/space/array/d1_test.rb +35 -0
- data/test/sixarm_ruby_geometry_test/space/array/d2_test.rb +37 -0
- data/test/sixarm_ruby_geometry_test/space/array/d3_test.rb +39 -0
- data/test/sixarm_ruby_geometry_test/space/array_test.rb +33 -0
- data/test/sixarm_ruby_geometry_test/space/vector/d1_test.rb +36 -0
- data/test/sixarm_ruby_geometry_test/space/vector/d2_test.rb +38 -0
- data/test/sixarm_ruby_geometry_test/space/vector/d3_test.rb +40 -0
- data/test/sixarm_ruby_geometry_test/space/vector_test.rb +34 -0
- data/test/sixarm_ruby_geometry_test/space_test.rb +25 -0
- metadata +262 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
# Blank placeholder for any test helper code
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/d1"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
module D1
|
11
|
+
class Test < Minitest::Test
|
12
|
+
|
13
|
+
def test_0
|
14
|
+
assert(::Indexable::D1)
|
15
|
+
end
|
16
|
+
|
17
|
+
require "matrix"
|
18
|
+
class C < Vector
|
19
|
+
include ::Indexable::D1
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_new
|
23
|
+
assert(C[0])
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_index
|
27
|
+
e0 = fake_n
|
28
|
+
c = C[e0]
|
29
|
+
assert_equal(e0, c[0])
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/d2"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
module D2
|
11
|
+
class Test < Minitest::Test
|
12
|
+
|
13
|
+
def test_0
|
14
|
+
assert(::Indexable::D2)
|
15
|
+
end
|
16
|
+
|
17
|
+
require "matrix"
|
18
|
+
class C < Vector
|
19
|
+
include ::Indexable::D2
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_new
|
23
|
+
assert(C[0, 0])
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_index
|
27
|
+
e0 = fake_n
|
28
|
+
e1 = fake_n
|
29
|
+
c = C[e0, e1]
|
30
|
+
assert_equal(e0, c[0])
|
31
|
+
assert_equal(e1, c[1])
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/d3"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
module D3
|
11
|
+
class Test < Minitest::Test
|
12
|
+
|
13
|
+
def test_0
|
14
|
+
assert(::Indexable::D3)
|
15
|
+
end
|
16
|
+
|
17
|
+
require "matrix"
|
18
|
+
class C < Vector
|
19
|
+
include ::Indexable::D3
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_new
|
23
|
+
assert(C[0,0,0])
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_index
|
27
|
+
e0 = fake_n
|
28
|
+
e1 = fake_n
|
29
|
+
e2 = fake_n
|
30
|
+
c = C[e0, e1, e2]
|
31
|
+
assert_equal(e0, c[0])
|
32
|
+
assert_equal(e1, c[1])
|
33
|
+
assert_equal(e2, c[2])
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/pitch"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
class PitchTest < Minitest::Test
|
11
|
+
|
12
|
+
def test_0
|
13
|
+
assert(::Indexable::Pitch)
|
14
|
+
end
|
15
|
+
|
16
|
+
require "matrix"
|
17
|
+
class C < Vector
|
18
|
+
include ::Indexable::Pitch
|
19
|
+
end
|
20
|
+
|
21
|
+
DELTA = 0.00001
|
22
|
+
|
23
|
+
def test_pitch_with_xy_any_and_z_zero
|
24
|
+
assert_in_delta(Math::PI * 0.0, C[fake_n, fake_n, 0].pitch, DELTA)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_pitch_with_xy_zero_and_z_positive
|
28
|
+
assert_in_delta(Math::PI * 0.5, C[ 0, 0, fake_n].pitch, DELTA)
|
29
|
+
end
|
30
|
+
|
31
|
+
def test_pitch_with_xy_zero_and_z_negative
|
32
|
+
assert_in_delta(Math::PI * -0.5, C[ 0, 0, -fake_n].pitch, DELTA)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/rad"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
class RadTest < Minitest::Test
|
11
|
+
|
12
|
+
def test_0
|
13
|
+
assert(::Indexable::Rad)
|
14
|
+
end
|
15
|
+
|
16
|
+
require "matrix"
|
17
|
+
class C < Vector
|
18
|
+
include ::Indexable::Rad
|
19
|
+
end
|
20
|
+
|
21
|
+
DELTA = 0.00001
|
22
|
+
|
23
|
+
def test_rad
|
24
|
+
assert_in_delta(Math::PI * 0.0, C[ 1, 0].rad, DELTA)
|
25
|
+
assert_in_delta(Math::PI * 0.5, C[ 0, 1].rad, DELTA)
|
26
|
+
assert_in_delta(Math::PI * 1.0, C[-1, 0].rad, DELTA)
|
27
|
+
assert_in_delta(Math::PI * -0.5, C[ 0,-1].rad, DELTA)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/width_height_depth"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
class WidthHeightDepthTest < Minitest::Test
|
11
|
+
|
12
|
+
def test_0
|
13
|
+
assert(::Indexable::WidthHeightDepth)
|
14
|
+
end
|
15
|
+
|
16
|
+
require "matrix"
|
17
|
+
class C < Vector
|
18
|
+
include ::Indexable::WidthHeightDepth
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_width
|
22
|
+
width = fake_n
|
23
|
+
o = C[width, 0, 0]
|
24
|
+
assert_equal(width, o.width)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_width_equal
|
28
|
+
width = fake_n
|
29
|
+
o = fake_indexable
|
30
|
+
refute_equal(width, o.width)
|
31
|
+
o.width = width
|
32
|
+
assert_equal(width, o.width)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_height
|
36
|
+
height = fake_n
|
37
|
+
o = C[0, height, 0]
|
38
|
+
assert_equal(height, o.height)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_height_equal
|
42
|
+
height = fake_n
|
43
|
+
o = fake_indexable
|
44
|
+
refute_equal(height, o.height)
|
45
|
+
o.height = height
|
46
|
+
assert_equal(height, o.height)
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_depth
|
50
|
+
depth = fake_n
|
51
|
+
o = C[0, 0, depth]
|
52
|
+
assert_equal(depth, o.depth)
|
53
|
+
end
|
54
|
+
|
55
|
+
def test_depth_equal
|
56
|
+
depth = fake_n
|
57
|
+
o = fake_indexable
|
58
|
+
refute_equal(depth, o.depth)
|
59
|
+
o.depth = depth
|
60
|
+
assert_equal(depth, o.depth)
|
61
|
+
end
|
62
|
+
|
63
|
+
protected
|
64
|
+
|
65
|
+
def fake_indexable
|
66
|
+
C[0,0,0]
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
require "minitest/autorun"
|
3
|
+
require "simplecov"
|
4
|
+
SimpleCov.start
|
5
|
+
|
6
|
+
require "sixarm_ruby_geometry/indexable/width_height"
|
7
|
+
require "sixarm_ruby_geometry_test/fake"
|
8
|
+
|
9
|
+
module Indexable
|
10
|
+
class WidthHeightTest < Minitest::Test
|
11
|
+
|
12
|
+
def test_0
|
13
|
+
assert(::Indexable::WidthHeight)
|
14
|
+
end
|
15
|
+
|
16
|
+
require "matrix"
|
17
|
+
class C < Vector
|
18
|
+
include ::Indexable::WidthHeight
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_width
|
22
|
+
width = fake_n
|
23
|
+
o = C[width,0]
|
24
|
+
assert_equal(width, o.width)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_width_equal
|
28
|
+
width = fake_n
|
29
|
+
o = fake_indexable
|
30
|
+
refute_equal(width, o.width)
|
31
|
+
o.width = width
|
32
|
+
assert_equal(width, o.width)
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_height
|
36
|
+
height = fake_n
|
37
|
+
o = C[0,height]
|
38
|
+
assert_equal(height, o.height)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_height_equal
|
42
|
+
height = fake_n
|
43
|
+
o = fake_indexable
|
44
|
+
refute_equal(height, o.height)
|
45
|
+
o.height = height
|
46
|
+
assert_equal(height, o.height)
|
47
|
+
end
|
48
|
+
|
49
|
+
protected
|
50
|
+
|
51
|
+
def fake_indexable
|
52
|
+
C[0,0]
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
end
|