diff --git a/MatterControlLib/DesignTools/Interfaces/IEditorDraw.cs b/MatterControlLib/DesignTools/Interfaces/IEditorDraw.cs index aacc86185..c089716de 100644 --- a/MatterControlLib/DesignTools/Interfaces/IEditorDraw.cs +++ b/MatterControlLib/DesignTools/Interfaces/IEditorDraw.cs @@ -35,6 +35,6 @@ namespace MatterHackers.MatterControl.DesignTools { public interface IEditorDraw { - void DrawEditor(Object3DControlsLayer object3DControlLayer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw); + void DrawEditor(Object3DControlsLayer object3DControlLayer, List transparentMeshes, DrawEventArgs e); } } \ No newline at end of file diff --git a/MatterControlLib/DesignTools/Obsolete/CurveObject3D.cs b/MatterControlLib/DesignTools/Obsolete/CurveObject3D.cs index a58445c1d..8d5bd417d 100644 --- a/MatterControlLib/DesignTools/Obsolete/CurveObject3D.cs +++ b/MatterControlLib/DesignTools/Obsolete/CurveObject3D.cs @@ -78,7 +78,7 @@ namespace MatterHackers.MatterControl.DesignTools [Description("Where to start the bend as a percent of the width of the part")] public double StartPercent { get; set; } = 50; - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { if (layer.Scene.SelectedItem != null && layer.Scene.SelectedItem.DescendantsAndSelf().Where((i) => i == this).Any()) diff --git a/MatterControlLib/DesignTools/Obsolete/FitToBoundsObject3D.cs b/MatterControlLib/DesignTools/Obsolete/FitToBoundsObject3D.cs index 825afa8cc..bd80f5ad8 100644 --- a/MatterControlLib/DesignTools/Obsolete/FitToBoundsObject3D.cs +++ b/MatterControlLib/DesignTools/Obsolete/FitToBoundsObject3D.cs @@ -244,7 +244,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations ScaleItem.Matrix = Object3DExtensions.ApplyAtPosition(ScaleItem.Matrix, aabb.Center, Matrix4X4.CreateScale(scale)); } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { if (layer.Scene.SelectedItem != null && layer.Scene.SelectedItem.DescendantsAndSelf().Where((i) => i == this).Any()) diff --git a/MatterControlLib/DesignTools/Operations/ArrayRadialObject3D.cs b/MatterControlLib/DesignTools/Operations/ArrayRadialObject3D.cs index 25d547b45..e7e4031bf 100644 --- a/MatterControlLib/DesignTools/Operations/ArrayRadialObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/ArrayRadialObject3D.cs @@ -133,7 +133,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations }); } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { layer.World.RenderDirectionAxis(Axis, this.WorldMatrix(), 30); } diff --git a/MatterControlLib/DesignTools/Operations/CurveObject3D_2.cs b/MatterControlLib/DesignTools/Operations/CurveObject3D_2.cs index 0e30a689a..2fae2c7fa 100644 --- a/MatterControlLib/DesignTools/Operations/CurveObject3D_2.cs +++ b/MatterControlLib/DesignTools/Operations/CurveObject3D_2.cs @@ -66,7 +66,7 @@ namespace MatterHackers.MatterControl.DesignTools [Description("Where to start the bend as a percent of the width of the part")] public double StartPercent { get; set; } = 50; - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { var sourceAabb = this.SourceContainer.GetAxisAlignedBoundingBox(); var distance = Diameter / 2 + sourceAabb.YSize / 2; diff --git a/MatterControlLib/DesignTools/Operations/FitToBoundsObject3D_2.cs b/MatterControlLib/DesignTools/Operations/FitToBoundsObject3D_2.cs index 590cba1e8..61cb6b5e3 100644 --- a/MatterControlLib/DesignTools/Operations/FitToBoundsObject3D_2.cs +++ b/MatterControlLib/DesignTools/Operations/FitToBoundsObject3D_2.cs @@ -145,7 +145,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations return fitToBounds; } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { var aabb = UntransformedChildren.GetAxisAlignedBoundingBox(); var center = aabb.Center; diff --git a/MatterControlLib/DesignTools/Operations/FitToCylinderObject3D.cs b/MatterControlLib/DesignTools/Operations/FitToCylinderObject3D.cs index 5b9717663..0e4a0f3b1 100644 --- a/MatterControlLib/DesignTools/Operations/FitToCylinderObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/FitToCylinderObject3D.cs @@ -105,7 +105,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations return fitToBounds; } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { var aabb = this.WorldAxisAlignedBoundingBox(); layer.World.RenderCylinderOutline(Matrix4X4.Identity, aabb.Center, Diameter, aabb.ZSize, 90, Color.Red); diff --git a/MatterControlLib/DesignTools/Operations/Image/ImageToPathObject3D.cs b/MatterControlLib/DesignTools/Operations/Image/ImageToPathObject3D.cs index 727bca809..34cee84db 100644 --- a/MatterControlLib/DesignTools/Operations/Image/ImageToPathObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/Image/ImageToPathObject3D.cs @@ -252,7 +252,7 @@ namespace MatterHackers.MatterControl.DesignTools } } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { ImageToPathObject3D.DrawPath(this); } diff --git a/MatterControlLib/DesignTools/Operations/Path/InflatePathObject3D.cs b/MatterControlLib/DesignTools/Operations/Path/InflatePathObject3D.cs index 1e0d57560..10d0b9b05 100644 --- a/MatterControlLib/DesignTools/Operations/Path/InflatePathObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/Path/InflatePathObject3D.cs @@ -125,7 +125,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations return joinType; } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { ImageToPathObject3D.DrawPath(this); } diff --git a/MatterControlLib/DesignTools/Operations/Path/OutlinePathObject3D.cs b/MatterControlLib/DesignTools/Operations/Path/OutlinePathObject3D.cs index e89e7b70a..507465023 100644 --- a/MatterControlLib/DesignTools/Operations/Path/OutlinePathObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/Path/OutlinePathObject3D.cs @@ -142,7 +142,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations (VertexSource as VertexStorage).Add(0, 0, ShapePath.FlagsAndCommand.Stop); } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { ImageToPathObject3D.DrawPath(this); } diff --git a/MatterControlLib/DesignTools/Operations/Path/SmoothPathObject3D.cs b/MatterControlLib/DesignTools/Operations/Path/SmoothPathObject3D.cs index 16bd53919..f48ec473a 100644 --- a/MatterControlLib/DesignTools/Operations/Path/SmoothPathObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/Path/SmoothPathObject3D.cs @@ -160,7 +160,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations VertexSource = outputPolygons.CreateVertexStorage(); } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { ImageToPathObject3D.DrawPath(this); } diff --git a/MatterControlLib/DesignTools/Operations/RotateObject3D_2.cs b/MatterControlLib/DesignTools/Operations/RotateObject3D_2.cs index 5c279c37f..d7184901f 100644 --- a/MatterControlLib/DesignTools/Operations/RotateObject3D_2.cs +++ b/MatterControlLib/DesignTools/Operations/RotateObject3D_2.cs @@ -100,7 +100,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations } } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { if (layer.Scene.SelectedItem != null && layer.Scene.SelectedItem.DescendantsAndSelf().Where((i) => i == this).Any()) diff --git a/MatterControlLib/DesignTools/Operations/ScaleObject3D.cs b/MatterControlLib/DesignTools/Operations/ScaleObject3D.cs index c63909609..df5ebe46a 100644 --- a/MatterControlLib/DesignTools/Operations/ScaleObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/ScaleObject3D.cs @@ -176,7 +176,7 @@ namespace MatterHackers.MatterControl.DesignTools.Operations #endregion // editable properties - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { if (layer.Scene.SelectedItem != null && layer.Scene.SelectedItem.DescendantsAndSelf().Where((i) => i == this).Any()) diff --git a/MatterControlLib/DesignTools/Operations/TwistObject3D.cs b/MatterControlLib/DesignTools/Operations/TwistObject3D.cs index 776b81205..d1da8f311 100644 --- a/MatterControlLib/DesignTools/Operations/TwistObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/TwistObject3D.cs @@ -123,7 +123,7 @@ namespace MatterHackers.MatterControl.DesignTools } } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { var sourceAabb = this.SourceContainer.GetAxisAlignedBoundingBox(); var rotationCenter = SourceContainer.GetSmallestEnclosingCircleAlongZ().Center + RotationOffset; diff --git a/MatterControlLib/DesignTools/Primitives/MeasureToolObject3D.cs b/MatterControlLib/DesignTools/Primitives/MeasureToolObject3D.cs index f3a590c24..8424573c2 100644 --- a/MatterControlLib/DesignTools/Primitives/MeasureToolObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/MeasureToolObject3D.cs @@ -160,7 +160,7 @@ namespace MatterHackers.MatterControl.DesignTools return Task.CompletedTask; } - public void DrawEditor(Object3DControlsLayer object3DControlLayer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer object3DControlLayer, List transparentMeshes, DrawEventArgs e) { var start = PositionsHaveBeenSet ? StartPosition : StartPosition.Transform(Matrix); var end = PositionsHaveBeenSet ? EndPosition : EndPosition.Transform(Matrix); diff --git a/MatterControlLib/DesignTools/Primitives/TextPathObject3D.cs b/MatterControlLib/DesignTools/Primitives/TextPathObject3D.cs index a024c26fd..84bd27e43 100644 --- a/MatterControlLib/DesignTools/Primitives/TextPathObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/TextPathObject3D.cs @@ -180,7 +180,7 @@ namespace MatterHackers.MatterControl.DesignTools return null; } - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { ImageToPathObject3D.DrawPath(this); } diff --git a/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractAndReplaceObject3D_2.cs b/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractAndReplaceObject3D_2.cs index f6426b7d5..cfa40d7fe 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractAndReplaceObject3D_2.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractAndReplaceObject3D_2.cs @@ -59,10 +59,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D [DisplayName("Part(s) to Subtract and Replace")] public SelectedChildren SelectedChildren { get; set; } = new SelectedChildren(); - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { - suppressNormalDraw = true; - var parentOfSourceItems = this.SourceContainer.DescendantsAndSelfMultipleChildrenFirstOrSelf(); var sourceItems = parentOfSourceItems.Children.ToList(); diff --git a/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractObject3D_2.cs b/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractObject3D_2.cs index 5d3921299..c89119448 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractObject3D_2.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/Actions/SubtractObject3D_2.cs @@ -56,13 +56,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D [DisplayName("Part(s) to Subtract")] public SelectedChildren SelectedChildren { get; set; } = new SelectedChildren(); - public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e, ref bool suppressNormalDraw) + public void DrawEditor(Object3DControlsLayer layer, List transparentMeshes, DrawEventArgs e) { if (layer.Scene.SelectedItem != null && layer.Scene.SelectedItem == this) { - suppressNormalDraw = true; - var parentOfSubtractTargets = this.SourceContainer.DescendantsAndSelfMultipleChildrenFirstOrSelf(); var removeObjects = parentOfSubtractTargets.Children diff --git a/MatterControlLib/PartPreviewWindow/View3D/Object3DControlsLayer.cs b/MatterControlLib/PartPreviewWindow/View3D/Object3DControlsLayer.cs index fb0dc68d5..4887dd7ad 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/Object3DControlsLayer.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/Object3DControlsLayer.cs @@ -904,7 +904,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow var transparentMeshes = new List(); var selectedItem = scene.SelectedItem; - bool suppressNormalDraw = false; if (selectedItem != null) { // Invoke existing IEditorDraw when iterating items @@ -912,14 +911,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { // TODO: Putting the drawing code in the IObject3D means almost certain bindings to MatterControl in IObject3D. If instead // we had a UI layer object that used binding to register scene drawing hooks for specific types, we could avoid the bindings - editorDraw.DrawEditor(this, transparentMeshes, e, ref suppressNormalDraw); + editorDraw.DrawEditor(this, transparentMeshes, e); } } foreach (var item in scene.Children) { if (item.Visible - && (item != selectedItem || suppressNormalDraw == false)) + && (item != selectedItem)) { DrawObject(item, transparentMeshes, e); }