From 7456402b8c1308fdc7adaab0b211ba8e9bb3558b Mon Sep 17 00:00:00 2001 From: Martin Kronbichler Date: Thu, 30 Nov 2017 15:51:25 +0100 Subject: [PATCH] Do not interpolate with additional points for Boundary objects. --- source/grid/tria.cc | 1 + source/grid/tria_accessor.cc | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/source/grid/tria.cc b/source/grid/tria.cc index 17f3684bd4..7488644353 100644 --- a/source/grid/tria.cc +++ b/source/grid/tria.cc @@ -5814,6 +5814,7 @@ namespace internal triangulation.vertices[next_unused_vertex] = quad->center(true, true); triangulation.vertices_used[next_unused_vertex] = true; + // now that we created the right point, make up // the four lines interior to the quad (++ takes // care of the end of the vector) diff --git a/source/grid/tria_accessor.cc b/source/grid/tria_accessor.cc index 0cc240e623..4ea9917566 100644 --- a/source/grid/tria_accessor.cc +++ b/source/grid/tria_accessor.cc @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -1046,7 +1047,10 @@ namespace Point get_new_point_on_object(const TriaAccessor &obj, const bool use_laplace) { - if (use_laplace == false) + // if we should not do mesh smoothing or if the object is of the old + // Boundary type, do only use the old points + if (use_laplace == false || + dynamic_cast *>(&obj.get_manifold()) != nullptr) return get_new_point_on_object(obj); else { -- 2.39.5