From 9d4ef0434418542abcf3d40442e54e26defe4944 Mon Sep 17 00:00:00 2001 From: Lars Brubaker Date: Tue, 16 Aug 2022 17:24:22 -0700 Subject: [PATCH] Add marching cubes output --- .../Primitives/DualContouringObject3D.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/MatterControlLib/DesignTools/Primitives/DualContouringObject3D.cs b/MatterControlLib/DesignTools/Primitives/DualContouringObject3D.cs index f3714bf48..a694eac28 100644 --- a/MatterControlLib/DesignTools/Primitives/DualContouringObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/DualContouringObject3D.cs @@ -183,6 +183,19 @@ namespace MatterHackers.MatterControl.DesignTools Mesh = Octree.GenerateMeshFromOctree(root); } + else + { + var min = shape.Bounds.MinXYZ; + var max = shape.Bounds.MaxXYZ; + var c = new MarchingCubes() + { + Implicit = new SdfToImplicit(shape), + Bounds = new AxisAlignedBox3d(min.X, min.Y, min.Z, max.X, max.Y, max.Z), + }; + c.Generate(); + MeshNormals.QuickCompute(c.Mesh); // generate normals + Mesh = c.Mesh.ToMesh(); + } } }