def test_face_set_intersection(self): o = AnOwner(diameter=5.5, offset=6.6) c = cfaces.CircularFace(owner=o) c.idx = 7 fl = ctracer.FaceList() fl.faces = [c] r = ctracer.Ray(origin=(-1, 0, -1), direction=(1, 0, 1), length=10) idx = fl.intersect(r, 20) self.assertEqual(r.end_face_idx, 7) self.assertEqual(r.length, sqrt(2.0))
def test_trace_segment(self): from raytrace import cfaces o = AnOwner(diameter=5.5, offset=6.6) c = cfaces.CircularFace(owner=o) rays = ctracer.RayCollection(10) in_ray = ctracer.Ray(origin=(-1, 0, -1), direction=(1, 0, 1)) rays.add_ray(in_ray) self.assertEqual(rays.n_rays, 1) face_set = ctracer.FaceList() face_set.faces = [c] all_faces = [c] out_rays = ctracer.trace_segment(rays, [face_set], all_faces) self.assertEqual(out_rays.n_rays, 1) out_ray = out_rays[0] self.assertEqual(out_ray.direction, (1, 0, -1))
def test_miss(self): o = AnOwner(diameter=5.5, offset=6.6) c = cfaces.CircularFace(owner=o) dist = c.intersect((6, 0, -2), (6, 0, 2)) import numpy self.assertEqual(dist, 0.0)
def test_intersection2(self): o = AnOwner(diameter=5.5, offset=6.6) c = cfaces.CircularFace(owner=o) dist = c.intersect((-1, 0, -1), (1, 0, 1)) self.assertEqual(dist, sqrt(2.0))
def test_intersection(self): o = AnOwner(diameter=5.5, offset=6.6) c = cfaces.CircularFace(owner=o) dist = c.intersect((0, 0, -2), (0, 0, 2)) self.assertEqual(dist, 2.0)
def test_update(self): o = AnOwner(diameter=5.5, offset=6.6) c = cfaces.CircularFace(owner=o) c.update() self.assertEqual((c.diameter, c.offset), (o.diameter, o.offset))
def test_params(self): c = cfaces.CircularFace() print(c.params) self.assertEqual(c.params, ['diameter', 'offset'])