Esempio n. 1
0
        public override void OnDraw(Graphics2D graphics2D)
        {
            if (loadedGCode != null)
            {
                Affine transform = TotalTransform;

                CreateGrid(transform);

                double gridLineWidths = 0.2 * layerScale;
                Stroke stroke         = new Stroke(grid, gridLineWidths);

                if (RenderGrid)
                {
                    graphics2D.Render(stroke, new RGBA_Bytes(190, 190, 190, 255));
                }

                RenderType renderType = RenderType.Extrusions;
                if (RenderMoves)
                {
                    renderType |= RenderType.Moves;
                }
                if (RenderRetractions)
                {
                    renderType |= RenderType.Retractions;
                }
                if (RenderSpeeds)
                {
                    renderType |= RenderType.SpeedColors;
                }
                if (SimulateExtrusion)
                {
                    renderType |= RenderType.SimulateExtrusion;
                }
                if (HideExtruderOffsets)
                {
                    renderType |= RenderType.HideExtruderOffsets;
                }

                GCodeRenderInfo renderInfo = new GCodeRenderInfo(activeLayerIndex, activeLayerIndex, transform, layerScale, renderType,
                                                                 FeatureToStartOnRatio0To1, FeatureToEndOnRatio0To1,
                                                                 new Vector2[] { ActiveSliceSettings.Instance.GetOffset(0), ActiveSliceSettings.Instance.GetOffset(1) });
                gCodeRenderer.Render(graphics2D, renderInfo);
            }

            base.OnDraw(graphics2D);
        }
Esempio n. 2
0
        public override void OnDraw(Graphics2D graphics2D)
        {
            if (LoadedGCode != null)
            {
                //using (new PerformanceTimer("GCode Timer", "Total"))
                {
                    Affine transform = TotalTransform;

                    if (RenderGrid)
                    {
                        //using (new PerformanceTimer("GCode Timer", "Render Grid"))
                        {
                            double gridLineWidths = 0.2 * layerScale;

                            Graphics2DOpenGL graphics2DGl = graphics2D as Graphics2DOpenGL;
                            if (graphics2DGl != null)
                            {
                                GlRenderGrid(graphics2DGl, transform, gridLineWidths);
                            }
                            else
                            {
                                CreateGrid(transform);

                                Stroke stroke = new Stroke(grid, gridLineWidths);
                                graphics2D.Render(stroke, gridColor);
                            }
                        }
                    }

                    GCodeRenderInfo renderInfo = new GCodeRenderInfo(activeLayerIndex, activeLayerIndex, transform, layerScale, CreateRenderInfo(),
                                                                     FeatureToStartOnRatio0To1, FeatureToEndOnRatio0To1,
                                                                     new Vector2[] { ActiveSliceSettings.Instance.Helpers.ExtruderOffset(0), ActiveSliceSettings.Instance.Helpers.ExtruderOffset(1) });

                    //using (new PerformanceTimer("GCode Timer", "Render"))
                    {
                        gCodeRenderer?.Render(graphics2D, renderInfo);
                    }
                }
            }

            base.OnDraw(graphics2D);
        }
        public override void OnDraw(Graphics2D graphics2D)
        {
            if (loadedGCode != null)
            {
                //using (new PerformanceTimer("GCode Timer", "Total"))
                {
                    Affine transform = TotalTransform;

                    if (RenderGrid)
                    {
                        //using (new PerformanceTimer("GCode Timer", "Render Grid"))
                        {
                            double gridLineWidths = 0.2 * layerScale;

                            Graphics2DOpenGL graphics2DGl = graphics2D as Graphics2DOpenGL;
                            if (graphics2DGl != null)
                            {
                                GlRenderGrid(graphics2DGl, transform, gridLineWidths);
                            }
                            else
                            {
                                CreateGrid(transform);

                                Stroke stroke = new Stroke(grid, gridLineWidths);
                                graphics2D.Render(stroke, gridColor);
                            }
                        }
                    }

                    RenderType renderType = RenderType.Extrusions;
                    if (RenderMoves)
                    {
                        renderType |= RenderType.Moves;
                    }
                    if (RenderRetractions)
                    {
                        renderType |= RenderType.Retractions;
                    }
                    if (RenderSpeeds)
                    {
                        renderType |= RenderType.SpeedColors;
                    }
                    if (SimulateExtrusion)
                    {
                        renderType |= RenderType.SimulateExtrusion;
                    }
                    if (HideExtruderOffsets)
                    {
                        renderType |= RenderType.HideExtruderOffsets;
                    }

                    GCodeRenderInfo renderInfo = new GCodeRenderInfo(activeLayerIndex, activeLayerIndex, transform, layerScale, renderType,
                                                                     FeatureToStartOnRatio0To1, FeatureToEndOnRatio0To1,
                                                                     new Vector2[] { ActiveSliceSettings.Instance.GetOffset(0), ActiveSliceSettings.Instance.GetOffset(1) });

                    //using (new PerformanceTimer("GCode Timer", "Render"))
                    {
                        gCodeRenderer.Render(graphics2D, renderInfo);
                    }
                }
            }

            base.OnDraw(graphics2D);
        }