WaveBEM: Unsteady Nonlinear Potential Flow Solver for Ship-Wave Interaction.
occ_normal_projection.h
Go to the documentation of this file.
1 #ifndef occ_normal_projection_h
2 #define occ_normal_projection_h
3 
4 #include <deal.II/base/point.h>
7 
8 #include <TopoDS.hxx>
9 #include <Geom_Curve.hxx>
10 
11 
12 
13 #include <stdio.h>
14 #include <stdlib.h>
15 
16 using namespace dealii;
17 namespace OpenCascade
18 {
19 
20  template <int dim>
21  class NormalProjection : public StraightBoundary<2,3>
22  {
23  public:
24  NormalProjection(const TopoDS_Shape &sh);
25 
26  virtual Point<3> get_new_point_on_line
27  (const Triangulation< 2,3 >::line_iterator &line) const;
28 
29  virtual Point<3> get_new_point_on_quad
30  (const Triangulation< 2,3 >::quad_iterator &quad) const;
31 
32  const TopoDS_Shape &sh;
33 
34  void normal_projection(Point<3> &projection,
35  const Point<3> &origin) const;
36 
37 
38 
39  void normal_projection_and_diff_forms(Point<3> &projection,
40  Point<3> &normal,
41  double &mean_curvature,
42  const Point<3> &origin) const;
43 
44  };
45 }
46 
47 #endif
We collect in this namespace all utilities which operate on OpenCascade entities which don't need cla...