Turned the 3d view render options into radio buttons.
Made the 2D gcode view able to show speed and extrusion simulation. Made the 3D gcode view able to turn off speed and extrusion simulation.
This commit is contained in:
parent
66e0fb3b4d
commit
f202a3336f
3 changed files with 97 additions and 39 deletions
|
|
@ -1139,7 +1139,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
viewOptionContainer.AddChild(showBuildVolumeCheckBox);
|
viewOptionContainer.AddChild(showBuildVolumeCheckBox);
|
||||||
}
|
}
|
||||||
|
|
||||||
viewOptionContainer.AddChild(CreateRenderTypeDropDownMenu());
|
CreateRenderTypeRadioButtons(viewOptionContainer);
|
||||||
}
|
}
|
||||||
buttonRightPanel.AddChild(viewOptionContainer);
|
buttonRightPanel.AddChild(viewOptionContainer);
|
||||||
}
|
}
|
||||||
|
|
@ -1421,36 +1421,37 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
return presetScaleMenu;
|
return presetScaleMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DropDownMenu CreateRenderTypeDropDownMenu()
|
private void CreateRenderTypeRadioButtons(FlowLayoutWidget viewOptionContainer)
|
||||||
{
|
{
|
||||||
DropDownMenu renderTypeMenu = new DropDownMenu(LocalizedString.Get("Render Type"), Direction.Down);
|
|
||||||
RectangleDouble presetBounds = renderTypeMenu.LocalBounds;
|
|
||||||
presetBounds.Inflate(new BorderDouble(5, 10, 10, 10));
|
|
||||||
renderTypeMenu.LocalBounds = presetBounds;
|
|
||||||
renderTypeMenu.MenuAsWideAsItems = false;
|
|
||||||
renderTypeMenu.HAnchor |= HAnchor.ParentLeftRight;
|
|
||||||
|
|
||||||
renderTypeMenu.AddItem("Shaded".Localize());
|
|
||||||
renderTypeMenu.AddItem("Outlines".Localize());
|
|
||||||
renderTypeMenu.AddItem("Polygons".Localize());
|
|
||||||
|
|
||||||
renderTypeMenu.SelectionChanged += (sender, e) =>
|
|
||||||
{
|
{
|
||||||
switch (renderTypeMenu.SelectedIndex)
|
RadioButton renderTypeShaded = new RadioButton("Shaded".Localize(), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
|
renderTypeShaded.Checked = true;
|
||||||
|
renderTypeShaded.CheckedStateChanged += (sender, e) =>
|
||||||
{
|
{
|
||||||
case 0:
|
meshViewerWidget.RenderType = RenderTypes.Shaded;
|
||||||
meshViewerWidget.RenderType = RenderTypes.Shaded;
|
};
|
||||||
break;
|
viewOptionContainer.AddChild(renderTypeShaded);
|
||||||
case 1:
|
}
|
||||||
meshViewerWidget.RenderType = RenderTypes.Outlines;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
meshViewerWidget.RenderType = RenderTypes.Polygons;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return renderTypeMenu;
|
{
|
||||||
|
RadioButton renderTypeOutlines = new RadioButton("Outlines".Localize(), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
|
//renderTypeOutlines.Checked = true;
|
||||||
|
renderTypeOutlines.CheckedStateChanged += (sender, e) =>
|
||||||
|
{
|
||||||
|
meshViewerWidget.RenderType = RenderTypes.Outlines;
|
||||||
|
};
|
||||||
|
viewOptionContainer.AddChild(renderTypeOutlines);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
RadioButton renderTypePolygons = new RadioButton("Polygons".Localize(), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
|
//renderTypePolygons.Checked = true;
|
||||||
|
renderTypePolygons.CheckedStateChanged += (sender, e) =>
|
||||||
|
{
|
||||||
|
meshViewerWidget.RenderType = RenderTypes.Polygons;
|
||||||
|
};
|
||||||
|
viewOptionContainer.AddChild(renderTypePolygons);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private GuiWidget generateHorizontalRule()
|
private GuiWidget generateHorizontalRule()
|
||||||
|
|
|
||||||
|
|
@ -251,6 +251,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
{
|
{
|
||||||
renderType |= RenderType.Retractions;
|
renderType |= RenderType.Retractions;
|
||||||
}
|
}
|
||||||
|
if (gcodeViewWidget.RenderSpeeds)
|
||||||
|
{
|
||||||
|
renderType |= RenderType.SpeedColors;
|
||||||
|
}
|
||||||
|
if (gcodeViewWidget.SimulateExtrusion)
|
||||||
|
{
|
||||||
|
renderType |= RenderType.SimulateExtrusion;
|
||||||
|
}
|
||||||
|
|
||||||
GCodeRenderer.ExtrusionColor = ActiveTheme.Instance.PrimaryAccentColor;
|
GCodeRenderer.ExtrusionColor = ActiveTheme.Instance.PrimaryAccentColor;
|
||||||
gcodeViewWidget.gCodeRenderer.Render3D(0, Math.Min(gcodeViewWidget.ActiveLayerIndex + 1, gcodeViewWidget.LoadedGCode.NumChangesInZ), gcodeViewWidget.TotalTransform, 1, renderType,
|
gcodeViewWidget.gCodeRenderer.Render3D(0, Math.Min(gcodeViewWidget.ActiveLayerIndex + 1, gcodeViewWidget.LoadedGCode.NumChangesInZ), gcodeViewWidget.TotalTransform, 1, renderType,
|
||||||
|
|
@ -445,7 +453,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
|
|
||||||
// put in a show grid check box
|
// put in a show grid check box
|
||||||
{
|
{
|
||||||
CheckBox showGrid = new CheckBox(LocalizedString.Get("Show Grid"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
CheckBox showGrid = new CheckBox(LocalizedString.Get("Grid"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
showGrid.Checked = gcodeViewWidget.RenderGrid;
|
showGrid.Checked = gcodeViewWidget.RenderGrid;
|
||||||
meshViewerWidget.RenderBed = showGrid.Checked;
|
meshViewerWidget.RenderBed = showGrid.Checked;
|
||||||
showGrid.CheckedStateChanged += (sender, e) =>
|
showGrid.CheckedStateChanged += (sender, e) =>
|
||||||
|
|
@ -458,7 +466,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
|
|
||||||
// put in a show moves checkbox
|
// put in a show moves checkbox
|
||||||
{
|
{
|
||||||
CheckBox showMoves = new CheckBox(LocalizedString.Get("Show Moves"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
CheckBox showMoves = new CheckBox(LocalizedString.Get("Moves"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
showMoves.Checked = gcodeViewWidget.RenderMoves;
|
showMoves.Checked = gcodeViewWidget.RenderMoves;
|
||||||
showMoves.CheckedStateChanged += (sender, e) =>
|
showMoves.CheckedStateChanged += (sender, e) =>
|
||||||
{
|
{
|
||||||
|
|
@ -469,7 +477,7 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
|
|
||||||
// put in a show Retractions checkbox
|
// put in a show Retractions checkbox
|
||||||
{
|
{
|
||||||
CheckBox showRetractions = new CheckBox(LocalizedString.Get("Show Retractions"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
CheckBox showRetractions = new CheckBox(LocalizedString.Get("Retractions"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
showRetractions.Checked = gcodeViewWidget.RenderRetractions;
|
showRetractions.Checked = gcodeViewWidget.RenderRetractions;
|
||||||
showRetractions.CheckedStateChanged += (sender, e) =>
|
showRetractions.CheckedStateChanged += (sender, e) =>
|
||||||
{
|
{
|
||||||
|
|
@ -478,6 +486,28 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
layerInfoContainer.AddChild(showRetractions);
|
layerInfoContainer.AddChild(showRetractions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// put in a show speed checkbox
|
||||||
|
{
|
||||||
|
CheckBox showSpeeds = new CheckBox(LocalizedString.Get("Speeds"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
|
showSpeeds.Checked = gcodeViewWidget.RenderSpeeds;
|
||||||
|
showSpeeds.CheckedStateChanged += (sender, e) =>
|
||||||
|
{
|
||||||
|
gcodeViewWidget.RenderSpeeds = showSpeeds.Checked;
|
||||||
|
};
|
||||||
|
layerInfoContainer.AddChild(showSpeeds);
|
||||||
|
}
|
||||||
|
|
||||||
|
// put in a simulate extrusion checkbox
|
||||||
|
{
|
||||||
|
CheckBox simulateExtrusion = new CheckBox(LocalizedString.Get("Amount"), textColor: ActiveTheme.Instance.PrimaryTextColor);
|
||||||
|
simulateExtrusion.Checked = gcodeViewWidget.SimulateExtrusion;
|
||||||
|
simulateExtrusion.CheckedStateChanged += (sender, e) =>
|
||||||
|
{
|
||||||
|
gcodeViewWidget.SimulateExtrusion = simulateExtrusion.Checked;
|
||||||
|
};
|
||||||
|
layerInfoContainer.AddChild(simulateExtrusion);
|
||||||
|
}
|
||||||
|
|
||||||
// put in a show 3D view checkbox
|
// put in a show 3D view checkbox
|
||||||
{
|
{
|
||||||
viewControlsToggle.twoDimensionButton.CheckedStateChanged += (sender, e) =>
|
viewControlsToggle.twoDimensionButton.CheckedStateChanged += (sender, e) =>
|
||||||
|
|
|
||||||
|
|
@ -78,15 +78,34 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool RenderRetractions
|
public bool RenderRetractions
|
||||||
{
|
{
|
||||||
get { return (UserSettings.Instance.get("GcodeViewerRenderRetractions") == "True"); }
|
get { return (UserSettings.Instance.get("GcodeViewerRenderRetractions") == "True"); }
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
UserSettings.Instance.set ("GcodeViewerRenderRetractions", value.ToString ());
|
UserSettings.Instance.set("GcodeViewerRenderRetractions", value.ToString());
|
||||||
Invalidate();
|
Invalidate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public bool RenderSpeeds
|
||||||
|
{
|
||||||
|
get { return (UserSettings.Instance.get("GcodeViewerRenderSpeeds") == "True"); }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
UserSettings.Instance.set("GcodeViewerRenderSpeeds", value.ToString());
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public bool SimulateExtrusion
|
||||||
|
{
|
||||||
|
get { return (UserSettings.Instance.get("GcodeViewerSimulateExtrusion") == "True"); }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
UserSettings.Instance.set("GcodeViewerSimulateExtrusion", value.ToString());
|
||||||
|
Invalidate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
BackgroundWorker backgroundWorker = null;
|
BackgroundWorker backgroundWorker = null;
|
||||||
Vector2 lastMousePosition = new Vector2(0, 0);
|
Vector2 lastMousePosition = new Vector2(0, 0);
|
||||||
|
|
@ -302,6 +321,14 @@ namespace MatterHackers.MatterControl.PartPreviewWindow
|
||||||
{
|
{
|
||||||
renderType |= RenderType.Retractions;
|
renderType |= RenderType.Retractions;
|
||||||
}
|
}
|
||||||
|
if (RenderSpeeds)
|
||||||
|
{
|
||||||
|
renderType |= RenderType.SpeedColors;
|
||||||
|
}
|
||||||
|
if (SimulateExtrusion)
|
||||||
|
{
|
||||||
|
renderType |= RenderType.SimulateExtrusion;
|
||||||
|
}
|
||||||
|
|
||||||
gCodeRenderer.Render(graphics2D, activeLayerIndex, transform, layerScale, renderType,
|
gCodeRenderer.Render(graphics2D, activeLayerIndex, transform, layerScale, renderType,
|
||||||
FeatureToStartOnRatio0To1, FeatureToEndOnRatio0To1);
|
FeatureToStartOnRatio0To1, FeatureToEndOnRatio0To1);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue