17 #ifndef dealii_occ_manifold_lib_h 18 #define dealii_occ_manifold_lib_h 20 #include <deal.II/base/config.h> 22 #ifdef DEAL_II_WITH_OPENCASCADE 24 # include <deal.II/grid/manifold.h> 26 # include <deal.II/opencascade/utilities.h> 29 # define HAVE_CONFIG_H 30 # include <Adaptor3d_Curve.hxx> 31 # include <Adaptor3d_HCurve.hxx> 32 # include <BRepAdaptor_Curve.hxx> 35 DEAL_II_NAMESPACE_OPEN
65 template <
int dim,
int spacedim>
82 virtual std::unique_ptr<Manifold<dim, spacedim>>
83 clone()
const override;
107 const TopoDS_Shape
sh;
136 template <
int dim,
int spacedim>
151 virtual std::unique_ptr<Manifold<dim, spacedim>>
152 clone()
const override;
175 const TopoDS_Shape
sh;
233 template <
int dim,
int spacedim>
248 virtual std::unique_ptr<Manifold<dim, spacedim>>
249 clone()
const override;
269 const TopoDS_Shape
sh;
296 template <
int dim,
int spacedim>
309 virtual std::unique_ptr<Manifold<dim, spacedim>>
310 clone()
const override;
330 const TopoDS_Shape
sh;
357 template <
int dim,
int spacedim>
371 virtual std::unique_ptr<Manifold<dim, spacedim>>
372 clone()
const override;
401 push_forward_gradient(
const Point<2> &chart_point)
const override;
408 std::tuple<double, double, double, double>
409 get_uv_bounds()
const;
427 DEAL_II_NAMESPACE_CLOSE
430 #endif // DEAL_II_WITH_OPENCASCADE 431 #endif // dealii_occ_manifold_lib_h
Point< dim > push_forward(const TopoDS_Shape &in_shape, const double u, const double v)
const Tensor< 1, spacedim > direction
NormalProjectionManifold(const TopoDS_Shape &sh, const double tolerance=1e-7)
virtual Point< spacedim > project_to_manifold(const ArrayView< const Point< spacedim >> &surrounding_points, const Point< spacedim > &candidate) const override
Handle_Adaptor3d_HCurve curve
virtual std::unique_ptr< Manifold< dim, spacedim > > clone() const override