Refactoring to build a Height scaling top control
This commit is contained in:
parent
5c2308a134
commit
8511191abb
8 changed files with 74 additions and 52 deletions
|
|
@ -28,14 +28,15 @@ either expressed or implied, of the FreeBSD Project.
|
|||
*/
|
||||
|
||||
using System.Threading.Tasks;
|
||||
using MatterHackers.Agg;
|
||||
using MatterHackers.DataConverters3D;
|
||||
using MatterHackers.Localizations;
|
||||
using MatterHackers.MatterControl.PartPreviewWindow;
|
||||
using MatterHackers.Plugins.EditorTools;
|
||||
using MatterHackers.PolygonMesh;
|
||||
|
||||
namespace MatterHackers.MatterControl.DesignTools
|
||||
{
|
||||
public class CubeObject3D : PrimitiveObject3D
|
||||
public class CubeObject3D : PrimitiveObject3D, IObject3DControlsProvider
|
||||
{
|
||||
public CubeObject3D()
|
||||
{
|
||||
|
|
@ -49,6 +50,21 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
|
||||
public double Height { get; set; } = 20;
|
||||
|
||||
public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer)
|
||||
{
|
||||
object3DControlsLayer.AddDefaultControls();
|
||||
object3DControlsLayer.AddWorldRotateControls();
|
||||
var object3DControls = object3DControlsLayer.Object3DControls;
|
||||
|
||||
//object3DControls.Add(new ScaleMatrixTopControl(object3DControlsLayer));
|
||||
object3DControls.Add(new ScaleHeightControl(object3DControlsLayer));
|
||||
|
||||
object3DControls.Add(new ScaleCornerControl(object3DControlsLayer, 0));
|
||||
object3DControls.Add(new ScaleCornerControl(object3DControlsLayer, 1));
|
||||
object3DControls.Add(new ScaleCornerControl(object3DControlsLayer, 2));
|
||||
object3DControls.Add(new ScaleCornerControl(object3DControlsLayer, 3));
|
||||
}
|
||||
|
||||
public static async Task<CubeObject3D> Create()
|
||||
{
|
||||
var item = new CubeObject3D();
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
{
|
||||
public interface IObject3DControlsProvider
|
||||
{
|
||||
List<IObject3DControl> GetObject3DControls(Object3DControlsLayer object3DControlsLayer);
|
||||
void AddObject3DControls(Object3DControlsLayer object3DControlsLayer);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -129,14 +129,9 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
}
|
||||
}
|
||||
|
||||
public List<IObject3DControl> GetObject3DControls(Object3DControlsLayer object3DControlsLayer)
|
||||
public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer)
|
||||
{
|
||||
return new List<IObject3DControl>
|
||||
{
|
||||
new MoveInZControl(object3DControlsLayer),
|
||||
new SelectionShadow(object3DControlsLayer),
|
||||
new SnappingIndicators(object3DControlsLayer),
|
||||
};
|
||||
object3DControlsLayer.AddDefaultControls();
|
||||
}
|
||||
|
||||
private ImageBuffer LoadImage()
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
public class MeasureToolObject3D : Object3D, IObject3DControlsProvider, IEditorDraw
|
||||
{
|
||||
private static Mesh shape = null;
|
||||
private List<IObject3DControl> editorControls;
|
||||
private List<IObject3DControl> editorControls = null;
|
||||
|
||||
public MeasureToolObject3D()
|
||||
{
|
||||
|
|
@ -88,7 +88,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
|
||||
public override bool Persistable => false;
|
||||
|
||||
public List<IObject3DControl> GetObject3DControls(Object3DControlsLayer object3DControlsLayer)
|
||||
public void AddObject3DControls(Object3DControlsLayer object3DControlsLayer)
|
||||
{
|
||||
if (editorControls == null)
|
||||
{
|
||||
|
|
@ -133,7 +133,7 @@ namespace MatterHackers.MatterControl.DesignTools
|
|||
};
|
||||
}
|
||||
|
||||
return editorControls;
|
||||
object3DControlsLayer.Object3DControls.AddRange(editorControls);
|
||||
}
|
||||
|
||||
public override async void OnInvalidate(InvalidateArgs invalidateType)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue