diff --git a/Triangle.NET/TestApp/Controls/DarkCheckBox.cs b/Triangle.NET/TestApp/Controls/DarkCheckBox.cs
index 00942b2..3dae1cd 100644
--- a/Triangle.NET/TestApp/Controls/DarkCheckBox.cs
+++ b/Triangle.NET/TestApp/Controls/DarkCheckBox.cs
@@ -11,6 +11,7 @@ namespace MeshExplorer.Controls
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
+ using System.Drawing.Text;
using System.Windows.Forms;
///
@@ -56,7 +57,7 @@ namespace MeshExplorer.Controls
enum eButtonState { Normal, MouseOver, Down }
eButtonState m_State = eButtonState.Normal;
- // make sure the control is invalidated(repainted) when the text is changed
+ // Make sure the control is invalidated when the text is changed.
public override string Text
{
get { return base.Text; }
@@ -72,14 +73,17 @@ namespace MeshExplorer.Controls
set { isChecked = value; this.Invalidate(); }
}
- //--------------------------------------------------------------------------------
+ ///
+ /// Constructor.
+ ///
public DarkCheckBox()
{
this.BackColor = Color.FromArgb(76, 76, 76);
InitializeComponent();
}
+
+ #region Control overrides
- //--------------------------------------------------------------------------------
protected override void OnPaint(PaintEventArgs e)
{
//base.OnPaint(e);
@@ -146,25 +150,24 @@ namespace MeshExplorer.Controls
e.Graphics.DrawRectangle(brushBorder, newRect);
}
- e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
- e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
-
- if (this.isChecked)
- {
- e.Graphics.DrawLine(checkMark, 4, newRect.Bottom - boxSize / 2, newRect.Left + boxSize / 2.5f, newRect.Bottom - 2);
- e.Graphics.DrawLine(checkMark, newRect.Left + boxSize / 2.6f, newRect.Bottom - 2, newRect.Right, newRect.Top);
- }
+ e.Graphics.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
SizeF szL = e.Graphics.MeasureString(this.Text, base.Font, this.Width);
e.Graphics.DrawString(this.Text, base.Font, new SolidBrush(text_color), boxSize + 4, (this.Height - szL.Height) / 2);
+ if (this.isChecked)
+ {
+ e.Graphics.SmoothingMode = SmoothingMode.HighQuality;
+ e.Graphics.DrawLine(checkMark, 4, newRect.Bottom - boxSize / 2, newRect.Left + boxSize / 2.5f, newRect.Bottom - 2);
+ e.Graphics.DrawLine(checkMark, newRect.Left + boxSize / 2.6f, newRect.Bottom - 2, newRect.Right, newRect.Top);
+ }
+
if (brushOuter != null) brushOuter.Dispose();
if (brushInner != null) brushInner.Dispose();
if (brushBorder != null) brushBorder.Dispose();
if (checkMark != null) checkMark.Dispose();
}
- //--------------------------------------------------------------------------------
protected override void OnMouseLeave(System.EventArgs e)
{
m_State = eButtonState.Normal;
@@ -172,7 +175,6 @@ namespace MeshExplorer.Controls
base.OnMouseLeave(e);
}
- //--------------------------------------------------------------------------------
protected override void OnMouseEnter(System.EventArgs e)
{
m_State = eButtonState.MouseOver;
@@ -180,7 +182,6 @@ namespace MeshExplorer.Controls
base.OnMouseEnter(e);
}
- //--------------------------------------------------------------------------------
protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
{
m_State = eButtonState.MouseOver;
@@ -188,7 +189,6 @@ namespace MeshExplorer.Controls
base.OnMouseUp(e);
}
- //--------------------------------------------------------------------------------
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{
m_State = eButtonState.Down;
@@ -202,5 +202,7 @@ namespace MeshExplorer.Controls
this.Invalidate();
base.OnClick(e);
}
+
+ #endregion
}
}
diff --git a/Triangle.NET/TestApp/FormExport.cs b/Triangle.NET/TestApp/FormExport.cs
index 37fb1cb..370ca8d 100644
--- a/Triangle.NET/TestApp/FormExport.cs
+++ b/Triangle.NET/TestApp/FormExport.cs
@@ -37,6 +37,7 @@ namespace MeshExplorer
public string ImageName
{
get { return darkTextBox1.Text; }
+ set { darkTextBox1.Text = value; }
}
protected override void OnPaint(PaintEventArgs e)
diff --git a/Triangle.NET/TestApp/FormGenerator.Designer.cs b/Triangle.NET/TestApp/FormGenerator.Designer.cs
index afa773b..efc2b44 100644
--- a/Triangle.NET/TestApp/FormGenerator.Designer.cs
+++ b/Triangle.NET/TestApp/FormGenerator.Designer.cs
@@ -218,6 +218,7 @@
this.ShowInTaskbar = false;
this.Text = "Input Generator";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormGenerator_FormClosing);
+ this.Load += new System.EventHandler(this.FormGenerator_Load);
this.ResumeLayout(false);
}
diff --git a/Triangle.NET/TestApp/FormGenerator.cs b/Triangle.NET/TestApp/FormGenerator.cs
index 6d82551..213f9e0 100644
--- a/Triangle.NET/TestApp/FormGenerator.cs
+++ b/Triangle.NET/TestApp/FormGenerator.cs
@@ -15,11 +15,6 @@ namespace MeshExplorer
public FormGenerator()
{
InitializeComponent();
-
- darkListBox1.Items.Add(new RandomPoints());
- darkListBox1.Items.Add(new RandomPointsCircle());
- darkListBox1.Items.Add(new StarInBox());
- darkListBox1.Items.Add(new RingPolygon());
}
private void UpdateControls()
@@ -132,5 +127,15 @@ namespace MeshExplorer
lbParam3Val.Text = currentGenerator.ParameterDescription(3, sliderParam3.Value);
}
}
+
+ private void FormGenerator_Load(object sender, EventArgs e)
+ {
+ darkListBox1.Items.Add(new RandomPoints());
+ darkListBox1.Items.Add(new RandomPointsCircle());
+ darkListBox1.Items.Add(new StarInBox());
+ darkListBox1.Items.Add(new RingPolygon());
+
+ darkListBox1.SelectedIndex = 0;
+ }
}
}
diff --git a/Triangle.NET/TestApp/FormMain.Designer.cs b/Triangle.NET/TestApp/FormMain.Designer.cs
index a73a36f..1d865ff 100644
--- a/Triangle.NET/TestApp/FormMain.Designer.cs
+++ b/Triangle.NET/TestApp/FormMain.Designer.cs
@@ -29,18 +29,34 @@
private void InitializeComponent()
{
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.menuStrip1 = new System.Windows.Forms.MenuStrip();
+ this.menuFile = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuFileOpen = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuFileSave = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
+ this.menuFileExport = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
+ this.menuFileQuit = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuView = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuViewVoronoi = new System.Windows.Forms.ToolStripMenuItem();
+ this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
+ this.menuViewLog = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuTools = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuToolsGen = new System.Windows.Forms.ToolStripMenuItem();
+ this.menuToolsCheck = new System.Windows.Forms.ToolStripMenuItem();
+ this.btnSmooth = new MeshExplorer.Controls.DarkButton();
this.flatTabControl1 = new MeshExplorer.Controls.DarkTabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
- this.btnSmooth = new MeshExplorer.Controls.DarkButton();
this.lbMaxArea = new System.Windows.Forms.Label();
- this.btnMesh = new MeshExplorer.Controls.DarkButton();
this.label6 = new System.Windows.Forms.Label();
this.lbMinAngle = new System.Windows.Forms.Label();
+ this.label23 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.slMaxArea = new MeshExplorer.Controls.DarkSlider();
this.slMinAngle = new MeshExplorer.Controls.DarkSlider();
+ this.cbConformDel = new MeshExplorer.Controls.DarkCheckBox();
this.cbConvex = new MeshExplorer.Controls.DarkCheckBox();
this.cbQuality = new MeshExplorer.Controls.DarkCheckBox();
this.tabPage2 = new System.Windows.Forms.TabPage();
@@ -85,31 +101,17 @@
this.label18 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.lbShortcuts = new System.Windows.Forms.Label();
- this.menuStrip1 = new System.Windows.Forms.MenuStrip();
- this.fileMenu = new System.Windows.Forms.ToolStripMenuItem();
- this.fileMenuOpen = new System.Windows.Forms.ToolStripMenuItem();
- this.fileMenuSave = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
- this.menuFileExport = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
- this.fileMenuQuit = new System.Windows.Forms.ToolStripMenuItem();
- this.viewMenu = new System.Windows.Forms.ToolStripMenuItem();
- this.viewMenuVoronoi = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
- this.viewMenuLog = new System.Windows.Forms.ToolStripMenuItem();
- this.toolsMenu = new System.Windows.Forms.ToolStripMenuItem();
- this.toolsMenuGen = new System.Windows.Forms.ToolStripMenuItem();
- this.toolsMenuCheck = new System.Windows.Forms.ToolStripMenuItem();
+ this.btnMesh = new MeshExplorer.Controls.DarkButton();
this.renderControl1 = new MeshExplorer.Controls.RendererControl();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
+ this.menuStrip1.SuspendLayout();
this.flatTabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
this.tabPage3.SuspendLayout();
- this.menuStrip1.SuspendLayout();
this.SuspendLayout();
//
// splitContainer1
@@ -124,8 +126,10 @@
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(76)))), ((int)(((byte)(76)))));
+ this.splitContainer1.Panel1.Controls.Add(this.btnSmooth);
this.splitContainer1.Panel1.Controls.Add(this.flatTabControl1);
this.splitContainer1.Panel1.Controls.Add(this.menuStrip1);
+ this.splitContainer1.Panel1.Controls.Add(this.btnMesh);
//
// splitContainer1.Panel2
//
@@ -136,77 +140,193 @@
this.splitContainer1.SplitterWidth = 1;
this.splitContainer1.TabIndex = 0;
//
+ // menuStrip1
+ //
+ this.menuStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
+ this.menuStrip1.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.menuStrip1.GripMargin = new System.Windows.Forms.Padding(0);
+ this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.menuFile,
+ this.menuView,
+ this.menuTools});
+ this.menuStrip1.Location = new System.Drawing.Point(0, 0);
+ this.menuStrip1.Name = "menuStrip1";
+ this.menuStrip1.Padding = new System.Windows.Forms.Padding(0);
+ this.menuStrip1.Size = new System.Drawing.Size(280, 24);
+ this.menuStrip1.TabIndex = 0;
+ this.menuStrip1.Text = "menuStrip1";
+ //
+ // menuFile
+ //
+ this.menuFile.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
+ this.menuFile.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ this.menuFile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.menuFileOpen,
+ this.menuFileSave,
+ this.toolStripSeparator3,
+ this.menuFileExport,
+ this.toolStripSeparator2,
+ this.menuFileQuit});
+ this.menuFile.Name = "menuFile";
+ this.menuFile.Size = new System.Drawing.Size(37, 24);
+ this.menuFile.Text = "File";
+ //
+ // menuFileOpen
+ //
+ this.menuFileOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ this.menuFileOpen.Name = "menuFileOpen";
+ this.menuFileOpen.Size = new System.Drawing.Size(141, 22);
+ this.menuFileOpen.Text = "Open";
+ this.menuFileOpen.Click += new System.EventHandler(this.menuFileOpen_Click);
+ //
+ // menuFileSave
+ //
+ this.menuFileSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
+ this.menuFileSave.Enabled = false;
+ this.menuFileSave.Name = "menuFileSave";
+ this.menuFileSave.Size = new System.Drawing.Size(141, 22);
+ this.menuFileSave.Text = "Save";
+ this.menuFileSave.Click += new System.EventHandler(this.menuFileSave_Click);
+ //
+ // toolStripSeparator3
+ //
+ this.toolStripSeparator3.Name = "toolStripSeparator3";
+ this.toolStripSeparator3.Size = new System.Drawing.Size(138, 6);
+ //
+ // menuFileExport
+ //
+ this.menuFileExport.Enabled = false;
+ this.menuFileExport.Name = "menuFileExport";
+ this.menuFileExport.Size = new System.Drawing.Size(141, 22);
+ this.menuFileExport.Text = "Export Image";
+ this.menuFileExport.Click += new System.EventHandler(this.menuFileExport_Click);
+ //
+ // toolStripSeparator2
+ //
+ this.toolStripSeparator2.Name = "toolStripSeparator2";
+ this.toolStripSeparator2.Size = new System.Drawing.Size(138, 6);
+ //
+ // menuFileQuit
+ //
+ this.menuFileQuit.Name = "menuFileQuit";
+ this.menuFileQuit.Size = new System.Drawing.Size(141, 22);
+ this.menuFileQuit.Text = "Quit";
+ this.menuFileQuit.Click += new System.EventHandler(this.menuFileQuit_Click);
+ //
+ // menuView
+ //
+ this.menuView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.menuViewVoronoi,
+ this.toolStripSeparator1,
+ this.menuViewLog});
+ this.menuView.Name = "menuView";
+ this.menuView.Size = new System.Drawing.Size(44, 24);
+ this.menuView.Text = "View";
+ //
+ // menuViewVoronoi
+ //
+ this.menuViewVoronoi.Enabled = false;
+ this.menuViewVoronoi.Name = "menuViewVoronoi";
+ this.menuViewVoronoi.Size = new System.Drawing.Size(162, 22);
+ this.menuViewVoronoi.Text = "Voronoi Diagram";
+ this.menuViewVoronoi.Click += new System.EventHandler(this.menuViewVoronoi_Click);
+ //
+ // toolStripSeparator1
+ //
+ this.toolStripSeparator1.Name = "toolStripSeparator1";
+ this.toolStripSeparator1.Size = new System.Drawing.Size(159, 6);
+ //
+ // menuViewLog
+ //
+ this.menuViewLog.Name = "menuViewLog";
+ this.menuViewLog.Size = new System.Drawing.Size(162, 22);
+ this.menuViewLog.Text = "Show Log";
+ this.menuViewLog.Click += new System.EventHandler(this.menuViewLog_Click);
+ //
+ // menuTools
+ //
+ this.menuTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
+ this.menuToolsGen,
+ this.menuToolsCheck});
+ this.menuTools.Name = "menuTools";
+ this.menuTools.Size = new System.Drawing.Size(46, 24);
+ this.menuTools.Text = "Tools";
+ //
+ // menuToolsGen
+ //
+ this.menuToolsGen.Name = "menuToolsGen";
+ this.menuToolsGen.Size = new System.Drawing.Size(157, 22);
+ this.menuToolsGen.Text = "Input Generator";
+ this.menuToolsGen.Click += new System.EventHandler(this.menuToolsGenerator_Click);
+ //
+ // menuToolsCheck
+ //
+ this.menuToolsCheck.Enabled = false;
+ this.menuToolsCheck.Name = "menuToolsCheck";
+ this.menuToolsCheck.Size = new System.Drawing.Size(157, 22);
+ this.menuToolsCheck.Text = "Check Mesh";
+ this.menuToolsCheck.Click += new System.EventHandler(this.menuToolsCheck_Click);
+ //
+ // btnSmooth
+ //
+ this.btnSmooth.Enabled = false;
+ this.btnSmooth.Location = new System.Drawing.Point(146, 44);
+ this.btnSmooth.Name = "btnSmooth";
+ this.btnSmooth.Size = new System.Drawing.Size(130, 23);
+ this.btnSmooth.TabIndex = 12;
+ this.btnSmooth.Text = "Smooth";
+ this.btnSmooth.UseVisualStyleBackColor = true;
+ this.btnSmooth.Click += new System.EventHandler(this.btnSmooth_Click);
+ //
// flatTabControl1
//
this.flatTabControl1.Alignment = System.Windows.Forms.TabAlignment.Bottom;
this.flatTabControl1.Controls.Add(this.tabPage1);
this.flatTabControl1.Controls.Add(this.tabPage2);
this.flatTabControl1.Controls.Add(this.tabPage3);
- this.flatTabControl1.Location = new System.Drawing.Point(0, 27);
+ this.flatTabControl1.Location = new System.Drawing.Point(0, 73);
this.flatTabControl1.Name = "flatTabControl1";
this.flatTabControl1.SelectedIndex = 0;
- this.flatTabControl1.Size = new System.Drawing.Size(280, 584);
+ this.flatTabControl1.Size = new System.Drawing.Size(280, 538);
this.flatTabControl1.TabIndex = 1;
//
// tabPage1
//
this.tabPage1.BackColor = System.Drawing.Color.DimGray;
- this.tabPage1.Controls.Add(this.btnSmooth);
this.tabPage1.Controls.Add(this.lbMaxArea);
- this.tabPage1.Controls.Add(this.btnMesh);
this.tabPage1.Controls.Add(this.label6);
this.tabPage1.Controls.Add(this.lbMinAngle);
+ this.tabPage1.Controls.Add(this.label23);
this.tabPage1.Controls.Add(this.label9);
this.tabPage1.Controls.Add(this.label8);
this.tabPage1.Controls.Add(this.label5);
this.tabPage1.Controls.Add(this.slMaxArea);
this.tabPage1.Controls.Add(this.slMinAngle);
+ this.tabPage1.Controls.Add(this.cbConformDel);
this.tabPage1.Controls.Add(this.cbConvex);
this.tabPage1.Controls.Add(this.cbQuality);
this.tabPage1.ForeColor = System.Drawing.Color.DarkGray;
this.tabPage1.Location = new System.Drawing.Point(4, 4);
this.tabPage1.Name = "tabPage1";
- this.tabPage1.Size = new System.Drawing.Size(272, 555);
+ this.tabPage1.Size = new System.Drawing.Size(272, 509);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Mesh Control";
//
- // btnSmooth
- //
- this.btnSmooth.Enabled = false;
- this.btnSmooth.Location = new System.Drawing.Point(144, 16);
- this.btnSmooth.Name = "btnSmooth";
- this.btnSmooth.Size = new System.Drawing.Size(115, 23);
- this.btnSmooth.TabIndex = 12;
- this.btnSmooth.Text = "Smooth";
- this.btnSmooth.UseVisualStyleBackColor = true;
- this.btnSmooth.Click += new System.EventHandler(this.btnSmooth_Click);
- //
// lbMaxArea
//
this.lbMaxArea.AutoSize = true;
this.lbMaxArea.ForeColor = System.Drawing.Color.White;
- this.lbMaxArea.Location = new System.Drawing.Point(227, 191);
+ this.lbMaxArea.Location = new System.Drawing.Point(227, 66);
this.lbMaxArea.Name = "lbMaxArea";
this.lbMaxArea.Size = new System.Drawing.Size(13, 13);
this.lbMaxArea.TabIndex = 14;
this.lbMaxArea.Text = "0";
//
- // btnMesh
- //
- this.btnMesh.Enabled = false;
- this.btnMesh.Location = new System.Drawing.Point(11, 16);
- this.btnMesh.Name = "btnMesh";
- this.btnMesh.Size = new System.Drawing.Size(115, 23);
- this.btnMesh.TabIndex = 12;
- this.btnMesh.Text = "Triangulate";
- this.btnMesh.UseVisualStyleBackColor = true;
- this.btnMesh.Click += new System.EventHandler(this.btnMesh_Click);
- //
// label6
//
this.label6.AutoSize = true;
this.label6.ForeColor = System.Drawing.Color.White;
- this.label6.Location = new System.Drawing.Point(8, 126);
+ this.label6.Location = new System.Drawing.Point(8, 65);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(81, 13);
this.label6.TabIndex = 14;
@@ -216,17 +336,28 @@
//
this.lbMinAngle.AutoSize = true;
this.lbMinAngle.ForeColor = System.Drawing.Color.White;
- this.lbMinAngle.Location = new System.Drawing.Point(227, 169);
+ this.lbMinAngle.Location = new System.Drawing.Point(227, 44);
this.lbMinAngle.Name = "lbMinAngle";
this.lbMinAngle.Size = new System.Drawing.Size(19, 13);
this.lbMinAngle.TabIndex = 14;
this.lbMinAngle.Text = "20";
+ //
+ // label23
+ //
+ this.label23.BackColor = System.Drawing.Color.DimGray;
+ this.label23.ForeColor = System.Drawing.Color.DarkGray;
+ this.label23.Location = new System.Drawing.Point(8, 152);
+ this.label23.Name = "label23";
+ this.label23.Size = new System.Drawing.Size(251, 33);
+ this.label23.TabIndex = 14;
+ this.label23.Text = "Ensure that all triangles in the mesh are truly Delaunay, and not just constraine" +
+ "d Delaunay.";
//
// label9
//
this.label9.BackColor = System.Drawing.Color.DimGray;
this.label9.ForeColor = System.Drawing.Color.DarkGray;
- this.label9.Location = new System.Drawing.Point(8, 231);
+ this.label9.Location = new System.Drawing.Point(8, 216);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(258, 33);
this.label9.TabIndex = 14;
@@ -236,7 +367,7 @@
//
this.label8.BackColor = System.Drawing.Color.DimGray;
this.label8.ForeColor = System.Drawing.Color.DarkGray;
- this.label8.Location = new System.Drawing.Point(8, 150);
+ this.label8.Location = new System.Drawing.Point(8, 89);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(258, 33);
this.label8.TabIndex = 14;
@@ -247,7 +378,7 @@
//
this.label5.AutoSize = true;
this.label5.ForeColor = System.Drawing.Color.White;
- this.label5.Location = new System.Drawing.Point(8, 104);
+ this.label5.Location = new System.Drawing.Point(8, 43);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(87, 13);
this.label5.TabIndex = 14;
@@ -257,7 +388,7 @@
//
this.slMaxArea.BackColor = System.Drawing.Color.Transparent;
this.slMaxArea.CriticalPercent = ((uint)(0u));
- this.slMaxArea.Location = new System.Drawing.Point(102, 123);
+ this.slMaxArea.Location = new System.Drawing.Point(102, 62);
this.slMaxArea.Maximum = 100;
this.slMaxArea.Minimum = 0;
this.slMaxArea.Name = "slMaxArea";
@@ -271,7 +402,7 @@
//
this.slMinAngle.BackColor = System.Drawing.Color.Transparent;
this.slMinAngle.CriticalPercent = ((uint)(89u));
- this.slMinAngle.Location = new System.Drawing.Point(102, 101);
+ this.slMinAngle.Location = new System.Drawing.Point(102, 40);
this.slMinAngle.Maximum = 100;
this.slMinAngle.Minimum = 0;
this.slMinAngle.Name = "slMinAngle";
@@ -281,11 +412,22 @@
this.slMinAngle.Value = 50;
this.slMinAngle.ValueChanging += new System.EventHandler(this.slMinAngle_ValueChanging);
//
+ // cbConformDel
+ //
+ this.cbConformDel.BackColor = System.Drawing.Color.DimGray;
+ this.cbConformDel.Checked = false;
+ this.cbConformDel.Location = new System.Drawing.Point(11, 132);
+ this.cbConformDel.Name = "cbConformDel";
+ this.cbConformDel.Size = new System.Drawing.Size(142, 17);
+ this.cbConformDel.TabIndex = 0;
+ this.cbConformDel.Text = "Conforming Delaunay";
+ this.cbConformDel.UseVisualStyleBackColor = false;
+ //
// cbConvex
//
this.cbConvex.BackColor = System.Drawing.Color.DimGray;
this.cbConvex.Checked = false;
- this.cbConvex.Location = new System.Drawing.Point(11, 211);
+ this.cbConvex.Location = new System.Drawing.Point(11, 196);
this.cbConvex.Name = "cbConvex";
this.cbConvex.Size = new System.Drawing.Size(115, 17);
this.cbConvex.TabIndex = 0;
@@ -296,7 +438,7 @@
//
this.cbQuality.BackColor = System.Drawing.Color.DimGray;
this.cbQuality.Checked = false;
- this.cbQuality.Location = new System.Drawing.Point(11, 78);
+ this.cbQuality.Location = new System.Drawing.Point(11, 17);
this.cbQuality.Name = "cbQuality";
this.cbQuality.Size = new System.Drawing.Size(115, 17);
this.cbQuality.TabIndex = 0;
@@ -343,7 +485,7 @@
this.tabPage2.Location = new System.Drawing.Point(4, 4);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage2.Size = new System.Drawing.Size(272, 555);
+ this.tabPage2.Size = new System.Drawing.Size(272, 509);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Statistic";
//
@@ -352,7 +494,7 @@
this.label20.AutoSize = true;
this.label20.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label20.ForeColor = System.Drawing.Color.White;
- this.label20.Location = new System.Drawing.Point(8, 13);
+ this.label20.Location = new System.Drawing.Point(8, 17);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(39, 13);
this.label20.TabIndex = 26;
@@ -362,7 +504,7 @@
//
this.label4.AutoSize = true;
this.label4.ForeColor = System.Drawing.Color.DarkGray;
- this.label4.Location = new System.Drawing.Point(8, 53);
+ this.label4.Location = new System.Drawing.Point(8, 57);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(60, 13);
this.label4.TabIndex = 23;
@@ -372,7 +514,7 @@
//
this.label3.AutoSize = true;
this.label3.ForeColor = System.Drawing.Color.DarkGray;
- this.label3.Location = new System.Drawing.Point(8, 72);
+ this.label3.Location = new System.Drawing.Point(8, 76);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(56, 13);
this.label3.TabIndex = 24;
@@ -382,7 +524,7 @@
//
this.label2.AutoSize = true;
this.label2.ForeColor = System.Drawing.Color.DarkGray;
- this.label2.Location = new System.Drawing.Point(8, 34);
+ this.label2.Location = new System.Drawing.Point(8, 38);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(50, 13);
this.label2.TabIndex = 25;
@@ -391,7 +533,7 @@
// lbNumSeg
//
this.lbNumSeg.ForeColor = System.Drawing.Color.White;
- this.lbNumSeg.Location = new System.Drawing.Point(98, 53);
+ this.lbNumSeg.Location = new System.Drawing.Point(98, 57);
this.lbNumSeg.Name = "lbNumSeg";
this.lbNumSeg.Size = new System.Drawing.Size(70, 13);
this.lbNumSeg.TabIndex = 20;
@@ -401,7 +543,7 @@
// lbNumSeg2
//
this.lbNumSeg2.ForeColor = System.Drawing.Color.DarkGray;
- this.lbNumSeg2.Location = new System.Drawing.Point(188, 53);
+ this.lbNumSeg2.Location = new System.Drawing.Point(188, 57);
this.lbNumSeg2.Name = "lbNumSeg2";
this.lbNumSeg2.Size = new System.Drawing.Size(70, 13);
this.lbNumSeg2.TabIndex = 19;
@@ -411,7 +553,7 @@
// lbNumTri
//
this.lbNumTri.ForeColor = System.Drawing.Color.White;
- this.lbNumTri.Location = new System.Drawing.Point(98, 72);
+ this.lbNumTri.Location = new System.Drawing.Point(98, 76);
this.lbNumTri.Name = "lbNumTri";
this.lbNumTri.Size = new System.Drawing.Size(70, 13);
this.lbNumTri.TabIndex = 17;
@@ -421,7 +563,7 @@
// lbNumTri2
//
this.lbNumTri2.ForeColor = System.Drawing.Color.DarkGray;
- this.lbNumTri2.Location = new System.Drawing.Point(188, 72);
+ this.lbNumTri2.Location = new System.Drawing.Point(188, 76);
this.lbNumTri2.Name = "lbNumTri2";
this.lbNumTri2.Size = new System.Drawing.Size(70, 13);
this.lbNumTri2.TabIndex = 18;
@@ -431,7 +573,7 @@
// lbNumVert
//
this.lbNumVert.ForeColor = System.Drawing.Color.White;
- this.lbNumVert.Location = new System.Drawing.Point(98, 34);
+ this.lbNumVert.Location = new System.Drawing.Point(98, 38);
this.lbNumVert.Name = "lbNumVert";
this.lbNumVert.Size = new System.Drawing.Size(70, 13);
this.lbNumVert.TabIndex = 21;
@@ -441,7 +583,7 @@
// lbNumVert2
//
this.lbNumVert2.ForeColor = System.Drawing.Color.DarkGray;
- this.lbNumVert2.Location = new System.Drawing.Point(188, 34);
+ this.lbNumVert2.Location = new System.Drawing.Point(188, 38);
this.lbNumVert2.Name = "lbNumVert2";
this.lbNumVert2.Size = new System.Drawing.Size(70, 13);
this.lbNumVert2.TabIndex = 22;
@@ -452,7 +594,7 @@
//
this.label32.AutoSize = true;
this.label32.ForeColor = System.Drawing.Color.DarkGray;
- this.label32.Location = new System.Drawing.Point(210, 209);
+ this.label32.Location = new System.Drawing.Point(210, 213);
this.label32.Name = "label32";
this.label32.Size = new System.Drawing.Size(48, 13);
this.label32.TabIndex = 11;
@@ -462,7 +604,7 @@
//
this.label13.AutoSize = true;
this.label13.ForeColor = System.Drawing.Color.DarkGray;
- this.label13.Location = new System.Drawing.Point(202, 110);
+ this.label13.Location = new System.Drawing.Point(202, 114);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(56, 13);
this.label13.TabIndex = 11;
@@ -472,7 +614,7 @@
//
this.label31.AutoSize = true;
this.label31.ForeColor = System.Drawing.Color.DarkGray;
- this.label31.Location = new System.Drawing.Point(112, 209);
+ this.label31.Location = new System.Drawing.Point(112, 213);
this.label31.Name = "label31";
this.label31.Size = new System.Drawing.Size(55, 13);
this.label31.TabIndex = 12;
@@ -482,7 +624,7 @@
//
this.label12.AutoSize = true;
this.label12.ForeColor = System.Drawing.Color.DarkGray;
- this.label12.Location = new System.Drawing.Point(113, 110);
+ this.label12.Location = new System.Drawing.Point(113, 114);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(55, 13);
this.label12.TabIndex = 12;
@@ -492,7 +634,7 @@
//
this.label16.AutoSize = true;
this.label16.ForeColor = System.Drawing.Color.DarkGray;
- this.label16.Location = new System.Drawing.Point(8, 169);
+ this.label16.Location = new System.Drawing.Point(8, 173);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(40, 13);
this.label16.TabIndex = 9;
@@ -502,7 +644,7 @@
//
this.label29.AutoSize = true;
this.label29.ForeColor = System.Drawing.Color.DarkGray;
- this.label29.Location = new System.Drawing.Point(8, 249);
+ this.label29.Location = new System.Drawing.Point(8, 253);
this.label29.Name = "label29";
this.label29.Size = new System.Drawing.Size(71, 13);
this.label29.TabIndex = 15;
@@ -512,7 +654,7 @@
//
this.label14.AutoSize = true;
this.label14.ForeColor = System.Drawing.Color.DarkGray;
- this.label14.Location = new System.Drawing.Point(8, 150);
+ this.label14.Location = new System.Drawing.Point(8, 154);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(73, 13);
this.label14.TabIndex = 15;
@@ -521,7 +663,7 @@
// lbAngleMax
//
this.lbAngleMax.ForeColor = System.Drawing.Color.White;
- this.lbAngleMax.Location = new System.Drawing.Point(182, 169);
+ this.lbAngleMax.Location = new System.Drawing.Point(182, 173);
this.lbAngleMax.Name = "lbAngleMax";
this.lbAngleMax.Size = new System.Drawing.Size(76, 13);
this.lbAngleMax.TabIndex = 16;
@@ -531,7 +673,7 @@
// lbQualAspectAve
//
this.lbQualAspectAve.ForeColor = System.Drawing.Color.White;
- this.lbQualAspectAve.Location = new System.Drawing.Point(182, 249);
+ this.lbQualAspectAve.Location = new System.Drawing.Point(182, 253);
this.lbQualAspectAve.Name = "lbQualAspectAve";
this.lbQualAspectAve.Size = new System.Drawing.Size(76, 13);
this.lbQualAspectAve.TabIndex = 14;
@@ -541,7 +683,7 @@
// lbEdgeMax
//
this.lbEdgeMax.ForeColor = System.Drawing.Color.White;
- this.lbEdgeMax.Location = new System.Drawing.Point(182, 150);
+ this.lbEdgeMax.Location = new System.Drawing.Point(182, 154);
this.lbEdgeMax.Name = "lbEdgeMax";
this.lbEdgeMax.Size = new System.Drawing.Size(76, 13);
this.lbEdgeMax.TabIndex = 14;
@@ -551,7 +693,7 @@
// lbQualAlphaAve
//
this.lbQualAlphaAve.ForeColor = System.Drawing.Color.White;
- this.lbQualAlphaAve.Location = new System.Drawing.Point(182, 230);
+ this.lbQualAlphaAve.Location = new System.Drawing.Point(182, 234);
this.lbQualAlphaAve.Name = "lbQualAlphaAve";
this.lbQualAlphaAve.Size = new System.Drawing.Size(76, 13);
this.lbQualAlphaAve.TabIndex = 3;
@@ -561,7 +703,7 @@
// lbAreaMax
//
this.lbAreaMax.ForeColor = System.Drawing.Color.White;
- this.lbAreaMax.Location = new System.Drawing.Point(182, 131);
+ this.lbAreaMax.Location = new System.Drawing.Point(182, 135);
this.lbAreaMax.Name = "lbAreaMax";
this.lbAreaMax.Size = new System.Drawing.Size(76, 13);
this.lbAreaMax.TabIndex = 3;
@@ -571,7 +713,7 @@
// lbAngleMin
//
this.lbAngleMin.ForeColor = System.Drawing.Color.White;
- this.lbAngleMin.Location = new System.Drawing.Point(100, 169);
+ this.lbAngleMin.Location = new System.Drawing.Point(100, 173);
this.lbAngleMin.Name = "lbAngleMin";
this.lbAngleMin.Size = new System.Drawing.Size(68, 13);
this.lbAngleMin.TabIndex = 4;
@@ -581,7 +723,7 @@
// lbQualAspectMin
//
this.lbQualAspectMin.ForeColor = System.Drawing.Color.White;
- this.lbQualAspectMin.Location = new System.Drawing.Point(100, 249);
+ this.lbQualAspectMin.Location = new System.Drawing.Point(100, 253);
this.lbQualAspectMin.Name = "lbQualAspectMin";
this.lbQualAspectMin.Size = new System.Drawing.Size(68, 13);
this.lbQualAspectMin.TabIndex = 2;
@@ -591,7 +733,7 @@
// lbEdgeMin
//
this.lbEdgeMin.ForeColor = System.Drawing.Color.White;
- this.lbEdgeMin.Location = new System.Drawing.Point(100, 150);
+ this.lbEdgeMin.Location = new System.Drawing.Point(100, 154);
this.lbEdgeMin.Name = "lbEdgeMin";
this.lbEdgeMin.Size = new System.Drawing.Size(68, 13);
this.lbEdgeMin.TabIndex = 2;
@@ -601,7 +743,7 @@
// lbQualAlphaMin
//
this.lbQualAlphaMin.ForeColor = System.Drawing.Color.White;
- this.lbQualAlphaMin.Location = new System.Drawing.Point(100, 230);
+ this.lbQualAlphaMin.Location = new System.Drawing.Point(100, 234);
this.lbQualAlphaMin.Name = "lbQualAlphaMin";
this.lbQualAlphaMin.Size = new System.Drawing.Size(68, 13);
this.lbQualAlphaMin.TabIndex = 7;
@@ -611,7 +753,7 @@
// lbAreaMin
//
this.lbAreaMin.ForeColor = System.Drawing.Color.White;
- this.lbAreaMin.Location = new System.Drawing.Point(100, 131);
+ this.lbAreaMin.Location = new System.Drawing.Point(100, 135);
this.lbAreaMin.Name = "lbAreaMin";
this.lbAreaMin.Size = new System.Drawing.Size(68, 13);
this.lbAreaMin.TabIndex = 7;
@@ -622,7 +764,7 @@
//
this.label22.AutoSize = true;
this.label22.ForeColor = System.Drawing.Color.DarkGray;
- this.label22.Location = new System.Drawing.Point(8, 230);
+ this.label22.Location = new System.Drawing.Point(8, 234);
this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(65, 13);
this.label22.TabIndex = 8;
@@ -632,7 +774,7 @@
//
this.label10.AutoSize = true;
this.label10.ForeColor = System.Drawing.Color.DarkGray;
- this.label10.Location = new System.Drawing.Point(8, 131);
+ this.label10.Location = new System.Drawing.Point(8, 135);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(76, 13);
this.label10.TabIndex = 8;
@@ -643,7 +785,7 @@
this.label17.AutoSize = true;
this.label17.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label17.ForeColor = System.Drawing.Color.White;
- this.label17.Location = new System.Drawing.Point(8, 336);
+ this.label17.Location = new System.Drawing.Point(8, 290);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(97, 13);
this.label17.TabIndex = 5;
@@ -654,7 +796,7 @@
this.label21.AutoSize = true;
this.label21.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label21.ForeColor = System.Drawing.Color.White;
- this.label21.Location = new System.Drawing.Point(8, 209);
+ this.label21.Location = new System.Drawing.Point(8, 213);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(47, 13);
this.label21.TabIndex = 6;
@@ -665,7 +807,7 @@
this.label11.AutoSize = true;
this.label11.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label11.ForeColor = System.Drawing.Color.White;
- this.label11.Location = new System.Drawing.Point(8, 110);
+ this.label11.Location = new System.Drawing.Point(8, 114);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(50, 13);
this.label11.TabIndex = 6;
@@ -675,7 +817,7 @@
//
this.angleHistogram1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(76)))), ((int)(((byte)(76)))), ((int)(((byte)(76)))));
this.angleHistogram1.Font = new System.Drawing.Font("Segoe UI", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.angleHistogram1.Location = new System.Drawing.Point(6, 354);
+ this.angleHistogram1.Location = new System.Drawing.Point(6, 308);
this.angleHistogram1.Name = "angleHistogram1";
this.angleHistogram1.Size = new System.Drawing.Size(260, 195);
this.angleHistogram1.TabIndex = 0;
@@ -694,7 +836,7 @@
this.tabPage3.Location = new System.Drawing.Point(4, 4);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage3.Size = new System.Drawing.Size(272, 555);
+ this.tabPage3.Size = new System.Drawing.Size(272, 509);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "About";
//
@@ -703,7 +845,7 @@
this.lbCodeplex.AutoSize = true;
this.lbCodeplex.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbCodeplex.ForeColor = System.Drawing.Color.White;
- this.lbCodeplex.Location = new System.Drawing.Point(70, 80);
+ this.lbCodeplex.Location = new System.Drawing.Point(70, 82);
this.lbCodeplex.Name = "lbCodeplex";
this.lbCodeplex.Size = new System.Drawing.Size(153, 13);
this.lbCodeplex.TabIndex = 2;
@@ -715,7 +857,7 @@
this.label15.AutoSize = true;
this.label15.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label15.ForeColor = System.Drawing.Color.White;
- this.label15.Location = new System.Drawing.Point(8, 15);
+ this.label15.Location = new System.Drawing.Point(8, 17);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(73, 13);
this.label15.TabIndex = 1;
@@ -726,7 +868,7 @@
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
- this.label1.Location = new System.Drawing.Point(8, 130);
+ this.label1.Location = new System.Drawing.Point(8, 132);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(108, 13);
this.label1.TabIndex = 1;
@@ -736,7 +878,7 @@
//
this.label19.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label19.ForeColor = System.Drawing.Color.White;
- this.label19.Location = new System.Drawing.Point(70, 40);
+ this.label19.Location = new System.Drawing.Point(70, 42);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(134, 40);
this.label19.TabIndex = 0;
@@ -745,7 +887,7 @@
// label18
//
this.label18.ForeColor = System.Drawing.Color.White;
- this.label18.Location = new System.Drawing.Point(13, 40);
+ this.label18.Location = new System.Drawing.Point(13, 42);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(51, 40);
this.label18.TabIndex = 0;
@@ -756,7 +898,7 @@
//
this.label7.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.ForeColor = System.Drawing.Color.White;
- this.label7.Location = new System.Drawing.Point(70, 153);
+ this.label7.Location = new System.Drawing.Point(70, 155);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(134, 108);
this.label7.TabIndex = 0;
@@ -765,136 +907,23 @@
// lbShortcuts
//
this.lbShortcuts.ForeColor = System.Drawing.Color.White;
- this.lbShortcuts.Location = new System.Drawing.Point(22, 153);
+ this.lbShortcuts.Location = new System.Drawing.Point(22, 155);
this.lbShortcuts.Name = "lbShortcuts";
this.lbShortcuts.Size = new System.Drawing.Size(36, 108);
this.lbShortcuts.TabIndex = 0;
this.lbShortcuts.Text = "F3\r\nF4\r\nF5\r\n\r\nF8\r\nF9\r\n\r\nF12";
this.lbShortcuts.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
- // menuStrip1
+ // btnMesh
//
- this.menuStrip1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
- this.menuStrip1.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.menuStrip1.GripMargin = new System.Windows.Forms.Padding(0);
- this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.fileMenu,
- this.viewMenu,
- this.toolsMenu});
- this.menuStrip1.Location = new System.Drawing.Point(0, 0);
- this.menuStrip1.Name = "menuStrip1";
- this.menuStrip1.Padding = new System.Windows.Forms.Padding(0);
- this.menuStrip1.Size = new System.Drawing.Size(280, 24);
- this.menuStrip1.TabIndex = 0;
- this.menuStrip1.Text = "menuStrip1";
- //
- // fileMenu
- //
- this.fileMenu.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
- this.fileMenu.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
- this.fileMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.fileMenuOpen,
- this.fileMenuSave,
- this.toolStripSeparator3,
- this.menuFileExport,
- this.toolStripSeparator2,
- this.fileMenuQuit});
- this.fileMenu.Name = "fileMenu";
- this.fileMenu.Size = new System.Drawing.Size(37, 24);
- this.fileMenu.Text = "File";
- //
- // fileMenuOpen
- //
- this.fileMenuOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
- this.fileMenuOpen.Name = "fileMenuOpen";
- this.fileMenuOpen.Size = new System.Drawing.Size(141, 22);
- this.fileMenuOpen.Text = "Open";
- this.fileMenuOpen.Click += new System.EventHandler(this.fileMenuOpen_Click);
- //
- // fileMenuSave
- //
- this.fileMenuSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
- this.fileMenuSave.Name = "fileMenuSave";
- this.fileMenuSave.Size = new System.Drawing.Size(141, 22);
- this.fileMenuSave.Text = "Save";
- this.fileMenuSave.Click += new System.EventHandler(this.fileMenuSave_Click);
- //
- // toolStripSeparator3
- //
- this.toolStripSeparator3.Name = "toolStripSeparator3";
- this.toolStripSeparator3.Size = new System.Drawing.Size(138, 6);
- //
- // menuFileExport
- //
- this.menuFileExport.Name = "menuFileExport";
- this.menuFileExport.Size = new System.Drawing.Size(141, 22);
- this.menuFileExport.Text = "Export Image";
- this.menuFileExport.Click += new System.EventHandler(this.menuFileExport_Click);
- //
- // toolStripSeparator2
- //
- this.toolStripSeparator2.Name = "toolStripSeparator2";
- this.toolStripSeparator2.Size = new System.Drawing.Size(138, 6);
- //
- // fileMenuQuit
- //
- this.fileMenuQuit.Name = "fileMenuQuit";
- this.fileMenuQuit.Size = new System.Drawing.Size(141, 22);
- this.fileMenuQuit.Text = "Quit";
- this.fileMenuQuit.Click += new System.EventHandler(this.fileMenuQuit_Click);
- //
- // viewMenu
- //
- this.viewMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.viewMenuVoronoi,
- this.toolStripSeparator1,
- this.viewMenuLog});
- this.viewMenu.Name = "viewMenu";
- this.viewMenu.Size = new System.Drawing.Size(44, 24);
- this.viewMenu.Text = "View";
- //
- // viewMenuVoronoi
- //
- this.viewMenuVoronoi.Enabled = false;
- this.viewMenuVoronoi.Name = "viewMenuVoronoi";
- this.viewMenuVoronoi.Size = new System.Drawing.Size(162, 22);
- this.viewMenuVoronoi.Text = "Voronoi Diagram";
- this.viewMenuVoronoi.Click += new System.EventHandler(this.viewMenuVoronoi_Click);
- //
- // toolStripSeparator1
- //
- this.toolStripSeparator1.Name = "toolStripSeparator1";
- this.toolStripSeparator1.Size = new System.Drawing.Size(159, 6);
- //
- // viewMenuLog
- //
- this.viewMenuLog.Name = "viewMenuLog";
- this.viewMenuLog.Size = new System.Drawing.Size(162, 22);
- this.viewMenuLog.Text = "Show Log";
- this.viewMenuLog.Click += new System.EventHandler(this.viewMenuLog_Click);
- //
- // toolsMenu
- //
- this.toolsMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.toolsMenuGen,
- this.toolsMenuCheck});
- this.toolsMenu.Name = "toolsMenu";
- this.toolsMenu.Size = new System.Drawing.Size(46, 24);
- this.toolsMenu.Text = "Tools";
- //
- // toolsMenuGen
- //
- this.toolsMenuGen.Name = "toolsMenuGen";
- this.toolsMenuGen.Size = new System.Drawing.Size(157, 22);
- this.toolsMenuGen.Text = "Input Generator";
- this.toolsMenuGen.Click += new System.EventHandler(this.toolsMenuGenerator_Click);
- //
- // toolsMenuCheck
- //
- this.toolsMenuCheck.Name = "toolsMenuCheck";
- this.toolsMenuCheck.Size = new System.Drawing.Size(157, 22);
- this.toolsMenuCheck.Text = "Check Mesh";
- this.toolsMenuCheck.Click += new System.EventHandler(this.toolsMenuCheck_Click);
+ this.btnMesh.Enabled = false;
+ this.btnMesh.Location = new System.Drawing.Point(4, 44);
+ this.btnMesh.Name = "btnMesh";
+ this.btnMesh.Size = new System.Drawing.Size(130, 23);
+ this.btnMesh.TabIndex = 12;
+ this.btnMesh.Text = "Triangulate";
+ this.btnMesh.UseVisualStyleBackColor = true;
+ this.btnMesh.Click += new System.EventHandler(this.btnMesh_Click);
//
// renderControl1
//
@@ -931,6 +960,8 @@
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
+ this.menuStrip1.ResumeLayout(false);
+ this.menuStrip1.PerformLayout();
this.flatTabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
@@ -938,8 +969,6 @@
this.tabPage2.PerformLayout();
this.tabPage3.ResumeLayout(false);
this.tabPage3.PerformLayout();
- this.menuStrip1.ResumeLayout(false);
- this.menuStrip1.PerformLayout();
this.ResumeLayout(false);
}
@@ -949,9 +978,9 @@
private System.Windows.Forms.SplitContainer splitContainer1;
private Controls.RendererControl renderControl1;
private System.Windows.Forms.MenuStrip menuStrip1;
- private System.Windows.Forms.ToolStripMenuItem fileMenu;
- private System.Windows.Forms.ToolStripMenuItem fileMenuOpen;
- private System.Windows.Forms.ToolStripMenuItem fileMenuSave;
+ private System.Windows.Forms.ToolStripMenuItem menuFile;
+ private System.Windows.Forms.ToolStripMenuItem menuFileOpen;
+ private System.Windows.Forms.ToolStripMenuItem menuFileSave;
private Controls.DarkTabControl flatTabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
@@ -985,15 +1014,15 @@
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label11;
- private System.Windows.Forms.ToolStripMenuItem viewMenu;
- private System.Windows.Forms.ToolStripMenuItem viewMenuVoronoi;
+ private System.Windows.Forms.ToolStripMenuItem menuView;
+ private System.Windows.Forms.ToolStripMenuItem menuViewVoronoi;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
- private System.Windows.Forms.ToolStripMenuItem viewMenuLog;
- private System.Windows.Forms.ToolStripMenuItem toolsMenu;
- private System.Windows.Forms.ToolStripMenuItem toolsMenuGen;
- private System.Windows.Forms.ToolStripMenuItem toolsMenuCheck;
+ private System.Windows.Forms.ToolStripMenuItem menuViewLog;
+ private System.Windows.Forms.ToolStripMenuItem menuTools;
+ private System.Windows.Forms.ToolStripMenuItem menuToolsGen;
+ private System.Windows.Forms.ToolStripMenuItem menuToolsCheck;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
- private System.Windows.Forms.ToolStripMenuItem fileMenuQuit;
+ private System.Windows.Forms.ToolStripMenuItem menuFileQuit;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.Label label18;
@@ -1019,6 +1048,8 @@
private System.Windows.Forms.Label lbNumTri2;
private System.Windows.Forms.Label lbNumVert;
private System.Windows.Forms.Label lbNumVert2;
+ private System.Windows.Forms.Label label23;
+ private Controls.DarkCheckBox cbConformDel;
}
}
diff --git a/Triangle.NET/TestApp/FormMain.cs b/Triangle.NET/TestApp/FormMain.cs
index 89557e9..5308f1b 100644
--- a/Triangle.NET/TestApp/FormMain.cs
+++ b/Triangle.NET/TestApp/FormMain.cs
@@ -181,18 +181,21 @@ namespace MeshExplorer
btnMesh.Text = "Triangulate";
btnSmooth.Enabled = false;
+ // Clear voronoi
+ menuViewVoronoi.Checked = false;
+ renderControl1.ShowVoronoi = false;
+
+ // Disable menu items
+ menuFileSave.Enabled = false;
+ menuFileExport.Enabled = false;
+ menuViewVoronoi.Enabled = false;
+ menuToolsCheck.Enabled = false;
+
// Render input
renderControl1.SetData(input);
// Update window caption
this.Text = "Triangle.NET - Mesh Explorer - " + settings.CurrentFile;
-
- // Disable menu items
- viewMenuVoronoi.Enabled = false;
-
- // Clear voronoi
- viewMenuVoronoi.Checked = false;
- renderControl1.ShowVoronoi = false;
}
private void HandleMeshChange()
@@ -221,7 +224,10 @@ namespace MeshExplorer
lbAngleMax.Text = Util.AngleToString(stats.LargestAngle);
// Enable menu items
- viewMenuVoronoi.Enabled = true;
+ menuFileSave.Enabled = true;
+ menuFileExport.Enabled = true;
+ menuViewVoronoi.Enabled = true;
+ menuToolsCheck.Enabled = true;
// Update quality
if (quality == null)
@@ -243,6 +249,9 @@ namespace MeshExplorer
// Render mesh
renderControl1.SetData(mesh, true);
+ // Update window caption
+ this.Text = "Triangle.NET - Mesh Explorer - " + settings.CurrentFile;
+
// Previous mesh stats
lbNumVert2.Text = "-";
lbNumTri2.Text = "-";
@@ -264,7 +273,10 @@ namespace MeshExplorer
lbAngleMax.Text = Util.AngleToString(stats.LargestAngle);
// Enable menu items
- viewMenuVoronoi.Enabled = true;
+ menuFileSave.Enabled = true;
+ menuFileExport.Enabled = true;
+ menuViewVoronoi.Enabled = true;
+ menuToolsCheck.Enabled = true;
// Set refine mode
btnMesh.Enabled = true;
@@ -318,12 +330,13 @@ namespace MeshExplorer
settings.CurrentFile = Path.GetFileName(ofd.FileName);
HandleMeshImport();
+ btnSmooth.Enabled = true; // TODO: Remove
}
// else Message
// Update folder settings
settings.OfdFilterIndex = ofd.FilterIndex;
- settings.OfdDirectory = Path.GetFullPath(ofd.FileName);
+ settings.OfdDirectory = Path.GetDirectoryName(ofd.FileName);
return;
}
@@ -342,7 +355,7 @@ namespace MeshExplorer
// Update folder settings
settings.OfdFilterIndex = ofd.FilterIndex;
- settings.OfdDirectory = Path.GetFullPath(ofd.FileName);
+ settings.OfdDirectory = Path.GetDirectoryName(ofd.FileName);
}
}
@@ -406,6 +419,11 @@ namespace MeshExplorer
mesh = new Mesh();
+ if (cbConformDel.Checked)
+ {
+ mesh.SetOption(Options.ConformingDelaunay, true);
+ }
+
if (cbQuality.Checked)
{
mesh.SetOption(Options.Quality, true);
@@ -540,12 +558,12 @@ namespace MeshExplorer
#region Menu Handler
- private void fileMenuOpen_Click(object sender, EventArgs e)
+ private void menuFileOpen_Click(object sender, EventArgs e)
{
Open();
}
- private void fileMenuSave_Click(object sender, EventArgs ev)
+ private void menuFileSave_Click(object sender, EventArgs ev)
{
if (mesh != null)
{
@@ -553,12 +571,12 @@ namespace MeshExplorer
}
}
- private void viewMenuLog_Click(object sender, EventArgs e)
+ private void menuViewLog_Click(object sender, EventArgs e)
{
ShowLog();
}
- private void toolsMenuGenerator_Click(object sender, EventArgs e)
+ private void menuToolsGenerator_Click(object sender, EventArgs e)
{
if (frmGenerator == null || frmGenerator.IsDisposed)
{
@@ -576,7 +594,7 @@ namespace MeshExplorer
}
}
- private void toolsMenuCheck_Click(object sender, EventArgs e)
+ private void menuToolsCheck_Click(object sender, EventArgs e)
{
if (mesh != null)
{
@@ -591,6 +609,17 @@ namespace MeshExplorer
{
FormExport export = new FormExport();
+ string file = settings.OfdDirectory;
+
+ if (!file.EndsWith("\\"))
+ {
+ file += "\\";
+ }
+
+ file += settings.CurrentFile;
+
+ export.ImageName = Path.ChangeExtension(file, ".png");
+
if (export.ShowDialog() == DialogResult.OK)
{
int format = export.ImageFormat;
@@ -616,17 +645,17 @@ namespace MeshExplorer
}
}
- private void viewMenuVoronoi_Click(object sender, EventArgs e)
+ private void menuViewVoronoi_Click(object sender, EventArgs e)
{
- viewMenuVoronoi.Checked = !viewMenuVoronoi.Checked;
- renderControl1.ShowVoronoi = viewMenuVoronoi.Checked;
- }
-
- private void fileMenuQuit_Click(object sender, EventArgs e)
- {
- this.Close();
+ menuViewVoronoi.Checked = !menuViewVoronoi.Checked;
+ renderControl1.ShowVoronoi = menuViewVoronoi.Checked;
}
#endregion
+
+ private void menuFileQuit_Click(object sender, EventArgs e)
+ {
+ this.Close();
+ }
}
}
diff --git a/Triangle.NET/TestApp/Generators/RandomPoints.cs b/Triangle.NET/TestApp/Generators/RandomPoints.cs
index 7a4a065..6bec853 100644
--- a/Triangle.NET/TestApp/Generators/RandomPoints.cs
+++ b/Triangle.NET/TestApp/Generators/RandomPoints.cs
@@ -29,7 +29,7 @@ namespace MeshExplorer.Generators
public int ParameterCount
{
- get { return 1; }
+ get { return 3; }
}
public string ParameterDescription(int paramIndex)
@@ -39,7 +39,12 @@ namespace MeshExplorer.Generators
return "Number of points:";
}
- return "";
+ if (paramIndex == 2)
+ {
+ return "Width:";
+ }
+
+ return "Height:";
}
public string ParameterDescription(int paramIndex, double paramValue)
@@ -57,6 +62,13 @@ namespace MeshExplorer.Generators
return numPoints.ToString();
}
+ if (paramIndex == 2 || paramIndex == 3)
+ {
+ int numPoints = (int)paramValue + 100;
+
+ return numPoints.ToString();
+ }
+
return "";
}
@@ -72,8 +84,8 @@ namespace MeshExplorer.Generators
InputGeometry input = new InputGeometry(numPoints);
- int width = Util.Random.Next(100, 200);
- int height = Util.Random.Next(100, 200);
+ int width = (int)param2 + 100;
+ int height = (int)param3 + 100;
for (int i = 0; i < numPoints; i++)
{
diff --git a/Triangle.NET/TestApp/IO/EpsImage.cs b/Triangle.NET/TestApp/IO/EpsImage.cs
index 5544742..48ba990 100644
--- a/Triangle.NET/TestApp/IO/EpsImage.cs
+++ b/Triangle.NET/TestApp/IO/EpsImage.cs
@@ -1,7 +1,6 @@
// -----------------------------------------------------------------------
//
-// John Burkardt, Florida State University
-// http://people.sc.fsu.edu/~jburkardt/m_src/fem2d_poisson/
+// Original Matlab code by John Burkardt, Florida State University
//
// -----------------------------------------------------------------------
diff --git a/Triangle.NET/TestApp/Rendering/RenderData.cs b/Triangle.NET/TestApp/Rendering/RenderData.cs
index 8afb39e..04a9de5 100644
--- a/Triangle.NET/TestApp/Rendering/RenderData.cs
+++ b/Triangle.NET/TestApp/Rendering/RenderData.cs
@@ -67,6 +67,8 @@ namespace MeshExplorer.Rendering
this.Triangles = mesh.Triangles;
+ this.Segments = null;
+
int n = mesh.NumberOfVertices;
// Convert points to float
@@ -75,16 +77,19 @@ namespace MeshExplorer.Rendering
SetPoints(mesh.Vertices);
// Get segments
- var segs = mesh.Segments;
-
- List segList = new List(mesh.NumberOfSegments);
-
- foreach (var seg in segs)
+ if (mesh.IsPolygon)
{
- segList.Add(new Edge(seg.P0, seg.P1));
- }
+ var segs = mesh.Segments;
- this.Segments = segList.ToArray();
+ List segList = new List(mesh.NumberOfSegments);
+
+ foreach (var seg in segs)
+ {
+ segList.Add(new Edge(seg.P0, seg.P1));
+ }
+
+ this.Segments = segList.ToArray();
+ }
// Get edges (more efficient than rendering triangles)
EdgeEnumerator e = new EdgeEnumerator(mesh);
diff --git a/Triangle.NET/Triangle/Enums.cs b/Triangle.NET/Triangle/Enums.cs
index da37e44..0c6d0d1 100644
--- a/Triangle.NET/Triangle/Enums.cs
+++ b/Triangle.NET/Triangle/Enums.cs
@@ -91,4 +91,9 @@ namespace TriangleNet
/// The type of the mesh vertex.
///
public enum VertexType { InputVertex, SegmentVertex, FreeVertex, DeadVertex, UndeadVertex };
+
+ ///
+ /// Node renumbering algorithms.
+ ///
+ public enum NodeNumbering { Linear, CuthillMcKee };
}
diff --git a/Triangle.NET/Triangle/Mesh.cs b/Triangle.NET/Triangle/Mesh.cs
index da9d25f..ead94d0 100644
--- a/Triangle.NET/Triangle/Mesh.cs
+++ b/Triangle.NET/Triangle/Mesh.cs
@@ -470,12 +470,37 @@ namespace TriangleNet
///
public void Renumber()
{
- int id = 0;
- foreach (var item in this.vertices.Values)
+ this.Renumber(NodeNumbering.Linear);
+ }
+
+ ///
+ /// Renumber vertex and triangle id's.
+ ///
+ public void Renumber(NodeNumbering num)
+ {
+ int id;
+
+ if (num == NodeNumbering.Linear)
{
- item.id = id++;
+ id = 0;
+ foreach (var item in this.vertices.Values)
+ {
+ item.id = id++;
+ }
+ }
+ else
+ {
+ //CuthillMcKee rcm = new CuthillMcKee();
+ //int[] perm_inv = rcm.Renumber(this);
+
+ //// Permute the node indices.
+ //foreach (var node in this.vertices.Values)
+ //{
+ // node.id = perm_inv[node.id];
+ //}
}
+ // Triangles will always be numbered from 0..n
id = 0;
foreach (var item in this.triangles.Values)
{
diff --git a/Triangle.NET/Triangle/Quality.cs b/Triangle.NET/Triangle/Quality.cs
index 1ae3be1..4c5af0f 100644
--- a/Triangle.NET/Triangle/Quality.cs
+++ b/Triangle.NET/Triangle/Quality.cs
@@ -181,7 +181,7 @@ namespace TriangleNet
// adjoining triangle whose pointer is larger (to ensure that
// each pair isn't tested twice).
shouldbedelaunay = (oppotri.triangle != Mesh.dummytri) &&
- !Otri.IsDead(oppotri.triangle) && //(triangleloop.tri < oppotri.tri) &&
+ !Otri.IsDead(oppotri.triangle) && loop.triangle.id < oppotri.triangle.id &&
(triorg != mesh.infvertex1) && (triorg != mesh.infvertex2) &&
(triorg != mesh.infvertex3) &&
(tridest != mesh.infvertex1) && (tridest != mesh.infvertex2) &&
@@ -204,8 +204,8 @@ namespace TriangleNet
{
if (Primitives.NonRegular(triorg, tridest, triapex, oppoapex) > 0.0)
{
- logger.Warning("Non-regular pair of triangles found (ID " + loop.triangle.id + ").",
- "Quality.CheckDelaunay()");
+ logger.Warning(String.Format("Non-regular pair of triangles found (IDs {0}+{1}).",
+ loop.triangle.id, oppotri.triangle.id), "Quality.CheckDelaunay()");
horrors++;
}
}
@@ -1001,7 +1001,7 @@ namespace TriangleNet
logger.Warning("I ran out of Steiner points, but the mesh has encroached subsegments, "
+ "and therefore might not be truly Delaunay. If the Delaunay property is important "
- + "to you, try increasing the number of Steiner points",
+ + "to you, try increasing the number of Steiner points.",
"Quality.EnforceQuality()");
}
}
diff --git a/Triangle.NET/Triangle/Tools/BoundedVoronoi.cs b/Triangle.NET/Triangle/Tools/BoundedVoronoi.cs
index 2e46eec..8ceff18 100644
--- a/Triangle.NET/Triangle/Tools/BoundedVoronoi.cs
+++ b/Triangle.NET/Triangle/Tools/BoundedVoronoi.cs
@@ -59,7 +59,8 @@ namespace TriangleNet.Tools
foreach (var v in mesh.vertices.Values)
{
- if (v.type == VertexType.FreeVertex)
+ // TODO: Need a reliable way to check if a vertex is on a segment
+ if (v.type == VertexType.FreeVertex || v.Boundary == 0)
{
voronoi.Add(ConstructBvdCell(v));
}
@@ -70,6 +71,13 @@ namespace TriangleNet.Tools
}
}
+ ///
+ /// Tag all blind triangles.
+ ///
+ ///
+ /// A triangle is said to be blind if the triangle and its circumcenter
+ /// lie on two different sides of a constrained edge.
+ ///
private void TagBlindTriangles()
{
int blinded = 0;
@@ -153,6 +161,12 @@ namespace TriangleNet.Tools
blinded = 0;
}
+ ///
+ /// Check if given triangle is blinded by given segment.
+ ///
+ /// Triangle.
+ /// Segments
+ /// Returns true, if the triangle is blinded.
private bool TriangleIsBlinded(ref Otri tri, ref Osub seg)
{
Point cc, pt = new Point();