示例#1
0
 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))
示例#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))
示例#3
0
 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)
示例#4
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))
示例#5
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)
示例#6
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))
示例#7
0
 def test_params(self):
     c = cfaces.CircularFace()
     print(c.params)
     self.assertEqual(c.params, ['diameter', 'offset'])