From ce49dadb13a090d3ee358db36f035f87d879d0bb Mon Sep 17 00:00:00 2001 From: LarsBrubaker Date: Sat, 1 May 2021 22:14:28 -0700 Subject: [PATCH] Adding to the other Diameter objects --- .../DesignTools/Primitives/ConeObject3D.cs | 16 +++++++++++++++- .../DesignTools/Primitives/HalfSphereObject3D.cs | 16 +++++++++++++++- .../DesignTools/Primitives/SphereObject3D.cs | 16 +++++++++++++++- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/MatterControlLib/DesignTools/Primitives/ConeObject3D.cs b/MatterControlLib/DesignTools/Primitives/ConeObject3D.cs index 76e7367d8..a9f66fbd3 100644 --- a/MatterControlLib/DesignTools/Primitives/ConeObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/ConeObject3D.cs @@ -32,10 +32,12 @@ using MatterHackers.Agg; using MatterHackers.Agg.VertexSource; using MatterHackers.DataConverters3D; using MatterHackers.Localizations; +using MatterHackers.MatterControl.PartPreviewWindow; +using MatterHackers.Plugins.EditorTools; namespace MatterHackers.MatterControl.DesignTools { - public class ConeObject3D : PrimitiveObject3D, IObjectWithHeight + public class ConeObject3D : PrimitiveObject3D, IObjectWithHeight, IObject3DControlsProvider { public ConeObject3D() { @@ -98,5 +100,17 @@ namespace MatterHackers.MatterControl.DesignTools Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Children)); return Task.CompletedTask; } + + public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer) + { + object3DControlsLayer.Object3DControls.Add(new ScaleDiameterControl(object3DControlsLayer, + () => Diameter, + (diameter) => Diameter = diameter)); + object3DControlsLayer.Object3DControls.Add(new ScaleHeightControl(object3DControlsLayer, + () => Diameter, + (diameter) => Diameter = diameter)); + object3DControlsLayer.AddControls(ControlTypes.MoveInZ); + object3DControlsLayer.AddControls(ControlTypes.RotateXYZ); + } } } \ No newline at end of file diff --git a/MatterControlLib/DesignTools/Primitives/HalfSphereObject3D.cs b/MatterControlLib/DesignTools/Primitives/HalfSphereObject3D.cs index 2780975ed..471e0b26d 100644 --- a/MatterControlLib/DesignTools/Primitives/HalfSphereObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/HalfSphereObject3D.cs @@ -33,11 +33,13 @@ using MatterHackers.Agg; using MatterHackers.Agg.VertexSource; using MatterHackers.DataConverters3D; using MatterHackers.Localizations; +using MatterHackers.MatterControl.PartPreviewWindow; +using MatterHackers.Plugins.EditorTools; using MatterHackers.VectorMath; namespace MatterHackers.MatterControl.DesignTools { - public class HalfSphereObject3D : PrimitiveObject3D + public class HalfSphereObject3D : PrimitiveObject3D, IObject3DControlsProvider { public HalfSphereObject3D() { @@ -115,5 +117,17 @@ namespace MatterHackers.MatterControl.DesignTools Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Mesh)); return Task.CompletedTask; } + + public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer) + { + object3DControlsLayer.Object3DControls.Add(new ScaleDiameterControl(object3DControlsLayer, + () => Diameter, + (diameter) => Diameter = diameter)); + object3DControlsLayer.Object3DControls.Add(new ScaleHeightControl(object3DControlsLayer, + () => Diameter, + (diameter) => Diameter = diameter)); + object3DControlsLayer.AddControls(ControlTypes.MoveInZ); + object3DControlsLayer.AddControls(ControlTypes.RotateXYZ); + } } } \ No newline at end of file diff --git a/MatterControlLib/DesignTools/Primitives/SphereObject3D.cs b/MatterControlLib/DesignTools/Primitives/SphereObject3D.cs index cff9e7597..787799638 100644 --- a/MatterControlLib/DesignTools/Primitives/SphereObject3D.cs +++ b/MatterControlLib/DesignTools/Primitives/SphereObject3D.cs @@ -33,12 +33,14 @@ using MatterHackers.Agg; using MatterHackers.Agg.VertexSource; using MatterHackers.DataConverters3D; using MatterHackers.Localizations; +using MatterHackers.MatterControl.PartPreviewWindow; +using MatterHackers.Plugins.EditorTools; using MatterHackers.PolygonMesh; using MatterHackers.VectorMath; namespace MatterHackers.MatterControl.DesignTools { - public class SphereObject3D : PrimitiveObject3D, IPropertyGridModifier + public class SphereObject3D : PrimitiveObject3D, IPropertyGridModifier, IObject3DControlsProvider { public SphereObject3D() { @@ -157,5 +159,17 @@ namespace MatterHackers.MatterControl.DesignTools change.SetRowVisible(nameof(EndingAngle), () => Advanced); change.SetRowVisible(nameof(LatitudeSides), () => Advanced); } + + public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer) + { + object3DControlsLayer.Object3DControls.Add(new ScaleDiameterControl(object3DControlsLayer, + () => Diameter, + (diameter) => Diameter = diameter)); + object3DControlsLayer.Object3DControls.Add(new ScaleHeightControl(object3DControlsLayer, + () => Diameter, + (diameter) => Diameter = diameter)); + object3DControlsLayer.AddControls(ControlTypes.MoveInZ); + object3DControlsLayer.AddControls(ControlTypes.RotateXYZ); + } } } \ No newline at end of file