Derived class for 2-node edge elements LineSegment is listed first so it is initialized before SBMBndElementBase; the base class constructor then receives the unit normal from LineSegment::normal() (see the .C file). More...
#include <SBMBndEdge2.h>
Public Member Functions | |
| SBMBndEdge2 (const Elem *elem) | |
| Constructor. | |
| Ball | computeBoundingBall () const override |
| bool | intersect (const libMesh::Plane &pl, Point &intersect_p) const |
| bool | intersect (const LineSegment &l1, Point &intersect_p) const |
| bool | intersect (const LineSegment &line_segment) const override |
| const Point & | normal () const |
| Getter for the normal vector. | |
| Point | closest_point (const Point &p) const |
| bool | closest_normal_point (const Point &p, Point &closest_p) const |
| bool | contains_point (const Point &p) const |
| const Point & | start () const |
| const Point & | end () const |
| void | setStart (const Point &p0) |
| void | setEnd (const Point &p1) |
| void | set (const Point &p0, const Point &p1) |
| Real | length () const |
| const Elem & | elem () const |
| Getter for the underlying element. | |
| unsigned int | expectedEmbeddingMeshDim () const |
| Getter of expected embedding solving mesh dimension Because the boundary element is a face of the embedding mesh, its dimension is one less than the dimension of the embedding mesh. | |
| virtual Point | distanceFrom (const Point &pt) const |
| Compute the distance vector from an arbitrary point to this boundary element. | |
| Real | getProjectedBoundingBoxDiagonal (const Point &normal_dir) const |
| Compute the length of the element bounding-box diagonal projected onto a plane orthogonal to a given direction. | |
Private Member Functions | |
| bool | closest_point (const Point &p, bool clamp_to_segment, Point &closest_p) const |
Private Attributes | |
| Point | _p0 |
| Point | _p1 |
| const Elem * | _elem |
| < Pointer to the libMesh element representing this boundary face. | |
| const Point | _normal |
Derived class for 2-node edge elements LineSegment is listed first so it is initialized before SBMBndElementBase; the base class constructor then receives the unit normal from LineSegment::normal() (see the .C file).
Definition at line 19 of file SBMBndEdge2.h.
|
explicit |
Constructor.
Definition at line 13 of file SBMBndEdge2.C.
|
virtual |
Reimplemented from LineSegment.
|
virtualinherited |
Compute the distance vector from an arbitrary point to this boundary element.
Default: normal-based distance vector. Override in derived class if needed. (a) First calculation of the normal-based distance and the projection point (b) If the projection point is outside the element, return the distance to the closest vertex.
Definition at line 39 of file SBMBndElementBase.C.
Referenced by UnsignedDistanceToSurfaceMesh::distanceVectorToSurface(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
inlineinherited |
Getter for the underlying element.
Definition at line 32 of file SBMBndElementBase.h.
Referenced by SBMBndEdge2(), SBMBndElementBase::SBMBndElementBase(), SBMBndUnsupportedForTest::SBMBndElementBase(), and SBMBndTri3::SBMBndTri3().
|
inlineinherited |
Getter of expected embedding solving mesh dimension Because the boundary element is a face of the embedding mesh, its dimension is one less than the dimension of the embedding mesh.
Definition at line 46 of file SBMBndElementBase.h.
|
inherited |
Compute the length of the element bounding-box diagonal projected onto a plane orthogonal to a given direction.
The projection plane is defined only by its normal direction; the specific location (offset) of the plane is irrelevant for this operation. Equivalently, this function removes the component of the bounding-box diagonal along the given normal direction and returns the norm of the remaining tangential component.
| normal_dir | A direction vector defining the plane normal. |
Definition at line 104 of file SBMBndElementBase.C.
Referenced by TEST().
| bool LineSegment::intersect | ( | const libMesh::Plane & | pl, |
| Point & | intersect_p | ||
| ) | const |
| bool LineSegment::intersect | ( | const LineSegment & | l1, |
| Point & | intersect_p | ||
| ) | const |
|
virtual |
Reimplemented from LineSegment.
|
inline |
|
privateinherited |
< Pointer to the libMesh element representing this boundary face.
Derived classes access it through elem() rather than this field directly. Unit normal vector of the boundary element, computed eagerly in the derived constructor and passed through the base constructor.
Definition at line 80 of file SBMBndElementBase.h.
Referenced by SBMBndElementBase::distanceFrom(), SBMBndElementBase::elem(), SBMBndElementBase::expectedEmbeddingMeshDim(), and SBMBndElementBase::getProjectedBoundingBoxDiagonal().
|
privateinherited |
Definition at line 83 of file SBMBndElementBase.h.
Referenced by SBMBndElementBase::distanceFrom(), SBMBndElementBase::normal(), and SBMBndElementBase::SBMBndElementBase().