Fixed the gcode not visible looking up from under the bed

Made a opaque and transparent RenderGL event
This commit is contained in:
Lars Brubaker 2017-09-20 11:45:52 -07:00
parent 4fb71e3716
commit f74dea2638
3 changed files with 18 additions and 6 deletions

View file

@ -50,7 +50,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
public InteractiveScene Scene { get; }
public event EventHandler<DrawEventArgs> DrawGlContent;
public event EventHandler<DrawEventArgs> DrawGlOpaqueContent;
public event EventHandler<DrawEventArgs> DrawGlTransparentContent;
public bool DoOpenGlDrawing { get; set; } = true;
@ -306,7 +307,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
private void OnDrawGlContent(DrawEventArgs e)
{
DrawGlContent?.Invoke(this, e);
DrawGlOpaqueContent?.Invoke(this, e);
DrawGlTransparentContent?.Invoke(this, e);
}
private void SetGlContext()

View file

@ -96,7 +96,8 @@ namespace MatterHackers.MeshVisualizer
BedColor = new RGBA_Floats(.8, .8, .8, .7).GetAsRGBA_Bytes();
BuildVolumeColor = new RGBA_Floats(.2, .8, .3, .2).GetAsRGBA_Bytes();
this.interactionLayer.DrawGlContent += this.trackballTumbleWidget_DrawGlContent;
this.interactionLayer.DrawGlOpaqueContent += this.DrawOpaqueGlContent;
this.interactionLayer.DrawGlTransparentContent += this.DrawTransparentGlContent;
}
public override void OnParentChanged(EventArgs e)
@ -464,7 +465,16 @@ namespace MatterHackers.MeshVisualizer
return bCenterInViewSpace.LengthSquared.CompareTo(aCenterInViewSpace.LengthSquared);
}
private void trackballTumbleWidget_DrawGlContent(object sender, DrawEventArgs e)
private void DrawOpaqueGlContent(object sender, DrawEventArgs e)
{
List<MeshRenderData> transparentMeshes = new List<MeshRenderData>();
foreach (var object3D in scene.Children)
{
DrawObject(object3D, transparentMeshes, false, e);
}
}
private void DrawTransparentGlContent(object sender, DrawEventArgs e)
{
List<MeshRenderData> transparentMeshes = new List<MeshRenderData>();
foreach (var object3D in scene.Children)

View file

@ -542,7 +542,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
this.SwitchStateToEditing();
this.InteractionLayer.DrawGlContent += TrackballTumbleWidget_DrawGlContent;
this.InteractionLayer.DrawGlOpaqueContent += TrackballTumbleWidget_DrawGlContent;
}
private void CreateActionSeparator(GuiWidget container)
@ -821,7 +821,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
meshViewerWidget.AfterDraw -= AfterDraw3DContent;
}
this.InteractionLayer.DrawGlContent -= TrackballTumbleWidget_DrawGlContent;
this.InteractionLayer.DrawGlOpaqueContent -= TrackballTumbleWidget_DrawGlContent;
unregisterEvents?.Invoke(this, null);
base.OnClosed(e);