17 |
failUnlessEqual([x for x in dst], [10, 15, 5]) |
failUnlessEqual([x for x in dst], [10, 15, 5]) |
18 |
|
|
19 |
|
|
20 |
|
def checkInverse(c, cs): |
21 |
|
# unit cube |
22 |
|
src = array([ |
23 |
|
0, 0, 0, |
24 |
|
0, 0, 1, |
25 |
|
0, 1, 0, |
26 |
|
0, 1, 1, |
27 |
|
1, 0, 0, |
28 |
|
1, 0, 1, |
29 |
|
1, 1, 0, |
30 |
|
1, 1, 1, |
31 |
|
|
32 |
|
0, 0, 0, |
33 |
|
0, 0, -100, |
34 |
|
0, -100, 0, |
35 |
|
0, -100, -100, |
36 |
|
-100, 0, 0, |
37 |
|
-100, 0, -100, |
38 |
|
-100, -100, 0, |
39 |
|
-100, -100, -100, |
40 |
|
], 'f') |
41 |
|
|
42 |
|
dst = zeros(len(src), 'f') |
43 |
|
src2 = zeros(len(src), 'f') |
44 |
|
|
45 |
|
c.transformPoints3(cs, src, dst) |
46 |
|
c.inverseTransformPoints3(cs, dst, src2) |
47 |
|
|
48 |
|
for i in range(0,len(src)): |
49 |
|
failIf( abs(src[i] - src2[i])/(abs(src[i])+1) > 0.01, msg=str((src, dst, src2, i, src[i], src2[i])) ) |
50 |
|
|
51 |
|
def testInverses(): |
52 |
|
c = GLVobCoorder() |
53 |
|
|
54 |
|
cs_ortho = c.coordsys(0, 2, 3.5, 9.1, 1.2, 3.9) |
55 |
|
cs_ortho2 = c.coordsys(cs_ortho, -1.92, 4.1, 2.951, 2.52, 291) |
56 |
|
|
57 |
|
checkInverse(c, cs_ortho) |
58 |
|
checkInverse(c, cs_ortho2) |
59 |
|
|