diff --git a/src/Triangle.Examples/Generate.cs b/src/Triangle.Examples/Generate.cs
index 64c0e7a..85bea7f 100644
--- a/src/Triangle.Examples/Generate.cs
+++ b/src/Triangle.Examples/Generate.cs
@@ -40,6 +40,13 @@ namespace TriangleNet
///
/// Creates a rectangle contour.
///
+ /// Minimum x value (left).
+ /// Minimum y value (bottom).
+ /// Width of the rectangle.
+ /// Height of the rectangle.
+ /// The desired boundary segment length.
+ /// The vertices and boundary segment label.
+ ///
public static Contour Rectangle(double x, double y, double width, double height,
double size = 0d, int label = 0)
{
diff --git a/src/Triangle.Examples/Program.cs b/src/Triangle.Examples/Program.cs
index 3854ac4..0f2c0c3 100644
--- a/src/Triangle.Examples/Program.cs
+++ b/src/Triangle.Examples/Program.cs
@@ -18,7 +18,7 @@ namespace TriangleNet
Check("Example 8", Example8.Run());
Check("Example 9", Example9.Run());
Check("Example 10", Example10.Run());
- Check("Example 11", Example10.Run());
+ Check("Example 11", Example11.Run());
}
static void Check(string item, bool success)
diff --git a/src/Triangle/Tools/QualityMeasure.cs b/src/Triangle/Tools/QualityMeasure.cs
index d79a979..87c661a 100644
--- a/src/Triangle/Tools/QualityMeasure.cs
+++ b/src/Triangle/Tools/QualityMeasure.cs
@@ -9,6 +9,7 @@ namespace TriangleNet.Tools
{
using System;
using TriangleNet.Geometry;
+ using TriangleNet.Meshing;
///
/// Provides mesh quality information.
@@ -57,16 +58,16 @@ namespace TriangleNet.Tools
AlphaMeasure alphaMeasure;
Q_Measure qMeasure;
- Mesh mesh;
-
///
/// Initializes a new instance of the class.
///
- public QualityMeasure()
+ public QualityMeasure(IMesh mesh)
{
areaMeasure = new AreaMeasure();
alphaMeasure = new AlphaMeasure();
qMeasure = new Q_Measure();
+
+ Compute(mesh);
}
#region Public properties
@@ -161,23 +162,13 @@ namespace TriangleNet.Tools
#endregion
- ///
- /// Update all quality measures.
- ///
- public void Update(Mesh mesh)
+ private void Compute(IMesh mesh)
{
- this.mesh = mesh;
-
// Reset all measures.
areaMeasure.Reset();
alphaMeasure.Reset();
qMeasure.Reset();
- Compute();
- }
-
- private void Compute()
- {
Point a, b, c;
double ab, bc, ca;
double lx, ly;
@@ -185,7 +176,7 @@ namespace TriangleNet.Tools
int n = 0;
- foreach (var tri in mesh.triangles)
+ foreach (var tri in mesh.Triangles)
{
n++;
@@ -241,7 +232,7 @@ namespace TriangleNet.Tools
/// Because the finite element node adjacency relationship is symmetric,
/// we are guaranteed that ML = MU.
///
- public int Bandwidth()
+ public static int Bandwidth(IMesh mesh)
{
if (mesh == null) return 0;
@@ -250,15 +241,15 @@ namespace TriangleNet.Tools
int gi, gj;
- foreach (var tri in mesh.triangles)
+ foreach (var tri in mesh.Triangles)
{
for (int j = 0; j < 3; j++)
{
- gi = tri.GetVertex(j).id;
+ gi = tri.GetVertexID(j);
for (int k = 0; k < 3; k++)
{
- gj = tri.GetVertex(k).id;
+ gj = tri.GetVertexID(k);
mu = Math.Max(mu, gj - gi);
ml = Math.Max(ml, gi - gj);