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);