Beispiel #1
0
 def test_cp(self):
     r1 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     r2 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     self.assertTrue(r1 is r1)
     self.assertFalse(r1 is r1.cp())
     self.assertTrue(r1 == r1.cp())
     self.assertFalse(r1 is r2)
     self.assertFalse(r1 is r2.cp())
     self.assertTrue(r1 == r2.cp())
Beispiel #2
0
 def test_cp(self):
     r1 = ray3(vec3(1,1,2),vec3(0,1,0))
     r2 = ray3(vec3(1,1,2),vec3(0,1,0))
     self.assertTrue(r1 is r1)
     self.assertFalse(r1 is r1.cp())
     self.assertTrue(r1 == r1.cp())
     self.assertFalse(r1 is r2)
     self.assertFalse(r1 is r2.cp())
     self.assertTrue(r1 == r2.cp())
Beispiel #3
0
 def test_isnear(self):
     r1 = ray3(vec3(1,1,2),vec3(0,1,0))
     r2 = ray3(vec3(1,1,2),vec3(0,5,0))
     r3 = ray3(vec3(1,1,2),vec3(1,1,0))
     r4 = ray3(vec3(2,1,2),vec3(0,1,0))
     self.assertTrue(r1.isnear(r1))
     self.assertTrue(r1.isnear(r1.cp()))
     self.assertTrue(r1.isnear(r2))
     self.assertFalse(r1.isnear(r3))
     self.assertFalse(r1.isnear(r4))
Beispiel #4
0
 def test_isnear(self):
     r1 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     r2 = ray3(vec3(1, 1, 2), vec3(0, 5, 0))
     r3 = ray3(vec3(1, 1, 2), vec3(1, 1, 0))
     r4 = ray3(vec3(2, 1, 2), vec3(0, 1, 0))
     self.assertTrue(r1.isnear(r1))
     self.assertTrue(r1.isnear(r1.cp()))
     self.assertTrue(r1.isnear(r2))
     self.assertFalse(r1.isnear(r3))
     self.assertFalse(r1.isnear(r4))
Beispiel #5
0
 def test_hittri_close(self):
     r1 = ray3(vec3(1,1,2),vec3(0,1,0))
     tri1 = (vec3(0,3,0),vec3(3,2,1),vec3(3,3,4))
     tri2 = (vec3(0,2,0),vec3(3,4,1),vec3(2,4,4))
     tri3 = (vec3(0,2,0),vec3(3,2,0),vec3(1,1,4))
     tri4 = (vec3(0,2,0),vec3(3,3,1),vec3(1,3,4))
     self.assertEqual(r1.hittri_close([tri1,tri2,tri3,tri4]),2)
Beispiel #6
0
 def test_hittris(self):
     r1 = ray3(vec3(1,1,2),vec3(0,1,0))
     tri1 = (vec3(0,2,0),vec3(3,2,1),vec3(3,3,4))
     tri2 = (vec3(0,2,0),vec3(3,2,1),vec3(2,3,4))
     tri3 = (vec3(0,2,0),vec3(3,2,0),vec3(1,3,4))
     tri4 = (vec3(0,2,0),vec3(3,2,1),vec3(1,3,4))
     self.assertEqual(r1.hittris([tri1,tri2,tri3,tri4]),[1,2,3])
Beispiel #7
0
 def test_hittri_close(self):
     r1 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     tri1 = (vec3(0, 3, 0), vec3(3, 2, 1), vec3(3, 3, 4))
     tri2 = (vec3(0, 2, 0), vec3(3, 4, 1), vec3(2, 4, 4))
     tri3 = (vec3(0, 2, 0), vec3(3, 2, 0), vec3(1, 1, 4))
     tri4 = (vec3(0, 2, 0), vec3(3, 3, 1), vec3(1, 3, 4))
     self.assertEqual(r1.hittri_close([tri1, tri2, tri3, tri4]), 2)
Beispiel #8
0
 def test_hittris(self):
     r1 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     tri1 = (vec3(0, 2, 0), vec3(3, 2, 1), vec3(3, 3, 4))
     tri2 = (vec3(0, 2, 0), vec3(3, 2, 1), vec3(2, 3, 4))
     tri3 = (vec3(0, 2, 0), vec3(3, 2, 0), vec3(1, 3, 4))
     tri4 = (vec3(0, 2, 0), vec3(3, 2, 1), vec3(1, 3, 4))
     self.assertEqual(r1.hittris([tri1, tri2, tri3, tri4]), [1, 2, 3])
Beispiel #9
0
 def test_hitpln(self):
     r1 = ray3(vec3(1,1,2),vec3(0,1,0))
     p01,p02 = vec3(-2,6,12),vec3(3,-2,0)
     pn1,pn2,pn3 = vec3(0,1,0),vec3(0,-1,0),vec3(1,0,0)
     self.assertTrue(r1.hitpln(p01,pn1))
     self.assertTrue(r1.hitpln(p01,pn2))
     self.assertFalse(r1.hitpln(p01,pn3))
     self.assertFalse(r1.hitpln(p02,pn1))
     self.assertFalse(r1.hitpln(p02,pn2))
     self.assertFalse(r1.hitpln(p02,pn3))
Beispiel #10
0
 def test_hittri(self):
     r1 = ray3(vec3(1,1,2),vec3(0,1,0))
     tri1 = (vec3(0,2,0),vec3(3,2,1),vec3(3,3,4))
     tri2 = (vec3(0,2,0),vec3(3,2,1),vec3(2,3,4))
     tri3 = (vec3(0,2,0),vec3(3,2,0),vec3(1,3,4))
     tri4 = (vec3(0,2,0),vec3(3,2,1),vec3(1,3,4))
     self.assertFalse(r1.hittri(*tri1))
     self.assertTrue(r1.hittri(*tri2))
     self.assertTrue(r1.hittri(*tri3))
     self.assertTrue(r1.hittri(*tri4))
Beispiel #11
0
 def test_hitpln(self):
     r1 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     p01, p02 = vec3(-2, 6, 12), vec3(3, -2, 0)
     pn1, pn2, pn3 = vec3(0, 1, 0), vec3(0, -1, 0), vec3(1, 0, 0)
     self.assertTrue(r1.hitpln(p01, pn1))
     self.assertTrue(r1.hitpln(p01, pn2))
     self.assertFalse(r1.hitpln(p01, pn3))
     self.assertFalse(r1.hitpln(p02, pn1))
     self.assertFalse(r1.hitpln(p02, pn2))
     self.assertFalse(r1.hitpln(p02, pn3))
Beispiel #12
0
 def test_hittri(self):
     r1 = ray3(vec3(1, 1, 2), vec3(0, 1, 0))
     tri1 = (vec3(0, 2, 0), vec3(3, 2, 1), vec3(3, 3, 4))
     tri2 = (vec3(0, 2, 0), vec3(3, 2, 1), vec3(2, 3, 4))
     tri3 = (vec3(0, 2, 0), vec3(3, 2, 0), vec3(1, 3, 4))
     tri4 = (vec3(0, 2, 0), vec3(3, 2, 1), vec3(1, 3, 4))
     self.assertFalse(r1.hittri(*tri1))
     self.assertTrue(r1.hittri(*tri2))
     self.assertTrue(r1.hittri(*tri3))
     self.assertTrue(r1.hittri(*tri4))