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)
#include <deal.II/grid/tria_accessor.h>
#include <deal.II/grid/tria_accessor.templates.h>
#include <deal.II/grid/tria_iterator.templates.h>
+#include <deal.II/grid/tria_boundary.h>
#include <deal.II/base/geometry_info.h>
#include <deal.II/base/quadrature.h>
#include <deal.II/grid/grid_tools.h>
Point<spacedim> get_new_point_on_object(const TriaAccessor<structdim, dim, spacedim> &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<const Boundary<dim,spacedim> *>(&obj.get_manifold()) != nullptr)
return get_new_point_on_object(obj);
else
{