File: test_geometry.py

package info (click to toggle)
pyrr 0.10.3-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 956 kB
  • sloc: python: 5,865; makefile: 132; sh: 23
file content (125 lines) | stat: -rw-r--r-- 4,252 bytes parent folder | download
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
try:
    import unittest2 as unittest
except:
    import unittest
import numpy as np
from pyrr import geometry

# TODO: test all combinations of st, rgba, and type

class test_geometry(unittest.TestCase):
    def test_import(self):
        import pyrr
        pyrr.geometry
        from pyrr import geometry

    def test_create_quad(self):
        v, i = geometry.create_quad()
        expected_v = np.array([
            [ 0.5, 0.5, 0.],
            [-0.5, 0.5, 0.],
            [-0.5,-0.5, 0.],
            [ 0.5,-0.5, 0.],
        ])
        expected_i = np.array([0,1,2,0,2,3])
        self.assertTrue(np.allclose(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i))

    def test_create_quad_scale(self):
        v, i = geometry.create_quad((2.0,0.5))
        expected_v = np.array([
            [ 1., 0.25, 0.],
            [-1., 0.25, 0.],
            [-1.,-0.25, 0.],
            [ 1.,-0.25, 0.],
        ])
        expected_i = np.array([0,1,2,0,2,3])
        self.assertTrue(np.allclose(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i))

    def test_create_quad_st(self):
        v, i = geometry.create_quad(st=True)
        expected_v = np.array([
            [ 0.5, 0.5, 0., 1., 1.],
            [-0.5, 0.5, 0., 0., 1.],
            [-0.5,-0.5, 0., 0., 0.],
            [ 0.5,-0.5, 0., 1., 0.],
        ])
        expected_i = np.array([0,1,2,0,2,3])
        self.assertTrue(np.allclose(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i))

    def test_create_quad_st_values(self):
        v, i = geometry.create_quad(st=((0.1,0.2),(0.3,0.4)))
        expected_v = np.array([
            [ 0.5, 0.5, 0., 0.3, 0.4],
            [-0.5, 0.5, 0., 0.1, 0.4],
            [-0.5,-0.5, 0., 0.1, 0.2],
            [ 0.5,-0.5, 0., 0.3, 0.2],
        ])
        expected_i = np.array([0,1,2,0,2,3])
        self.assertTrue(np.allclose(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i))

    def test_create_quad_rgba(self):
        v, i = geometry.create_quad(rgba=True)
        expected_v = np.array([
            [ 0.5, 0.5, 0., 1., 1., 1., 1.],
            [-0.5, 0.5, 0., 1., 1., 1., 1.],
            [-0.5,-0.5, 0., 1., 1., 1., 1.],
            [ 0.5,-0.5, 0., 1., 1., 1., 1.],
        ])
        expected_i = np.array([0,1,2,0,2,3])
        self.assertTrue(np.allclose(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i))

    def test_create_quad_rgba_values(self):
        v, i = geometry.create_quad(rgba=((0.1,0.2,0.3,0.4),(0.5,0.6,0.7,0.8),(0.9,1.0,1.1,1.2),(1.3,1.4,1.5,1.6)))
        expected_v = np.array([
            [ 0.5, 0.5, 0., .1, .2, .3, .4],
            [-0.5, 0.5, 0., .5, .6, .7, .8],
            [-0.5,-0.5, 0., .9, 1., 1.1, 1.2],
            [ 0.5,-0.5, 0., 1.3, 1.4, 1.5, 1.6],
        ])
        expected_i = np.array([0,1,2,0,2,3])
        self.assertTrue(np.allclose(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i))

    def test_create_cube(self):
        v, i = geometry.create_cube()
        expected_v = np.array([
            [ 0.5,  0.5,  0.5],
            [-0.5,  0.5,  0.5],
            [-0.5, -0.5,  0.5],
            [ 0.5, -0.5,  0.5],
            [ 0.5,  0.5, -0.5],
            [ 0.5,  0.5,  0.5],
            [ 0.5, -0.5,  0.5],
            [ 0.5, -0.5, -0.5],
            [-0.5,  0.5, -0.5],
            [ 0.5,  0.5, -0.5],
            [ 0.5, -0.5, -0.5],
            [-0.5, -0.5, -0.5],
            [-0.5,  0.5,  0.5],
            [-0.5,  0.5, -0.5],
            [-0.5, -0.5, -0.5],
            [-0.5, -0.5,  0.5],
            [ 0.5,  0.5, -0.5],
            [-0.5,  0.5, -0.5],
            [-0.5,  0.5,  0.5],
            [ 0.5,  0.5,  0.5],
            [ 0.5, -0.5,  0.5],
            [-0.5, -0.5,  0.5],
            [-0.5, -0.5, -0.5],
            [ 0.5, -0.5, -0.5]
        ])
        expected_i = np.array([
            0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 13,
            14, 12, 14, 15, 16, 17, 18, 16, 18, 19, 20, 21, 22, 20, 22, 23
        ])
        self.assertTrue(np.array_equal(v, expected_v), (v,))
        self.assertTrue(np.array_equal(i, expected_i), (i,))

if __name__ == '__main__':
    unittest.main()