*/
virtual ~ChartManifold () = default;
+ /**
+ * Refer to the general documentation of this class and the documentation of
+ * the base class for more information.
+ */
+ virtual
+ Point<spacedim>
+ get_intermediate_point (const Point<spacedim> &p1,
+ const Point<spacedim> &p2,
+ const double w) const override;
+
/**
* Refer to the general documentation of this class and the documentation of
* the base class for more information.
+template <int dim, int spacedim, int chartdim>
+Point<spacedim>
+ChartManifold<dim,spacedim,chartdim>::
+get_intermediate_point (const Point<spacedim> &p1,
+ const Point<spacedim> &p2,
+ const double w) const
+{
+ const std::array<Point<spacedim>, 2> points({{p1, p2}});
+ const std::array<double, 2> weights({{1.-w, w}});
+ return get_new_point(make_array_view(points.begin(), points.end()),
+ make_array_view(weights.begin(), weights.end()));
+}
+
+
+
template <int dim, int spacedim, int chartdim>
Point<spacedim>
ChartManifold<dim,spacedim,chartdim>::