示例#1
0
 public void Clip()
 {
     for (int i = 0; i < 100; i++)
     {
         IPrimitive                 primitive = Utils.ThreadRandom.Primitive();
         AxisAlignedBox             bounds    = primitive.Shape.BoundingBox;
         AxisAlignedPlane           plane     = new(primitive.Shape.BoundingBox.Center, Utils.ThreadRandom.Unit());
         IEnumerable <ISceneObject> fragments = primitive.Clip(plane);
         foreach (PrimitiveFragment fragment in fragments)
         {
             AxisAlignedBox clipBounds = fragment.Shape.BoundingBox;
             Assert.IsTrue(bounds != clipBounds);
         }
     }
 }