From 65f38fd8f2c93d249e8449b915535413c9a8eb24 Mon Sep 17 00:00:00 2001 From: "SND\\wo80_cp" Date: Fri, 18 Nov 2016 11:58:33 +0000 Subject: [PATCH] ImageRenderer: fix rendering of regions git-svn-id: https://triangle.svn.codeplex.com/svn@79627 0e2699bc-83d4-4a8f-98e7-55e24ab8c7a5 --- .../Triangle.Rendering/GDI/ImageRenderer.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/Triangle.NET/Triangle.Rendering/GDI/ImageRenderer.cs b/Triangle.NET/Triangle.Rendering/GDI/ImageRenderer.cs index 6c32e09..e499521 100644 --- a/Triangle.NET/Triangle.Rendering/GDI/ImageRenderer.cs +++ b/Triangle.NET/Triangle.Rendering/GDI/ImageRenderer.cs @@ -7,10 +7,14 @@ namespace TriangleNet.Rendering.GDI using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.IO; + using TriangleNet.Meshing; + /// + /// Enables rendering of polygons or meshes to a bitmap. + /// public class ImageRenderer { - ColorManager colors = ImageRenderer.LightScheme(); + ColorManager colors = LightScheme(); public ColorManager ColorScheme { @@ -30,13 +34,13 @@ namespace TriangleNet.Rendering.GDI /// The PNG filename. /// Enable rendering of regions. /// Enable rendering of points. - public static void Save(Mesh mesh, string file = null, int width = 800, + public static void Save(IMesh mesh, string file = null, int width = 800, bool regions = false, bool points = true) { // Check file name - if (String.IsNullOrWhiteSpace(file)) + if (string.IsNullOrWhiteSpace(file)) { - file = String.Format("mesh-{0}.png", DateTime.Now.ToString("yyyy-M-d-hh-mm-ss")); + file = string.Format("mesh-{0}.png", DateTime.Now.ToString("yyyy-M-d-hh-mm-ss")); } // Ensure .png extension. @@ -56,7 +60,7 @@ namespace TriangleNet.Rendering.GDI } /// - /// Export the mesh to PNG format. + /// Renders the mesh to a bitmap. /// /// The current mesh. /// The desired width (pixel) of the image. @@ -65,7 +69,7 @@ namespace TriangleNet.Rendering.GDI /// The width has to be at least 2 * sqrt(n), n the number of vertices. /// Otherwise, an empty bitmap /// - public Bitmap Render(Mesh mesh, int width = 800) + public Bitmap Render(IMesh mesh, int width = 800) { Bitmap bitmap; @@ -112,12 +116,12 @@ namespace TriangleNet.Rendering.GDI return bitmap; } - private int[] GetRegions(Mesh mesh) + private int[] GetRegions(IMesh mesh) { mesh.Renumber(); var labels = new int[mesh.Triangles.Count]; - var regions = new HashSet(); + var regions = new SortedSet(); foreach (var t in mesh.Triangles) {