Making 2D Paths a more natural part of the system

This commit is contained in:
LarsBrubaker 2022-08-09 08:48:05 -07:00
parent 19d46d6afd
commit a9b1081bed
20 changed files with 122 additions and 142 deletions

View file

@ -47,7 +47,7 @@ using MatterHackers.VectorMath;
namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
{
public class SubtractPathObject3D : OperationSourceContainerObject3D, IPathObject, IEditorDraw, IObject3DControlsProvider
public class SubtractPathObject3D : OperationSourceContainerObject3D, IEditorDraw, IObject3DControlsProvider
{
public SubtractPathObject3D()
{
@ -57,7 +57,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
[DisplayName("Part(s) to Subtract")]
public SelectedChildren SelectedChildren { get; set; } = new SelectedChildren();
public IVertexSource VertexSource { get; set; } = new VertexStorage();
public override IVertexSource VertexSource { get; set; } = new VertexStorage();
public void DrawEditor(Object3DControlsLayer layer, DrawEventArgs e)
{
@ -198,11 +198,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
bool first = true;
foreach (var keep in keepVisibleItems)
{
var resultsVertexSource = (keep as IPathObject).VertexSource.Transform(keep.Matrix);
var resultsVertexSource = keep.VertexSource.Transform(keep.Matrix);
foreach (var remove in removeVisibleItems)
{
resultsVertexSource = resultsVertexSource.MergePaths(((IPathObject)remove).VertexSource.Transform(remove.Matrix), ClipperLib.ClipType.ctDifference);
resultsVertexSource = resultsVertexSource.MergePaths(remove.VertexSource.Transform(remove.Matrix), ClipperLib.ClipType.ctDifference);
// report our progress
ratioCompleted += amountPerOperation;