Reference documentation for deal.II version 8.5.1
|
#include <deal.II/opencascade/boundary_lib.h>
Public Member Functions | |
ArclengthProjectionLineManifold (const TopoDS_Shape &sh, const double tolerance=1e-7) | |
virtual Point< 1 > | pull_back (const Point< spacedim > &space_point) const |
virtual Point< spacedim > | push_forward (const Point< 1 > &chart_point) const |
Public Member Functions inherited from ChartManifold< dim, spacedim, 1 > | |
ChartManifold (const Tensor< 1, chartdim > &periodicity=Tensor< 1, chartdim >()) | |
virtual | ~ChartManifold () |
virtual Point< spacedim > | get_new_point (const Quadrature< spacedim > &quad) const 1 |
virtual Point< spacedim > | get_new_point (const std::vector< Point< spacedim > > &surrounding_points, const std::vector< double > &weights) const |
virtual void | add_new_points (const std::vector< Point< spacedim > > &surrounding_points, const Table< 2, double > &weights, std::vector< Point< spacedim > > &new_points) const |
virtual Point< spacedim > | push_forward (const Point< chartdim > &chart_point) const=0 |
virtual DerivativeForm< 1, chartdim, spacedim > | push_forward_gradient (const Point< chartdim > &chart_point) const |
virtual Tensor< 1, spacedim > | get_tangent_vector (const Point< spacedim > &x1, const Point< spacedim > &x2) const |
const Tensor< 1, chartdim > & | get_periodicity () const |
Public Member Functions inherited from Manifold< dim, spacedim > | |
virtual | ~Manifold () |
virtual Point< spacedim > | get_intermediate_point (const Point< spacedim > &p1, const Point< spacedim > &p2, const double w) const |
virtual Point< spacedim > | project_to_manifold (const std::vector< Point< spacedim > > &surrounding_points, const Point< spacedim > &candidate) const |
virtual Point< spacedim > | get_new_point_on_line (const typename Triangulation< dim, spacedim >::line_iterator &line) const |
virtual Point< spacedim > | get_new_point_on_quad (const typename Triangulation< dim, spacedim >::quad_iterator &quad) const |
virtual Point< spacedim > | get_new_point_on_hex (const typename Triangulation< dim, spacedim >::hex_iterator &hex) const |
Point< spacedim > | get_new_point_on_face (const typename Triangulation< dim, spacedim >::face_iterator &face) const |
Point< spacedim > | get_new_point_on_cell (const typename Triangulation< dim, spacedim >::cell_iterator &cell) const |
virtual Tensor< 1, spacedim > | normal_vector (const typename Triangulation< dim, spacedim >::face_iterator &face, const Point< spacedim > &p) const |
virtual void | get_normals_at_vertices (const typename Triangulation< dim, spacedim >::face_iterator &face, FaceVertexNormals &face_vertex_normals) const |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
Handle_Adaptor3d_HCurve | curve |
const double | tolerance |
const double | length |
Additional Inherited Members | |
Public Types inherited from Manifold< dim, spacedim > | |
typedef Tensor< 1, spacedim > | FaceVertexNormals[GeometryInfo< dim >::vertices_per_face] |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, char *arg2, std::string &arg3) |
static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *arg2) |
A Boundary object based on OpenCASCADE TopoDS_Shape objects which have topological dimension equal to one (TopoDS_Edge or TopoDS_Wire) where new points are located at the arclength average of the surrounding points. If the given TopoDS_Shape can be casted to a periodic (closed) curve, then this information is used internally to set the periodicity of the base ChartManifold class.
This class can only work on TopoDS_Edge or TopoDS_Wire objects, and it only makes sense when spacedim is three. If you use an object of topological dimension different from one, an exception is throw.
In debug mode there is an additional sanity check to make sure that the surrounding points actually live on the Manifold, i.e., calling OpenCASCADE::closest_point() on those points leaves them untouched. If this is not the case, an ExcPointNotOnManifold is thrown.
Definition at line 282 of file boundary_lib.h.
OpenCASCADE::ArclengthProjectionLineManifold< dim, spacedim >::ArclengthProjectionLineManifold | ( | const TopoDS_Shape & | sh, |
const double | tolerance = 1e-7 |
||
) |
Default constructor with a TopoDS_Edge.
Definition at line 242 of file boundary_lib.cc.
|
virtual |
Given a point on real space, find its arclength parameter. Throws an error in debug mode, if the point is not on the TopoDS_Edge given at construction time.
Implements ChartManifold< dim, spacedim, 1 >.
Definition at line 258 of file boundary_lib.cc.
|
virtual |
Given an arclength parameter, find its image in real space.
Definition at line 273 of file boundary_lib.cc.
|
private |
A Curve adaptor. This is the one which is used in the computations, and it points to the right one above.
Definition at line 310 of file boundary_lib.h.
|
private |
Relative tolerance used in all internal computations.
Definition at line 315 of file boundary_lib.h.
|
private |
The total length of the curve. This is also used as a period if the edge is periodic.
Definition at line 321 of file boundary_lib.h.