36 std::unique_ptr<Manifold<dim, spacedim>>
clone()
const override;
39 const Triangulation<dim, spacedim> &triangulation,
40 const Manifold<dim, spacedim> &chart_manifold = FlatManifold<dim>());
43 get_new_point(
const ArrayView<
const Point<spacedim>> &surrounding_points,
44 const ArrayView<const double> &weights)
const override;
47 get_new_points(
const ArrayView<
const Point<spacedim>> &surrounding_points,
48 const Table<2, double> &weights,
49 ArrayView<Point<spacedim>> new_points)
const override;
52 std::array<unsigned int, 20> get_possible_cells_around_points(
53 const ArrayView<
const Point<spacedim>> &surrounding_points)
const;
55 typename Triangulation<dim, spacedim>::cell_iterator compute_chart_points(
56 const ArrayView<
const Point<spacedim>> &surrounding_points,
57 ArrayView<Point<dim>> chart_points)
const;
60 pull_back(
const typename Triangulation<dim, spacedim>::cell_iterator &cell,
61 const Point<spacedim> &p,
62 const Point<dim> &initial_guess)
const;
64 Point<spacedim> push_forward(
65 const typename Triangulation<dim, spacedim>::cell_iterator &cell,
66 const Point<dim> &chart_point)
const;
68 DerivativeForm<1, dim, spacedim> push_forward_gradient(
69 const typename Triangulation<dim, spacedim>::cell_iterator &cell,
70 const Point<dim> &chart_point,
71 const Point<spacedim> &pushed_forward_chart_point)
const;
73 Triangulation<dim, spacedim> triangulation;
77 std::vector<bool> coarse_cell_is_flat;
79 std::unique_ptr<Manifold<dim, spacedim>> chart_manifold;