17 #ifndef dealii_occ_manifold_lib_h 18 #define dealii_occ_manifold_lib_h 22 #ifdef DEAL_II_WITH_OPENCASCADE 29 # define HAVE_CONFIG_H 30 # include <Adaptor3d_Curve.hxx> 31 # include <Adaptor3d_HCurve.hxx> 32 # include <BRepAdaptor_Curve.hxx> 63 template <
int dim,
int spacedim>
80 virtual std::unique_ptr<Manifold<dim, spacedim>>
81 clone()
const override;
105 const TopoDS_Shape
sh;
132 template <
int dim,
int spacedim>
147 virtual std::unique_ptr<Manifold<dim, spacedim>>
148 clone()
const override;
171 const TopoDS_Shape
sh;
227 template <
int dim,
int spacedim>
242 virtual std::unique_ptr<Manifold<dim, spacedim>>
243 clone()
const override;
263 const TopoDS_Shape
sh;
288 template <
int dim,
int spacedim>
301 virtual std::unique_ptr<Manifold<dim, spacedim>>
302 clone()
const override;
322 const TopoDS_Shape
sh;
347 template <
int dim,
int spacedim>
361 virtual std::unique_ptr<Manifold<dim, spacedim>>
362 clone()
const override;
391 push_forward_gradient(
const Point<2> &chart_point)
const override;
398 std::tuple<double, double, double, double>
399 get_uv_bounds()
const;
420 #endif // DEAL_II_WITH_OPENCASCADE 421 #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
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
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
#define DEAL_II_NAMESPACE_CLOSE
Handle_Adaptor3d_HCurve curve
#define DEAL_II_NAMESPACE_OPEN
virtual std::unique_ptr< Manifold< dim, spacedim > > clone() const override