diff --git a/PartPreviewWindow/PlatingHelper.cs b/PartPreviewWindow/PlatingHelper.cs index 01705c93e..62a42ea20 100644 --- a/PartPreviewWindow/PlatingHelper.cs +++ b/PartPreviewWindow/PlatingHelper.cs @@ -149,7 +149,7 @@ namespace MatterHackers.MatterControl public static void PlaceOnBed(IObject3D object3D) { - AxisAlignedBoundingBox bounds = object3D.GetAxisAlignedBoundingBox(Matrix4X4.Identity, true); + AxisAlignedBoundingBox bounds = object3D.GetAxisAlignedBoundingBox(Matrix4X4.Identity); Vector3 boundsCenter = (bounds.maxXYZ + bounds.minXYZ) / 2; object3D.Matrix *= Matrix4X4.CreateTranslation(new Vector3(0, 0, -boundsCenter.Z + bounds.ZSize / 2)); diff --git a/PartPreviewWindow/View3D/Actions/CombineEditor.cs b/PartPreviewWindow/View3D/Actions/CombineEditor.cs index f76aaee2e..3ec95c3dc 100644 --- a/PartPreviewWindow/View3D/Actions/CombineEditor.cs +++ b/PartPreviewWindow/View3D/Actions/CombineEditor.cs @@ -58,7 +58,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D var mainContainer = new FlowLayoutWidget(FlowDirection.TopToBottom); if (group is MeshWrapperOperation operationNode - && operationNode.Children.All(c => c.OutputType != PrintOutputTypes.Hole)) + && operationNode.Descendants().Where((obj) => obj.OwnerID == group.ID).All(c => c.OutputType != PrintOutputTypes.Hole)) { bool first = true; // set all but one mesh to look like holes diff --git a/PartPreviewWindow/View3D/Actions/IntersectionEditor.cs b/PartPreviewWindow/View3D/Actions/IntersectionEditor.cs index 81fadc58e..11514e392 100644 --- a/PartPreviewWindow/View3D/Actions/IntersectionEditor.cs +++ b/PartPreviewWindow/View3D/Actions/IntersectionEditor.cs @@ -58,7 +58,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D var mainContainer = new FlowLayoutWidget(FlowDirection.TopToBottom); if (group is MeshWrapperOperation operationNode - && operationNode.Children.All(c => c.OutputType != PrintOutputTypes.Hole)) + && operationNode.Descendants().Where((obj) => obj.OwnerID == group.ID).All(c => c.OutputType != PrintOutputTypes.Hole)) { bool first = true; // set all but one mesh to look like holes diff --git a/PartPreviewWindow/View3D/MeshViewerWidget.cs b/PartPreviewWindow/View3D/MeshViewerWidget.cs index a529e9ca2..b2d75a41f 100644 --- a/PartPreviewWindow/View3D/MeshViewerWidget.cs +++ b/PartPreviewWindow/View3D/MeshViewerWidget.cs @@ -484,15 +484,16 @@ namespace MatterHackers.MeshVisualizer bool isSelected = parentSelected || scene.HasSelection && (object3D == scene.SelectedItem || scene.SelectedItem.Children.Contains(object3D)); - if (isSelected) + if (isSelected && scene.DrawSelection) { var totalVertices = 0; + int maxVerticesToRenderOutline = 1000; foreach (var visibleMesh in object3D.VisibleMeshes()) { totalVertices += visibleMesh.Mesh.Vertices.Count; - if (totalVertices > 1000) + if (totalVertices > maxVerticesToRenderOutline) { break; } @@ -517,8 +518,7 @@ namespace MatterHackers.MeshVisualizer Invalidate(); } - bool tooBigForComplexSelection = totalVertices > 1000; - if (tooBigForComplexSelection + if (totalVertices > maxVerticesToRenderOutline && scene.DebugItem == null) { GLHelper.PrepareFor3DLineRender(true); diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 2e011242b..d0db17201 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 2e011242b083bf6ebdc723dc5768a85ac6b8227d +Subproject commit d0db172015d632bda42184e18a63158c94b7dd97 diff --git a/TextCreator/app.config b/TextCreator/app.config index a176ba41b..8d60bfa13 100644 --- a/TextCreator/app.config +++ b/TextCreator/app.config @@ -1,11 +1,19 @@ - + - - + + + + + + + + + + - +