예제 #1
0
 def test_expanding_and_clipping(self):
     a = Circle.empty()
     b = (a.expandedTo(UnitVector3d.X()).expandedTo(
         Circle(UnitVector3d.Y(),
                1)).clippedTo(Circle(UnitVector3d(1, 1, 0),
                                     1)).clippedTo(UnitVector3d.Y()))
     a.expandTo(UnitVector3d.X())
     a.expandTo(Circle(UnitVector3d.Y(), 1))
     a.clipTo(Circle(UnitVector3d(1, 1, 0), 1))
     a.clipTo(UnitVector3d.Y())
     self.assertEqual(a, b)
     self.assertEqual(a, Circle(UnitVector3d.Y()))
     a.clipTo(UnitVector3d.Z())
     self.assertTrue(a.isEmpty())
예제 #2
0
 def test_construction(self):
     self.assertTrue(Circle.empty().isEmpty())
     self.assertTrue(Circle().isEmpty())
     self.assertTrue(Circle.full().isFull())
     c = Circle(UnitVector3d.X())
     self.assertEqual(c.getOpeningAngle(), Angle(0))
     self.assertEqual(c.getSquaredChordLength(), 0)
     c = Circle(UnitVector3d.Z(), 2.0)
     self.assertTrue(c.contains(UnitVector3d.Z()))
     c = Circle(UnitVector3d.Z(), Angle(math.pi))
     self.assertTrue(c.isFull())
     d = c.clone()
     self.assertEqual(c, d)
     self.assertNotEqual(id(c), id(d))
     e = Circle(d)
     self.assertEqual(d, e)