diff --git a/Triangle.NET/Triangle/Geometry/Point.cs b/Triangle.NET/Triangle/Geometry/Point.cs
index 3fa644d..3c1fb95 100644
--- a/Triangle.NET/Triangle/Geometry/Point.cs
+++ b/Triangle.NET/Triangle/Geometry/Point.cs
@@ -7,10 +7,16 @@
namespace TriangleNet.Geometry
{
using System;
+ using System.Diagnostics;
///
/// Represents a 2D point.
///
+#if USE_Z
+ [DebuggerDisplay("ID {ID} [{X}, {Y}, {Z}]")]
+#else
+ [DebuggerDisplay("ID {ID} [{X}, {Y}]")]
+#endif
public class Point : IComparable, IEquatable
{
internal int id;
@@ -170,10 +176,5 @@ namespace TriangleNet.Geometry
return hash;
}
-
- public override string ToString()
- {
- return String.Format("[{0},{1}]", x, y);
- }
}
}
diff --git a/Triangle.NET/Triangle/Meshing/ConstraintMesher.cs b/Triangle.NET/Triangle/Meshing/ConstraintMesher.cs
index 69ccada..ee42aaf 100644
--- a/Triangle.NET/Triangle/Meshing/ConstraintMesher.cs
+++ b/Triangle.NET/Triangle/Meshing/ConstraintMesher.cs
@@ -719,6 +719,9 @@ namespace TriangleNet.Meshing
newvertex.attributes[i] = torg.attributes[i] + split * (tdest.attributes[i] - torg.attributes[i]);
}
#endif
+#if USE_Z
+ newvertex.z = torg.z + split * (tdest.z - torg.z);
+#endif
mesh.vertices.Add(newvertex.hash, newvertex);
diff --git a/Triangle.NET/Triangle/Meshing/QualityMesher.cs b/Triangle.NET/Triangle/Meshing/QualityMesher.cs
index 1976e9d..edeef48 100644
--- a/Triangle.NET/Triangle/Meshing/QualityMesher.cs
+++ b/Triangle.NET/Triangle/Meshing/QualityMesher.cs
@@ -624,6 +624,9 @@ namespace TriangleNet.Meshing
newvertex.attributes[i] = eorg.attributes[i]
+ split * (edest.attributes[i] - eorg.attributes[i]);
}
+#endif
+#if USE_Z
+ newvertex.z = eorg.z + split * (edest.z - eorg.z);
#endif
if (!Behavior.NoExact)
{
@@ -790,6 +793,9 @@ namespace TriangleNet.Meshing
{
Interpolation.InterpolateAttributes(newvertex, newvertex.tri.tri, mesh.nextras);
}
+#endif
+#if USE_Z
+ Interpolation.InterpolateZ(newvertex, newvertex.tri.tri);
#endif
mesh.vertices.Add(newvertex.hash, newvertex);