diff --git a/PartPreviewWindow/View3D/View3DWidget.cs b/PartPreviewWindow/View3D/View3DWidget.cs index 695f9b8f1..40b80e790 100644 --- a/PartPreviewWindow/View3D/View3DWidget.cs +++ b/PartPreviewWindow/View3D/View3DWidget.cs @@ -570,6 +570,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow BeforeDraw += CreateBooleanTestGeometry; AfterDraw += RemoveBooleanTestGeometry; } + + AfterDraw += AfterDebugTest; + meshViewerWidget.TrackballTumbleWidget.DrawGlContent += TrackballTumbleWidget_DrawGlContent; } @@ -1083,6 +1086,25 @@ namespace MatterHackers.MatterControl.PartPreviewWindow base.OnDraw(graphics2D); } + private void AfterDebugTest(object sender, DrawEventArgs e) + { + foreach (var bvhAndTransform in Scene?.TraceData().MakeEnumerable()) + { + TriangleShape tri = bvhAndTransform.Bvh as TriangleShape; + if (tri != null) + { + for (int i = 0; i < 3; i++) + { + var vertexPos = tri.GetVertex(i); + var screenCenter = Vector3.Transform(vertexPos, bvhAndTransform.TransformToWorld); + var screenPos = meshViewerWidget.TrackballTumbleWidget.GetScreenPosition(screenCenter); + + e.graphics2D.Circle(screenPos, 3, RGBA_Bytes.Red); + } + } + } + } + private ViewControls3DButtons? activeButtonBeforeMouseOverride = null; private ViewControls3DButtons? activeButtonBeforeKeyOverride = null; diff --git a/PartPreviewWindow/ViewGcodeBasic.cs b/PartPreviewWindow/ViewGcodeBasic.cs index 611743542..4f86f6b36 100644 --- a/PartPreviewWindow/ViewGcodeBasic.cs +++ b/PartPreviewWindow/ViewGcodeBasic.cs @@ -329,11 +329,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow switch (e.TransformMode) { case ViewControls3DButtons.Translate: - gcodeViewWidget.TransformState = ViewGcodeWidget.ETransformState.Move; + if(gcodeViewWidget != null) gcodeViewWidget.TransformState = ViewGcodeWidget.ETransformState.Move; meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Translation; break; case ViewControls3DButtons.Scale: - gcodeViewWidget.TransformState = ViewGcodeWidget.ETransformState.Scale; + if (gcodeViewWidget != null) gcodeViewWidget.TransformState = ViewGcodeWidget.ETransformState.Scale; meshViewerWidget.TrackballTumbleWidget.TransformState = TrackBallController.MouseDownType.Scale; break; case ViewControls3DButtons.Rotate: diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 4065cbd70..f371813bc 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 4065cbd70e13f9abb26610b82eb8038fa3cf6efb +Subproject commit f371813bcf25ddeac939075974558f656ec6cb01