From 8e772944c5d3d38a8511dd6d8feee1f3b915f8f4 Mon Sep 17 00:00:00 2001 From: MatterHackers Date: Sun, 3 Dec 2023 15:05:57 -0800 Subject: [PATCH] improving rotation --- MatterControlLib/ApplicationView/SceneOperations.cs | 2 -- .../DesignTools/Operations/FindSliceObject3D.cs | 1 - .../DesignTools/Operations/Path/RevolveObject3D.cs | 6 +++++- Submodules/agg-sharp | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/MatterControlLib/ApplicationView/SceneOperations.cs b/MatterControlLib/ApplicationView/SceneOperations.cs index 51f76359e..7d362a857 100644 --- a/MatterControlLib/ApplicationView/SceneOperations.cs +++ b/MatterControlLib/ApplicationView/SceneOperations.cs @@ -443,8 +443,6 @@ namespace MatterHackers.MatterControl var itemClone = sceneItem.Clone(); revolve.Children.Add(itemClone); - revolve.Matrix = itemClone.Matrix; - itemClone.Matrix = Matrix4X4.Identity; scene.SelectedItem = null; scene.UndoBuffer.AddAndDo(new ReplaceCommand(new[] { sceneItem }, new[] { revolve })); diff --git a/MatterControlLib/DesignTools/Operations/FindSliceObject3D.cs b/MatterControlLib/DesignTools/Operations/FindSliceObject3D.cs index b49783bb5..4fc4c3985 100644 --- a/MatterControlLib/DesignTools/Operations/FindSliceObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/FindSliceObject3D.cs @@ -29,7 +29,6 @@ either expressed or implied, of the FreeBSD Project. using System.Collections.Generic; using System.Threading.Tasks; -using MatterControlLib.DesignTools.Operations.Path; using MatterHackers.Agg.UI; using MatterHackers.Agg.VertexSource; using MatterHackers.DataConverters3D; diff --git a/MatterControlLib/DesignTools/Operations/Path/RevolveObject3D.cs b/MatterControlLib/DesignTools/Operations/Path/RevolveObject3D.cs index 4b7fe7167..7f0652328 100644 --- a/MatterControlLib/DesignTools/Operations/Path/RevolveObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/Path/RevolveObject3D.cs @@ -136,7 +136,9 @@ namespace MatterHackers.MatterControl.DesignTools.Operations public void DrawEditor(Object3DControlsLayer layer, DrawEventArgs e) { var path = this.CombinedVisibleChildrenPaths(); - if (path != null) + // we only draw the rotation line if we are not rotated + if (path != null + && Rotation.Value(this) == 0) { var (start, end) = GetStartEnd(this, path); layer.World.Render3DLine(start, end, Color.Red, true); @@ -198,6 +200,8 @@ namespace MatterHackers.MatterControl.DesignTools.Operations vertexSource = vertexSource.Translate(-pathBounds.Left - axisPosition, 0); Mesh mesh = VertexSourceToMesh.Revolve(vertexSource, sides, + // A right hand rule rotation about y would make the part go clockwise into the ground so we need to rotate the other way + // Starting at the end and going to the start MathHelper.DegreesToRadians(360 - endingAngle), MathHelper.DegreesToRadians(360 - startingAngle), false); diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index ea29e79df..4a3185d8d 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit ea29e79df34dc1ad8bac8f09e4333f49212922db +Subproject commit 4a3185d8d49855cf6ade9d2bf2ada19e101d731f