Example #1
0
 def test_globalize_position_rotation(self):
     """Rotation is applied in reverse."""
     v1 = [(A, B, C)]
     rot = (90, 0, -90)
     frame = GroupFrame(rotation=rot)
     v2 = frame.globalize_position(v1)
     self.assertAllClose((B, -C, -A), v2[0])
Example #2
0
 def test_localize_position_rotation(self):
     """Euler rotation is applied in the correct order."""
     v1 = [(A, B, C)]
     rot = (90., 0., -90.)
     frame = GroupFrame(rotation=rot)
     v2 = frame.localize_position(v1)
     self.assertAllClose((-C, A, -B), v2[0])
Example #3
0
 def test_globalize_direction_all(self):
     """Transformations are applied in the correct order."""
     v1 = (A, B, C)
     pos = (D, 0, 0)
     rot = (0, 0, -90)
     frame = GroupFrame(position=pos, rotation=rot)
     v2 = frame.globalize_direction(v1)
     self.assertAllClose((B, -A, C), v2[0])
Example #4
0
 def test_localize_direction_all(self):
     """Only rotations are performed on directions."""
     v1 = [(A, B, C)]
     pos = (D, 0, 0)
     rot = (0, 0, -90)
     frame = GroupFrame(position=pos, rotation=rot)
     v2 = frame.localize_direction(v1)
     self.assertAllClose((-B, A, C), v2[0])
Example #5
0
 def test_localize_position_all(self):
     """Transformations are applied in the correct order."""
     v1 = [(A, B, C)]
     pos = (D, 0, 0)
     rot = (0, 0, -90)
     frame = GroupFrame(position=pos, rotation=rot)
     v2 = frame.localize_position(v1)
     self.assertAllClose((-B, A-D, C), v2[0])
Example #6
0
 def test_localize(self):
     p = [(A, B, C)]
     d = [(D, E, F)]
     pos = (G, H, I)
     r1 = Rays(p, d, None)
     member = GroupFrame(position=pos)
     r2 = member.localize(r1)
     self.assertAllClose(r1.endpoints[0], r2.endpoints[0] + pos)
     self.assertAllClose(r1.directions[0], r2.directions[0])
Example #7
0
 def test_globalize_position_translation(self):
     v1 = [(A, B, C)]
     dv = (D, E, F)
     frame = GroupFrame(position=dv)
     v2 = frame.globalize_position(v1)
     self.assertAllClose(v1[0], v2[0] - dv)