Beispiel #1
0
    def test_intersect_intRays(self):
        p1 = (0,0)
        dir1 = (1,0)
        p2 = (0,0)
        dir2 = (0,1)

        line = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual( line , [] )
        
        # Opposite direction
        p3 = (-1,0)
        dir3 = (-1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p3,dir3))

        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p3,dir3),(p1,dir1))

        # Parallell with offset
        p4 = (0,1)
        dir4 = (1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p4,dir4))

        p5 = (0,1)
        dir5 = (-1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p5,dir5))

        p6 = (1,1)
        dir6 = (1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p6,dir6))

        p2 = (-1,0)
        dir2 = (-1,0)
        join = Fault.intersectFaultRays(( p2,dir1),(p1,dir2))
        self.assertEqual( join , [p2 , p1])

        join = Fault.intersectFaultRays(( p1,dir3),(p3,dir1))
        self.assertEqual( join , [p1 , p3])
        
        p2 = (1,0)
        dir2 = (1,0)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2))
        self.assertEqual( join , [p1 , p2])

        # Orthogonal
        p2 = (1,1)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
            
        p2 = (0,1)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (-1,0)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (-1,1)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (-1,1)
        dir2 = (0,-1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (3,-1)
        dir2 = (0,-1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (1,-1)
        dir2 = (0,1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , (1,0) , p2])

        p2 = (1,1)
        dir2 = (0,-1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , (1,0) , p2])

        p2 = (0,3)
        dir2 = (0,-1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , p2])

        p2 = (3,0)
        dir2 = (0,-1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , p2])
Beispiel #2
0
    def test_intersect_intRays(self):
        p1 = (0,0)
        dir1 = (1,0)
        p2 = (0,0)
        dir2 = (0,1)

        line = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual( line , [] )
        
        # Opposite direction
        p3 = (-1,0)
        dir3 = (-1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p3,dir3))

        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p3,dir3),(p1,dir1))

        # Parallell with offset
        p4 = (0,1)
        dir4 = (1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p4,dir4))

        p5 = (0,1)
        dir5 = (-1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p5,dir5))

        p6 = (1,1)
        dir6 = (1,0)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p6,dir6))

        p2 = (-1,0)
        dir2 = (-1,0)
        join = Fault.intersectFaultRays(( p2,dir1),(p1,dir2))
        self.assertEqual( join , [p2 , p1])

        join = Fault.intersectFaultRays(( p1,dir3),(p3,dir1))
        self.assertEqual( join , [p1 , p3])
        
        p2 = (1,0)
        dir2 = (1,0)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2))
        self.assertEqual( join , [p1 , p2])

        # Orthogonal
        p2 = (1,1)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
            
        p2 = (0,1)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (-1,0)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (-1,1)
        dir2 = (0,1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (-1,1)
        dir2 = (0,-1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (3,-1)
        dir2 = (0,-1)
        with self.assertRaises(ValueError):
            Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))

        p2 = (1,-1)
        dir2 = (0,1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , (1,0) , p2])

        p2 = (1,1)
        dir2 = (0,-1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , (1,0) , p2])

        p2 = (0,3)
        dir2 = (0,-1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , p2])

        p2 = (3,0)
        dir2 = (0,-1)
        join = Fault.intersectFaultRays(( p1,dir1),(p2,dir2 ))
        self.assertEqual(join , [p1 , p2])