refactoring to EditorDraw
This commit is contained in:
parent
f01914f1b1
commit
e1b1757af1
4 changed files with 19 additions and 11 deletions
|
|
@ -188,7 +188,7 @@ namespace MatterHackers.Plugins.EditorTools
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// render on top of everything very lightly
|
// render on top of everything very lightly
|
||||||
Object3DControlContext.World.Render3DLine(clippingFrustum, bottomPosition, topPosition, new Color(theme.TextColor, 20), false, GuiWidget.DeviceScale);
|
Object3DControlContext.World.Render3DLine(clippingFrustum, bottomPosition, topPosition, theme.TextColor.WithAlpha(20), false, GuiWidget.DeviceScale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ using MatterHackers.MeshVisualizer;
|
||||||
using MatterHackers.PolygonMesh;
|
using MatterHackers.PolygonMesh;
|
||||||
using MatterHackers.PolygonMesh.Processors;
|
using MatterHackers.PolygonMesh.Processors;
|
||||||
using MatterHackers.RenderOpenGl;
|
using MatterHackers.RenderOpenGl;
|
||||||
|
using MatterHackers.RenderOpenGl.OpenGl;
|
||||||
using MatterHackers.VectorMath;
|
using MatterHackers.VectorMath;
|
||||||
|
|
||||||
namespace MatterHackers.MatterControl.DesignTools
|
namespace MatterHackers.MatterControl.DesignTools
|
||||||
|
|
@ -168,7 +169,12 @@ namespace MatterHackers.MatterControl.DesignTools
|
||||||
{
|
{
|
||||||
var start = PositionsHaveBeenSet ? StartPosition : StartPosition.Transform(Matrix);
|
var start = PositionsHaveBeenSet ? StartPosition : StartPosition.Transform(Matrix);
|
||||||
var end = PositionsHaveBeenSet ? EndPosition : EndPosition.Transform(Matrix);
|
var end = PositionsHaveBeenSet ? EndPosition : EndPosition.Transform(Matrix);
|
||||||
object3DControlLayer.World.Render3DLine(start, end, Color.Black, true, width: GuiWidget.DeviceScale);
|
|
||||||
|
// draw on top of anything that is already drawn
|
||||||
|
object3DControlLayer.World.Render3DLine(start, end, Color.Red.WithAlpha(100), false, width: GuiWidget.DeviceScale);
|
||||||
|
|
||||||
|
// Restore DepthTest
|
||||||
|
// object3DControlLayer.World.Render3DLine(start, end, Color.Black, true, width: GuiWidget.DeviceScale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -910,14 +910,6 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
var transparentMeshes = new List<Object3DView>();
|
var transparentMeshes = new List<Object3DView>();
|
||||||
|
|
||||||
var selectedItem = scene.SelectedItem;
|
var selectedItem = scene.SelectedItem;
|
||||||
if (selectedItem != null)
|
|
||||||
{
|
|
||||||
// Invoke existing IEditorDraw when iterating items
|
|
||||||
if (selectedItem is IEditorDraw editorDraw)
|
|
||||||
{
|
|
||||||
editorDraw.DrawEditor(this, transparentMeshes, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var item in scene.Children)
|
foreach (var item in scene.Children)
|
||||||
{
|
{
|
||||||
|
|
@ -1002,6 +994,16 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
floorDrawable.Draw(this, e, Matrix4X4.Identity, this.World);
|
floorDrawable.Draw(this, e, Matrix4X4.Identity, this.World);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Draw the editor items in the same scope as the 3D Controls
|
||||||
|
if (selectedItem != null)
|
||||||
|
{
|
||||||
|
// Invoke existing IEditorDraw when iterating items
|
||||||
|
if (selectedItem is IEditorDraw editorDraw)
|
||||||
|
{
|
||||||
|
editorDraw.DrawEditor(this, transparentMeshes, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
DrawObject3DControlVolumes(e);
|
DrawObject3DControlVolumes(e);
|
||||||
|
|
||||||
foreach (var drawable in drawables.Where(d => d.DrawStage == DrawStage.TransparentContent))
|
foreach (var drawable in drawables.Where(d => d.DrawStage == DrawStage.TransparentContent))
|
||||||
|
|
|
||||||
|
|
@ -1728,7 +1728,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
AxisAlignedBoundingBox selectedBounds = Scene.SelectedItem.GetAxisAlignedBoundingBox();
|
AxisAlignedBoundingBox selectedBounds = Scene.SelectedItem.GetAxisAlignedBoundingBox();
|
||||||
|
|
||||||
var drawCenter = CurrentSelectInfo.PlaneDownHitPos;
|
var drawCenter = CurrentSelectInfo.PlaneDownHitPos;
|
||||||
var drawColor = new Color(Color.Red, 20);
|
var drawColor = Color.Red.WithAlpha(20);
|
||||||
bool zBuffer = false;
|
bool zBuffer = false;
|
||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue