16 #ifndef dealii_tria_boundary_h 17 #define dealii_tria_boundary_h 22 #include <deal.II/base/config.h> 23 #include <deal.II/base/subscriptor.h> 24 #include <deal.II/base/quadrature_lib.h> 25 #include <deal.II/base/thread_management.h> 26 #include <deal.II/base/point.h> 27 #include <deal.II/grid/tria.h> 28 #include <deal.II/grid/manifold.h> 30 DEAL_II_NAMESPACE_OPEN
83 template <
int dim,
int spacedim=dim>
92 virtual ~
Boundary ()
override =
default;
97 virtual std::unique_ptr<Manifold<dim,spacedim> >
clone()
const override;
119 get_intermediate_points_on_line (
const typename Triangulation<dim,spacedim>::line_iterator &line,
144 get_intermediate_points_on_quad (
const typename Triangulation<dim,spacedim>::quad_iterator &quad,
175 project_to_surface (
const typename Triangulation<dim,spacedim>::line_iterator &line,
188 project_to_surface (
const typename Triangulation<dim,spacedim>::quad_iterator &quad,
201 project_to_surface (
const typename Triangulation<dim,spacedim>::hex_iterator &hex,
213 const std::vector<Point<1> > &
214 get_line_support_points (
const unsigned int n_intermediate_points)
const;
220 mutable std::vector<std::shared_ptr<QGaussLobatto<1> > >
points;
247 template <
int dim,
int spacedim=dim>
259 virtual std::unique_ptr<Manifold<dim,spacedim> >
clone()
const override;
268 get_new_point_on_line (
const typename Triangulation<dim,spacedim>::line_iterator &line)
const override;
280 get_new_point_on_quad (
const typename Triangulation<dim,spacedim>::quad_iterator &quad)
const override;
414 std::vector<
Point<3> > &points)
const;
425 DEAL_II_NAMESPACE_CLOSE
virtual Tensor< 1, spacedim > normal_vector(const typename Triangulation< dim, spacedim >::face_iterator &face, const Point< spacedim > &p) const override
virtual void get_intermediate_points_on_line(const typename Triangulation< dim, spacedim >::line_iterator &line, std::vector< Point< spacedim > > &points) const
std::vector< std::shared_ptr< QGaussLobatto< 1 > > > points
virtual void get_intermediate_points_on_quad(const typename Triangulation< dim, spacedim >::quad_iterator &quad, std::vector< Point< spacedim > > &points) const
virtual Point< spacedim > get_new_point_on_line(const typename Triangulation< dim, spacedim >::line_iterator &line) const
virtual void get_intermediate_points_on_quad(const typename Triangulation< dim, spacedim >::quad_iterator &quad, std::vector< Point< spacedim > > &points) const override
void get_intermediate_points_on_face(const typename Triangulation< dim, spacedim >::face_iterator &face, std::vector< Point< spacedim > > &points) const
virtual std::unique_ptr< Manifold< dim, spacedim > > clone() const override
virtual Point< spacedim > get_new_point_on_quad(const typename Triangulation< dim, spacedim >::quad_iterator &quad) const
virtual void get_normals_at_vertices(const typename Triangulation< dim, spacedim >::face_iterator &face, typename Manifold< dim, spacedim >::FaceVertexNormals &face_vertex_normals) const override
virtual std::unique_ptr< Manifold< dim, spacedim > > clone() const override
virtual Point< spacedim > get_new_point_on_quad(const typename Triangulation< dim, spacedim >::quad_iterator &quad) const override
virtual Point< spacedim > project_to_surface(const typename Triangulation< dim, spacedim >::line_iterator &line, const Point< spacedim > &candidate) const
virtual Point< spacedim > project_to_surface(const typename Triangulation< dim, spacedim >::line_iterator &line, const Point< spacedim > &candidate) const override