Exemplo n.º 1
0
 private void CloseCuttingSurfaceHoles(MeshPlaneCut cut)
 {
     foreach (var loop in cut.CutLoops)
     {
         var holeFill = new MinimalHoleFill(cut.Mesh, loop);
         holeFill.Apply();
     }
 }
Exemplo n.º 2
0
        private void FillAnyHoles(DMesh3 mesh,
                                  CancellationToken cancellationToken,
                                  out int nRemaining,
                                  out bool sawSpans)
        {
            var loops = new MeshBoundaryLoops(mesh);

            nRemaining = 0;
            sawSpans   = loops.SawOpenSpans;

            foreach (var loop in loops)
            {
                cancellationToken.ThrowIfCancellationRequested();
                var  filler = new MinimalHoleFill(mesh, loop);
                bool filled = filler.Apply();
                if (filled == false)
                {
                    cancellationToken.ThrowIfCancellationRequested();
                    var fallback = new SimpleHoleFiller(mesh, loop);
                    fallback.Fill();
                }
            }
        }