Update to include points on face

Now correctly returns True for points on boundary surface of solid. Updated tests to verify this. Remove check that isInside() is run on solid since it is now part of Mixin3D which implies that self is a solid. Improved doc string.
This commit is contained in:
Michael Greminger
2019-06-24 13:56:13 -05:00
parent 793f4cfd17
commit ba1061df7d
2 changed files with 13 additions and 8 deletions

View File

@ -1911,16 +1911,19 @@ class TestCadQuery(BaseTest):
self.assertTrue(solid.isInside((Vector(3,3,3))))
self.assertFalse(solid.isInside((Vector(30.0,30.0,30.0))))
self.assertTrue(solid.isInside((4.9,4.9,4.9), tolerance=0.01))
self.assertFalse(solid.isInside((5.1,5.1,5.1), tolerance=0.01))
self.assertTrue(solid.isInside((0,0,4.99), tolerance=0.1))
self.assertTrue(solid.isInside((0,0,5))) # check point on surface
self.assertTrue(solid.isInside((0,0,5.01), tolerance=0.1))
self.assertFalse(solid.isInside((0,0,5.1), tolerance=0.1))
# test compound solid
model = Workplane('XY').box(10,10,10)
model = model.moveTo(50,50).box(10,10,10)
solid = model.val()
self.assertTrue(solid.isInside((0,0,0)))
self.assertTrue(solid.isInside((50,50,0)))
self.assertFalse(solid.isInside((50,55,0)))
self.assertFalse(solid.isInside((50,56,0)))
# make sure raises on non solid
model = Workplane('XY').rect(10,10)