1 |
gross |
905 |
# $Id: run_visualization_interface.py 798 2006-08-04 01:05:36Z gross $ |
2 |
|
|
|
3 |
|
|
__copyright__=""" Copyright (c) 2006 by ACcESS MNRF |
4 |
|
|
http://www.access.edu.au |
5 |
|
|
Primary Business: Queensland, Australia""" |
6 |
|
|
__license__="""Licensed under the Open Software License version 3.0 |
7 |
|
|
http://www.opensource.org/licenses/osl-3.0.php""" |
8 |
|
|
import sys |
9 |
|
|
import unittest |
10 |
gross |
907 |
import math |
11 |
gross |
905 |
import numarray |
12 |
|
|
from esys.pycad import * |
13 |
|
|
|
14 |
|
|
try: |
15 |
|
|
PYCAD_TEST_DATA=os.environ['PYCAD_TEST_DATA'] |
16 |
|
|
except KeyError: |
17 |
|
|
PYCAD_TEST_DATA='.' |
18 |
|
|
|
19 |
|
|
try: |
20 |
|
|
PYCAD_WORKDIR=os.environ['PYCAD_WORKDIR'] |
21 |
|
|
except KeyError: |
22 |
|
|
PYCAD_WORKDIR='.' |
23 |
|
|
|
24 |
|
|
PYCAD_TEST_MESH_PATH=PYCAD_TEST_DATA+"/data_meshes/" |
25 |
|
|
PYCAD_WORKDIR_PATH=PYCAD_WORKDIR+"/" |
26 |
|
|
|
27 |
gross |
907 |
def _cross(x, y): |
28 |
|
|
return numarray.array([x[1] * y[2] - x[2] * y[1], x[2] * y[0] - x[0] * y[2], x[0] * y[1] - x[1] * y[0]]) |
29 |
|
|
|
30 |
|
|
|
31 |
gross |
905 |
class Test_PyCAD(unittest.TestCase): |
32 |
|
|
ABS_TOL=1.e-8 |
33 |
|
|
def __distance(self,x,y): |
34 |
|
|
return math.sqrt(numarray.dot(x-y,x-y)) |
35 |
|
|
def test_Translation_x(self): |
36 |
|
|
t=Translation([1,0,0]) |
37 |
|
|
s0=t([1,0,0]) |
38 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
39 |
|
|
self.failUnless(self.__distance(s0,numarray.array([2,0,0]))<self.ABS_TOL,"s0 is wrong.") |
40 |
|
|
s1=t([0,1,0]) |
41 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
42 |
|
|
self.failUnless(self.__distance(s1,numarray.array([1,1,0]))<self.ABS_TOL,"s1 is wrong.") |
43 |
|
|
s2=t([0,0,1]) |
44 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
45 |
|
|
self.failUnless(self.__distance(s2,numarray.array([1,0,1]))<self.ABS_TOL,"s2 is wrong.") |
46 |
|
|
def test_Translation_y(self): |
47 |
|
|
t=Translation([0,1,0]) |
48 |
|
|
s0=t([1,0,0]) |
49 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
50 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1,1,0]))<self.ABS_TOL,"s0 is wrong.") |
51 |
|
|
s1=t([0,1,0]) |
52 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
53 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,2,0]))<self.ABS_TOL,"s1 is wrong.") |
54 |
|
|
s2=t([0,0,1]) |
55 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
56 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,1,1]))<self.ABS_TOL,"s2 is wrong.") |
57 |
|
|
def test_Translation_z(self): |
58 |
|
|
t=Translation([0,0,1]) |
59 |
|
|
s0=t([1,0,0]) |
60 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
61 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1,0,1]))<self.ABS_TOL,"s0 is wrong.") |
62 |
|
|
s1=t([0,1,0]) |
63 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
64 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,1,1]))<self.ABS_TOL,"s1 is wrong.") |
65 |
|
|
s2=t([0,0,1]) |
66 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
67 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,2]))<self.ABS_TOL,"s2 is wrong.") |
68 |
|
|
def test_Dilation_0_two(self): |
69 |
|
|
t=Dilation(2.) |
70 |
|
|
s0=t([1,0,0]) |
71 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
72 |
|
|
self.failUnless(self.__distance(s0,numarray.array([2,0,0]))<self.ABS_TOL,"s0 is wrong.") |
73 |
|
|
s1=t([0,1,0]) |
74 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
75 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,2,0]))<self.ABS_TOL,"s1 is wrong.") |
76 |
|
|
s2=t([0,0,1]) |
77 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
78 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,2]))<self.ABS_TOL,"s2 is wrong.") |
79 |
|
|
def test_Dilation_0_half(self): |
80 |
|
|
t=Dilation(0.5) |
81 |
|
|
s0=t([1,0,0]) |
82 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
83 |
|
|
self.failUnless(self.__distance(s0,numarray.array([0.5,0,0]))<self.ABS_TOL,"s0 is wrong.") |
84 |
|
|
s1=t([0,1,0]) |
85 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
86 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,0.5,0]))<self.ABS_TOL,"s1 is wrong.") |
87 |
|
|
s2=t([0,0,1]) |
88 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
89 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,0.5]))<self.ABS_TOL,"s2 is wrong.") |
90 |
|
|
def test_Dilation_x_two(self): |
91 |
|
|
t=Dilation(2.,[1.,0.,0.]) |
92 |
|
|
s0=t([1,0,0]) |
93 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
94 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1,0,0]))<self.ABS_TOL,"s0 is wrong.") |
95 |
|
|
s0_1=t([0,0,0]) |
96 |
|
|
self.failUnless(isinstance(s0_1,numarray.NumArray),"s0_1 is not a numarray object.") |
97 |
|
|
self.failUnless(self.__distance(s0_1,numarray.array([-1.,0,0]))<self.ABS_TOL,"s0_1 is wrong.") |
98 |
|
|
s1=t([0,1,0]) |
99 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
100 |
|
|
self.failUnless(self.__distance(s1,numarray.array([-1,2,0]))<self.ABS_TOL,"s1 is wrong.") |
101 |
|
|
s2=t([0,0,1]) |
102 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
103 |
|
|
self.failUnless(self.__distance(s2,numarray.array([-1.,0,2]))<self.ABS_TOL,"s2 is wrong.") |
104 |
|
|
def test_Dilation_x_half(self): |
105 |
|
|
t=Dilation(0.5,[1.,0.,0.]) |
106 |
|
|
s0=t([1,0,0]) |
107 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
108 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0]))<self.ABS_TOL,"s0 is wrong.") |
109 |
|
|
s0_1=t([0,0,0]) |
110 |
|
|
self.failUnless(isinstance(s0_1,numarray.NumArray),"s0_1 is not a numarray object.") |
111 |
|
|
self.failUnless(self.__distance(s0_1,numarray.array([.5,0,0]))<self.ABS_TOL,"s0_1 is wrong.") |
112 |
|
|
s1=t([0,1,0]) |
113 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
114 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.5,0.5,0]))<self.ABS_TOL,"s1 is wrong.") |
115 |
|
|
s2=t([0,0,1]) |
116 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
117 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.5,0,0.5]))<self.ABS_TOL,"s2 is wrong.") |
118 |
|
|
def test_Dilation_y_two(self): |
119 |
|
|
t=Dilation(2.,[0.,1.,0.]) |
120 |
|
|
s0=t([1,0,0]) |
121 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
122 |
|
|
self.failUnless(self.__distance(s0,numarray.array([2.,-1.,0]))<self.ABS_TOL,"s0 is wrong.") |
123 |
|
|
s1_1=t([0,0,0]) |
124 |
|
|
self.failUnless(isinstance(s1_1,numarray.NumArray),"s1_1 is not a numarray object.") |
125 |
|
|
self.failUnless(self.__distance(s1_1,numarray.array([0.,-1.,0]))<self.ABS_TOL,"s1_1 is wrong.") |
126 |
|
|
s1=t([0,1,0]) |
127 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
128 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,1.,0]))<self.ABS_TOL,"s1 is wrong.") |
129 |
|
|
s2=t([0,0,1]) |
130 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
131 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,-1.,2]))<self.ABS_TOL,"s2 is wrong.") |
132 |
|
|
def test_Dilation_y_half(self): |
133 |
|
|
t=Dilation(0.5,[0.,1.,0.]) |
134 |
|
|
s0=t([1,0,0]) |
135 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
136 |
|
|
self.failUnless(self.__distance(s0,numarray.array([0.5,0.5,0]))<self.ABS_TOL,"s0 is wrong.") |
137 |
|
|
s1_1=t([0,0,0]) |
138 |
|
|
self.failUnless(isinstance(s1_1,numarray.NumArray),"s1_1 is not a numarray object.") |
139 |
|
|
self.failUnless(self.__distance(s1_1,numarray.array([0,0.5,0]))<self.ABS_TOL,"s1_1 is wrong.") |
140 |
|
|
s1=t([0,1,0]) |
141 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
142 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,1.,0]))<self.ABS_TOL,"s1 is wrong.") |
143 |
|
|
s2=t([0,0,1]) |
144 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
145 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0.5,0.5]))<self.ABS_TOL,"s2 is wrong.") |
146 |
|
|
def test_Dilation_z_two(self): |
147 |
|
|
t=Dilation(2.,[0.,0.,1.]) |
148 |
|
|
s0=t([1,0,0]) |
149 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
150 |
|
|
self.failUnless(self.__distance(s0,numarray.array([2.,0.,-1.]))<self.ABS_TOL,"s0 is wrong.") |
151 |
|
|
s2_1=t([0,0,0]) |
152 |
|
|
self.failUnless(isinstance(s2_1,numarray.NumArray),"s2_1 is not a numarray object.") |
153 |
|
|
self.failUnless(self.__distance(s2_1,numarray.array([0.,0.,-1.]))<self.ABS_TOL,"s2_1 is wrong.") |
154 |
|
|
s1=t([0,1,0]) |
155 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
156 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,2.,-1.]))<self.ABS_TOL,"s1 is wrong.") |
157 |
|
|
s2=t([0,0,1]) |
158 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
159 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0.,1.]))<self.ABS_TOL,"s2 is wrong.") |
160 |
|
|
def test_Dilation_z_half(self): |
161 |
|
|
t=Dilation(0.5,[0.,0.,1.]) |
162 |
|
|
s0=t([1,0,0]) |
163 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
164 |
|
|
self.failUnless(self.__distance(s0,numarray.array([0.5,0.,0.5]))<self.ABS_TOL,"s0 is wrong.") |
165 |
|
|
s2_1=t([0,0,0]) |
166 |
|
|
self.failUnless(isinstance(s2_1,numarray.NumArray),"s2_1 is not a numarray object.") |
167 |
|
|
self.failUnless(self.__distance(s2_1,numarray.array([0,0,0.5]))<self.ABS_TOL,"s2_1 is wrong.") |
168 |
|
|
s1=t([0,1,0]) |
169 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
170 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,0.5,0.5]))<self.ABS_TOL,"s1 is wrong.") |
171 |
|
|
s2=t([0,0,1]) |
172 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
173 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0.,1.]))<self.ABS_TOL,"s2 is wrong.") |
174 |
|
|
def test_Reflection_x_offset0(self): |
175 |
|
|
t=Reflection([1.,0.,0.]) |
176 |
|
|
s0=t([1,0,0]) |
177 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
178 |
|
|
self.failUnless(self.__distance(s0,numarray.array([-1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
179 |
|
|
s1=t([0,1,0]) |
180 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
181 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,1,0]))<self.ABS_TOL,"s1 is wrong.") |
182 |
|
|
s2=t([0,0,1]) |
183 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
184 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,1]))<self.ABS_TOL,"s2 is wrong.") |
185 |
|
|
s=t([1,2,3]) |
186 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
187 |
|
|
self.failUnless(self.__distance(s,numarray.array([-1.,2,3]))<self.ABS_TOL,"s is wrong.") |
188 |
|
|
def test_Reflection_x_offset2(self): |
189 |
|
|
t=Reflection([-2.,0.,0.],offset=-4) |
190 |
|
|
s0=t([1,0,0]) |
191 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
192 |
|
|
self.failUnless(self.__distance(s0,numarray.array([3.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
193 |
|
|
s1=t([0,1,0]) |
194 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
195 |
|
|
self.failUnless(self.__distance(s1,numarray.array([4,1,0]))<self.ABS_TOL,"s1 is wrong.") |
196 |
|
|
s2=t([0,0,1]) |
197 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
198 |
|
|
self.failUnless(self.__distance(s2,numarray.array([4,0,1]))<self.ABS_TOL,"s2 is wrong.") |
199 |
|
|
s=t([1,2,3]) |
200 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
201 |
|
|
self.failUnless(self.__distance(s,numarray.array([3.,2,3]))<self.ABS_TOL,"s is wrong.") |
202 |
|
|
def test_Reflection_x_offset2_vector(self): |
203 |
|
|
t=Reflection([1.,0.,0.],offset=[2,0,0]) |
204 |
|
|
s0=t([1,0,0]) |
205 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
206 |
|
|
self.failUnless(self.__distance(s0,numarray.array([3.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
207 |
|
|
s1=t([0,1,0]) |
208 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
209 |
|
|
self.failUnless(self.__distance(s1,numarray.array([4,1,0]))<self.ABS_TOL,"s1 is wrong.") |
210 |
|
|
s2=t([0,0,1]) |
211 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
212 |
|
|
self.failUnless(self.__distance(s2,numarray.array([4,0,1]))<self.ABS_TOL,"s2 is wrong.") |
213 |
|
|
s=t([1,2,3]) |
214 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
215 |
|
|
self.failUnless(self.__distance(s,numarray.array([3.,2,3]))<self.ABS_TOL,"s is wrong.") |
216 |
gross |
907 |
def test_Reflection_y_offset0(self): |
217 |
|
|
t=Reflection([0.,1.,0.]) |
218 |
|
|
s0=t([1,0,0]) |
219 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
220 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
221 |
|
|
s1=t([0,1,0]) |
222 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
223 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,-1,0]))<self.ABS_TOL,"s1 is wrong.") |
224 |
|
|
s2=t([0,0,1]) |
225 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
226 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,1]))<self.ABS_TOL,"s2 is wrong.") |
227 |
|
|
s=t([1,2,3]) |
228 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
229 |
|
|
self.failUnless(self.__distance(s,numarray.array([1.,-2,3]))<self.ABS_TOL,"s is wrong.") |
230 |
|
|
def test_Reflection_y_offset2(self): |
231 |
|
|
t=Reflection([0.,-2.,0.],offset=-4) |
232 |
|
|
s0=t([1,0,0]) |
233 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
234 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,4,0.]))<self.ABS_TOL,"s0 is wrong.") |
235 |
|
|
s1=t([0,1,0]) |
236 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
237 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,3,0]))<self.ABS_TOL,"s1 is wrong.") |
238 |
|
|
s2=t([0,0,1]) |
239 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
240 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,4,1]))<self.ABS_TOL,"s2 is wrong.") |
241 |
|
|
s=t([1,2,3]) |
242 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
243 |
|
|
self.failUnless(self.__distance(s,numarray.array([1.,2,3]))<self.ABS_TOL,"s is wrong.") |
244 |
|
|
def test_Reflection_y_offset2_vector(self): |
245 |
|
|
t=Reflection([0.,1.,0.],offset=[0,2,0]) |
246 |
|
|
s0=t([1,0,0]) |
247 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
248 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,4,0.]))<self.ABS_TOL,"s0 is wrong.") |
249 |
|
|
s1=t([0,1,0]) |
250 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
251 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,3,0]))<self.ABS_TOL,"s1 is wrong.") |
252 |
|
|
s2=t([0,0,1]) |
253 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
254 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,4,1]))<self.ABS_TOL,"s2 is wrong.") |
255 |
|
|
s=t([1,2,3]) |
256 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
257 |
|
|
self.failUnless(self.__distance(s,numarray.array([1.,2,3]))<self.ABS_TOL,"s is wrong.") |
258 |
|
|
def test_Reflection_z_offset0(self): |
259 |
|
|
t=Reflection([0.,0.,1.]) |
260 |
|
|
s0=t([1,0,0]) |
261 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
262 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
263 |
|
|
s1=t([0,1,0]) |
264 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
265 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,1,0]))<self.ABS_TOL,"s1 is wrong.") |
266 |
|
|
s2=t([0,0,1]) |
267 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
268 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,-1]))<self.ABS_TOL,"s2 is wrong.") |
269 |
|
|
s=t([1,2,3]) |
270 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
271 |
|
|
self.failUnless(self.__distance(s,numarray.array([1.,2,-3]))<self.ABS_TOL,"s is wrong.") |
272 |
|
|
def test_Reflection_z_offset2(self): |
273 |
|
|
t=Reflection([0.,0.,-2.],offset=-4) |
274 |
|
|
s0=t([1,0,0]) |
275 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
276 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,4.]))<self.ABS_TOL,"s0 is wrong.") |
277 |
|
|
s1=t([0,1,0]) |
278 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
279 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,1,4]))<self.ABS_TOL,"s1 is wrong.") |
280 |
|
|
s2=t([0,0,1]) |
281 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
282 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,3]))<self.ABS_TOL,"s2 is wrong.") |
283 |
|
|
s=t([1,2,3]) |
284 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
285 |
|
|
self.failUnless(self.__distance(s,numarray.array([1.,2,1]))<self.ABS_TOL,"s is wrong.") |
286 |
|
|
def test_Reflection_z_offset2_vector(self): |
287 |
|
|
t=Reflection([0.,0.,1.],offset=[0,0,2]) |
288 |
|
|
s0=t([1,0,0]) |
289 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
290 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,4.]))<self.ABS_TOL,"s0 is wrong.") |
291 |
|
|
s1=t([0,1,0]) |
292 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
293 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0,1,4]))<self.ABS_TOL,"s1 is wrong.") |
294 |
|
|
s2=t([0,0,1]) |
295 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
296 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0,0,3]))<self.ABS_TOL,"s2 is wrong.") |
297 |
|
|
s=t([1,2,3]) |
298 |
|
|
self.failUnless(isinstance(s,numarray.NumArray),"s is not a numarray object.") |
299 |
|
|
self.failUnless(self.__distance(s,numarray.array([1.,2,1]))<self.ABS_TOL,"s is wrong.") |
300 |
|
|
def test_Rotatation_x_90_0(self): |
301 |
|
|
t=Rotatation(point1=[1.,0.,0.],angle=90*DEG) |
302 |
|
|
s0=t([1,0,0]) |
303 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
304 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
305 |
|
|
s1=t([0,1,0]) |
306 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
307 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
308 |
|
|
self.failUnless(abs(s1[1]-math.cos(90*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
309 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([1.,0.,0.]))>0.,"s1 has wrong orientation.") |
310 |
|
|
s2=t([0,0,1]) |
311 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
312 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
313 |
|
|
self.failUnless(abs(s2[2]-math.cos(90*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
314 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([1.,0.,0.]))>0.,"s2 has wrong orientation.") |
315 |
|
|
def test_Rotatation_x_30_0(self): |
316 |
|
|
t=Rotatation(point1=[1.,0.,0.],angle=30*DEG) |
317 |
|
|
s0=t([1,0,0]) |
318 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
319 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
320 |
|
|
s1=t([0,1,0]) |
321 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
322 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
323 |
|
|
self.failUnless(abs(s1[1]-math.cos(30*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
324 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([1.,0.,0.]))>0.,"s1 has wrong orientation.") |
325 |
|
|
s2=t([0,0,1]) |
326 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
327 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
328 |
|
|
self.failUnless(abs(s2[2]-math.cos(30*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
329 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([1.,0.,0.]))>0.,"s2 has wrong orientation.") |
330 |
|
|
def test_Rotatation_x_330_0(self): |
331 |
|
|
t=Rotatation(point1=[1.,0.,0.],angle=330*DEG) |
332 |
|
|
s0=t([1,0,0]) |
333 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
334 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
335 |
|
|
s1=t([0,1,0]) |
336 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
337 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
338 |
|
|
self.failUnless(abs(s1[1]-math.cos(330*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
339 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([1.,0.,0.]))<0.,"s1 has wrong orientation.") |
340 |
|
|
s2=t([0,0,1]) |
341 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
342 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
343 |
|
|
self.failUnless(abs(s2[2]-math.cos(330*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
344 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([1.,0.,0.]))<0.,"s2 has wrong orientation.") |
345 |
|
|
def test_Rotatation_x_90(self): |
346 |
|
|
t=Rotatation(point1=[1.,0.,0.],point0=[2.,0.,0.],angle=90*DEG) |
347 |
|
|
s0=t([1,0,0]) |
348 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
349 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
350 |
|
|
s1=t([0,1,0]) |
351 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
352 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
353 |
|
|
self.failUnless(abs(s1[1]-math.cos(90*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
354 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([-1.,0.,0.]))>0.,"s1 has wrong orientation.") |
355 |
|
|
s2=t([0,0,1]) |
356 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
357 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
358 |
|
|
self.failUnless(abs(s2[2]-math.cos(90*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
359 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([-1.,0.,0.]))>0.,"s2 has wrong orientation.") |
360 |
|
|
def test_Rotatation_x_30(self): |
361 |
|
|
t=Rotatation(point1=[1.,0.,0.],point0=[2.,0.,0.],angle=30*DEG) |
362 |
|
|
s0=t([1,0,0]) |
363 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
364 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
365 |
|
|
s1=t([0,1,0]) |
366 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
367 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
368 |
|
|
self.failUnless(abs(s1[1]-math.cos(30*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
369 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([-1.,0.,0.]))>0.,"s1 has wrong orientation.") |
370 |
|
|
s2=t([0,0,1]) |
371 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
372 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
373 |
|
|
self.failUnless(abs(s2[2]-math.cos(30*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
374 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([-1.,0.,0.]))>0.,"s2 has wrong orientation.") |
375 |
|
|
def test_Rotatation_x_330(self): |
376 |
|
|
t=Rotatation(point1=[1.,0.,0.],point0=[2.,0.,0.],angle=330*DEG) |
377 |
|
|
s0=t([1,0,0]) |
378 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
379 |
|
|
self.failUnless(self.__distance(s0,numarray.array([1.,0,0.]))<self.ABS_TOL,"s0 is wrong.") |
380 |
|
|
s1=t([0,1,0]) |
381 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
382 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
383 |
|
|
self.failUnless(abs(s1[1]-math.cos(330*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
384 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([-1.,0.,0.]))<0.,"s1 has wrong orientation.") |
385 |
|
|
s2=t([0,0,1]) |
386 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
387 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
388 |
|
|
self.failUnless(abs(s2[2]-math.cos(330*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
389 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([-1.,0.,0.]))<0.,"s2 has wrong orientation.") |
390 |
|
|
def test_Rotatation_y_90_0(self): |
391 |
|
|
t=Rotatation(point1=[0.,1.,0.],angle=90*DEG) |
392 |
|
|
s0=t([1,0,0]) |
393 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
394 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
395 |
|
|
self.failUnless(abs(s0[0]-math.cos(90*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
396 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,1.,0.]))>0.,"s0 has wrong orientation.") |
397 |
|
|
s1=t([0,5,0]) |
398 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
399 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,5,0.]))<self.ABS_TOL,"s1 is wrong.") |
400 |
|
|
s2=t([0,0,1]) |
401 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
402 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
403 |
|
|
self.failUnless(abs(s2[2]-math.cos(90*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
404 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([0.,1.,0.]))>0.,"s2 has wrong orientation.") |
405 |
|
|
def test_Rotatation_y_30_0(self): |
406 |
|
|
t=Rotatation(point1=[0.,1.,0.],angle=30*DEG) |
407 |
|
|
s0=t([1,0,0]) |
408 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
409 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
410 |
|
|
self.failUnless(abs(s0[0]-math.cos(30*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
411 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,1.,0.]))>0.,"s0 has wrong orientation.") |
412 |
|
|
s1=t([0,5,0]) |
413 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
414 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,5,0.]))<self.ABS_TOL,"s1 is wrong.") |
415 |
|
|
s2=t([0,0,1]) |
416 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
417 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
418 |
|
|
self.failUnless(abs(s2[2]-math.cos(30*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
419 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([0.,1.,0.]))>0.,"s2 has wrong orientation.") |
420 |
|
|
def test_Rotatation_y_330_0(self): |
421 |
|
|
t=Rotatation(point1=[0.,1.,0.],angle=330*DEG) |
422 |
|
|
s0=t([1,0,0]) |
423 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
424 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
425 |
|
|
self.failUnless(abs(s0[0]-math.cos(330*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
426 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,1.,0.]))<0.,"s0 has wrong orientation.") |
427 |
|
|
s1=t([0,1,0]) |
428 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
429 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,1,0.]))<self.ABS_TOL,"s1 is wrong.") |
430 |
|
|
s2=t([0,0,1]) |
431 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
432 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
433 |
|
|
self.failUnless(abs(s2[2]-math.cos(330*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
434 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([0.,1.,0.]))<0.,"s2 has wrong orientation.") |
435 |
|
|
def test_Rotatation_y_90(self): |
436 |
|
|
t=Rotatation(point1=[0.,1.,0.],point0=[0.,2.,0.],angle=90*DEG) |
437 |
|
|
s0=t([1,0,0]) |
438 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
439 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
440 |
|
|
self.failUnless(abs(s0[0]-math.cos(90*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
441 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,-1.,0.]))>0.,"s0 has wrong orientation.") |
442 |
|
|
s1=t([0,1,0]) |
443 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
444 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,1,0.]))<self.ABS_TOL,"s1 is wrong.") |
445 |
|
|
s2=t([0,0,1]) |
446 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
447 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
448 |
|
|
self.failUnless(abs(s2[2]-math.cos(90*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
449 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([0.,-1.,0.]))>0.,"s2 has wrong orientation.") |
450 |
|
|
def test_Rotatation_y_30(self): |
451 |
|
|
t=Rotatation(point1=[0.,1.,0.],point0=[0.,2.,0.],angle=30*DEG) |
452 |
|
|
s0=t([1,0,0]) |
453 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
454 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
455 |
|
|
self.failUnless(abs(s0[0]-math.cos(30*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
456 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,-1.,0.]))>0.,"s0 has wrong orientation.") |
457 |
|
|
s1=t([0,1,0]) |
458 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
459 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,1,0.]))<self.ABS_TOL,"s1 is wrong.") |
460 |
|
|
s2=t([0,0,1]) |
461 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
462 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
463 |
|
|
self.failUnless(abs(s2[2]-math.cos(30*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
464 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([0.,-1.,0.]))>0.,"s2 has wrong orientation.") |
465 |
|
|
def test_Rotatation_y_330(self): |
466 |
|
|
t=Rotatation(point1=[0.,1.,0.],point0=[0.,2.,0.],angle=330*DEG) |
467 |
|
|
s0=t([1,0,0]) |
468 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
469 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
470 |
|
|
self.failUnless(abs(s0[0]-math.cos(330*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
471 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,-1.,0.]))<0.,"s0 has wrong orientation.") |
472 |
|
|
s1=t([0,1,0]) |
473 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
474 |
|
|
self.failUnless(self.__distance(s1,numarray.array([0.,1,0.]))<self.ABS_TOL,"s1 is wrong.") |
475 |
|
|
s2=t([0,0,1]) |
476 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
477 |
|
|
self.failUnless(abs(numarray.dot(s2,s2)-1.)<self.ABS_TOL,"s2 length is wrong.") |
478 |
|
|
self.failUnless(abs(s2[2]-math.cos(330*DEG))<self.ABS_TOL,"s2 angle is wrong.") |
479 |
|
|
self.failUnless(numarray.dot(_cross(s2,[0,0,1]),numarray.array([0.,-1.,0.]))<0.,"s2 has wrong orientation.") |
480 |
|
|
def test_Rotatation_z_90_0(self): |
481 |
|
|
t=Rotatation(point1=[0.,0.,1.],angle=90*DEG) |
482 |
|
|
s0=t([1,0,0]) |
483 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
484 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
485 |
|
|
self.failUnless(abs(s0[0]-math.cos(90*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
486 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,0.,1.]))>0.,"s0 has wrong orientation.") |
487 |
|
|
s1=t([0,5,0]) |
488 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
489 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-5.**2)<self.ABS_TOL,"s1 length is wrong.") |
490 |
|
|
self.failUnless(abs(s1[1]/5.-math.cos(90*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
491 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([0.,0.,1.]))>0.,"s1 has wrong orientation.") |
492 |
|
|
s2=t([0,0,1]) |
493 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
494 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0,1.]))<self.ABS_TOL,"s2 is wrong.") |
495 |
|
|
def test_Rotatation_z_30_0(self): |
496 |
|
|
t=Rotatation(point1=[0.,0.,1.],angle=30*DEG) |
497 |
|
|
s0=t([1,0,0]) |
498 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
499 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
500 |
|
|
self.failUnless(abs(s0[0]-math.cos(30*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
501 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,0.,1.]))>0.,"s0 has wrong orientation.") |
502 |
|
|
s1=t([0,5,0]) |
503 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
504 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-5.**2)<self.ABS_TOL,"s1 length is wrong.") |
505 |
|
|
self.failUnless(abs(s1[1]/5.-math.cos(30*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
506 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,5,0]),numarray.array([0.,0.,1.]))>0.,"s1 has wrong orientation.") |
507 |
|
|
s2=t([0,0,1]) |
508 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
509 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0,1.]))<self.ABS_TOL,"s2 is wrong.") |
510 |
|
|
def test_Rotatation_z_330_0(self): |
511 |
|
|
t=Rotatation(point1=[0.,0.,1.],angle=330*DEG) |
512 |
|
|
s0=t([1,0,0]) |
513 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
514 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
515 |
|
|
self.failUnless(abs(s0[0]-math.cos(330*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
516 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,0.,1.]))<0.,"s0 has wrong orientation.") |
517 |
|
|
s1=t([0,5,0]) |
518 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
519 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-5.**2)<self.ABS_TOL,"s1 length is wrong.") |
520 |
|
|
self.failUnless(abs(s1[1]/5.-math.cos(330*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
521 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([0.,0.,1.]))<0.,"s1 has wrong orientation.") |
522 |
|
|
def test_Rotatation_z_90(self): |
523 |
|
|
t=Rotatation(point1=[0.,0.,1.],point0=[0.,0.,2.],angle=90*DEG) |
524 |
|
|
s0=t([1,0,0]) |
525 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
526 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
527 |
|
|
self.failUnless(abs(s0[0]-math.cos(90*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
528 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,0.,-1.]))>0.,"s0 has wrong orientation.") |
529 |
|
|
s1=t([0,1,0]) |
530 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
531 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
532 |
|
|
self.failUnless(abs(s1[1]-math.cos(90*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
533 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([0.,0.,-1.]))>0.,"s1 has wrong orientation.") |
534 |
|
|
s2=t([0,0,1]) |
535 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
536 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0,1.]))<self.ABS_TOL,"s2 is wrong.") |
537 |
|
|
def test_Rotatation_z_30(self): |
538 |
|
|
t=Rotatation(point1=[0.,0.,1.],point0=[0.,0.,2.],angle=30*DEG) |
539 |
|
|
s0=t([1,0,0]) |
540 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
541 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
542 |
|
|
self.failUnless(abs(s0[0]-math.cos(30*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
543 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,0.,-1.]))>0.,"s0 has wrong orientation.") |
544 |
|
|
s1=t([0,1,0]) |
545 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
546 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
547 |
|
|
self.failUnless(abs(s1[1]-math.cos(30*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
548 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([0.,0.,-1.]))>0.,"s1 has wrong orientation.") |
549 |
|
|
s2=t([0,0,1]) |
550 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
551 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0,1.]))<self.ABS_TOL,"s2 is wrong.") |
552 |
|
|
def test_Rotatation_z_330(self): |
553 |
|
|
t=Rotatation(point1=[0.,0.,1.],point0=[0.,0.,2.],angle=330*DEG) |
554 |
|
|
s0=t([1,0,0]) |
555 |
|
|
self.failUnless(isinstance(s0,numarray.NumArray),"s0 is not a numarray object.") |
556 |
|
|
self.failUnless(abs(numarray.dot(s0,s0)-1.)<self.ABS_TOL,"s0 length is wrong.") |
557 |
|
|
self.failUnless(abs(s0[0]-math.cos(330*DEG))<self.ABS_TOL,"s0 angle is wrong.") |
558 |
|
|
self.failUnless(numarray.dot(_cross(s0,[1,0,0]),numarray.array([0.,0.,-1.]))<0.,"s0 has wrong orientation.") |
559 |
|
|
s1=t([0,1,0]) |
560 |
|
|
self.failUnless(isinstance(s1,numarray.NumArray),"s1 is not a numarray object.") |
561 |
|
|
self.failUnless(abs(numarray.dot(s1,s1)-1.)<self.ABS_TOL,"s1 length is wrong.") |
562 |
|
|
self.failUnless(abs(s1[1]-math.cos(30*DEG))<self.ABS_TOL,"s1 angle is wrong.") |
563 |
|
|
self.failUnless(numarray.dot(_cross(s1,[0,1,0]),numarray.array([0.,0.,-1.]))<0.,"s1 has wrong orientation.") |
564 |
|
|
s2=t([0,0,1]) |
565 |
|
|
self.failUnless(isinstance(s2,numarray.NumArray),"s2 is not a numarray object.") |
566 |
|
|
self.failUnless(self.__distance(s2,numarray.array([0.,0,1.]))<self.ABS_TOL,"s2 is wrong.") |
567 |
gross |
905 |
if __name__ == '__main__': |
568 |
|
|
suite = unittest.TestSuite() |
569 |
|
|
suite.addTest(unittest.makeSuite(Test_PyCAD)) |
570 |
|
|
s=unittest.TextTestRunner(verbosity=2).run(suite) |
571 |
|
|
if s.wasSuccessful(): |
572 |
|
|
sys.exit(0) |
573 |
|
|
else: |
574 |
|
|
sys.exit(1) |