Ejemplo n.º 1
0
    def test_reverse(self):
        ""
        pl = Polyline3D(*points)

        self.assertEqual(
            pl.reverse,
            Polyline3D(Point3D(1, 1, 0), Point3D(0, 1, 0), Point3D(0, 0, 0)))
Ejemplo n.º 2
0
    def test___eq__(self):
        ""
        pl = Polyline3D(*points)

        self.assertTrue(pl == pl)
        self.assertTrue(pl == Polyline3D(Point3D(1, 1, 0), Point3D(0, 1, 0),
                                         Point3D(0, 0, 0)))
Ejemplo n.º 3
0
 def test_segments(self):
     ""
     pl = Polyline3D(*points)
     self.assertEqual(
         pl.segments,
         Segments(Segment3D(Point3D(0, 0, 0), Point3D(0, 1, 0)),
                  Segment3D(Point3D(0, 1, 0), Point3D(1, 1, 0))))
Ejemplo n.º 4
0
 def test_plot(self):
     ""
     if plot:
         pl = Polyline3D(*points)
         fig = plt.figure()
         ax = fig.add_subplot(111, projection='3d')
         pl.plot(ax)
Ejemplo n.º 5
0
    def test_intersect_polyline(self):
        ""
        pv = PlaneVolume3D(P0, N)

        # single point intersection
        pl = Polyline3D(P0, P0 + N, Point3D(1, 0, 0) + N)
        self.assertEqual(pv.intersect_polyline(pl),
                         (Points(Point3D(0, 0, 0)), Polylines()))

        # two point intersection
        pl = Polyline3D(P0, P0 + N, Point3D(1, 0, 0) + N, Point3D(1, 0, 0))
        self.assertEqual(
            pv.intersect_polyline(pl),
            (Points(Point3D(0, 0, 0), Point3D(1, 0, 0)), Polylines()))

        # full intersection
        pl = Polyline3D(P0, P0 - N, Point3D(1, 0, 0) - N, Point3D(1, 0, 0))
        self.assertEqual(pv.intersect_polyline(pl), (Points(), Polylines(pl)))
Ejemplo n.º 6
0
    def test___contains__(self):
        ""
        pl = PlaneVolume3D(P0, N)

        # point
        self.assertTrue(P0 in pl)
        self.assertTrue(Point3D(10, 10, 0) in pl)
        self.assertFalse(Point3D(0, 0, 1) in pl)
        self.assertTrue(Point3D(0, 0, -1) in pl)

        # line
        self.assertTrue(Line3D(P0, Vector3D(1, 0, 0)) in pl)
        self.assertFalse(Line3D(P0 + N, Vector3D(1, 0, 0)) in pl)
        self.assertTrue(Line3D(P0 - N, Vector3D(1, 0, 0)) in pl)
        self.assertFalse(Line3D(P0, N) in pl)

        # polyline
        self.assertFalse(Polyline3D(P0, P0 + N, Point3D(1, 0, 0) + N) in pl)
        self.assertTrue(
            Polyline3D(P0, P0 - N,
                       Point3D(1, 0, 0) - N, Point3D(1, 0, 0)) in pl)
Ejemplo n.º 7
0
 def test_is_intersecting(self):
     ""
     pl = Polyline3D(*points)
     self.assertFalse(pl.is_intersecting)
Ejemplo n.º 8
0
 def test___repr__(self):
     ""
     pl = Polyline3D(*points)
     self.assertEqual(
         str(pl),
         'Polyline3D(Point3D(0,0,0),Point3D(0,1,0),Point3D(1,1,0))')
Ejemplo n.º 9
0
 def test___init__(self):
     ""
     pl = Polyline3D(*points)
     self.assertIsInstance(pl, Polyline3D)
     self.assertEqual(pl.points, points)