Derived class for 3-node triangular surface elements (Tri3). More...
#include <SurfaceTri3.h>
Public Member Functions | |
| SurfaceTri3 (const Elem *elem) | |
| Constructor. | |
| bool | intersect (const LineSegment &line_segment) const override |
| Check if a line segment intersects this geometry. | |
| Ball | computeBoundingBall () const override |
| Compute a bounding ball for this geometry. | |
| const Point & | normal () const |
| Getter for the normal vector. | |
| bool | intersect (const LineSegment &l, libMesh::Point &intersect_p) const |
| Check if a line segment intersects this triangle. | |
| bool | intersect (const LineSegment &line_segment) const override |
| Check if a line segment intersects this triangle, without returning the intersection point. | |
| const Elem & | elem () const |
| Getter for the underlying element. | |
| unsigned int | expectedEmbeddingMeshDim () const |
| Getter of expected embedding solving mesh dimension Because the surface element is a face of the embedding mesh, its dimension is one less than the dimension of the embedding mesh. | |
| 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 Attributes | |
| libMesh::Point | _p0 |
| libMesh::Point | _p1 |
| libMesh::Point | _p2 |
| const Elem * | _elem |
| Pointer to the libMesh element representing this surface face. | |
| const Point | _normal |
| Unit normal vector of the surface element. | |
Derived class for 3-node triangular surface elements (Tri3).
Definition at line 16 of file SurfaceTri3.h.
|
explicit |
Constructor.
Definition at line 13 of file SurfaceTri3.C.
|
inlineoverridevirtual |
Compute a bounding ball for this geometry.
Sphere in 3D, circle in 2D. The ball should fully contain the geometry.
Implements GeometryBase.
Definition at line 33 of file SurfaceTri3.h.
|
inlineinherited |
Getter for the underlying element.
Definition at line 40 of file SurfaceElement.h.
Referenced by SurfaceEdge2::SurfaceEdge2(), SurfaceElement::SurfaceElement(), and SurfaceTri3().
|
inlineinherited |
Getter of expected embedding solving mesh dimension Because the surface element is a face of the embedding mesh, its dimension is one less than the dimension of the embedding mesh.
Definition at line 54 of file SurfaceElement.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 24 of file SurfaceElement.C.
| bool Triangle::intersect | ( | const LineSegment & | l, |
| libMesh::Point & | intersect_p | ||
| ) | const |
Check if a line segment intersects this triangle.
Definition at line 37 of file Triangle.C.
|
overridevirtual |
Check if a line segment intersects this triangle, without returning the intersection point.
Implements GeometryBase.
Definition at line 42 of file Triangle.C.
|
inlineoverridevirtual |
Check if a line segment intersects this geometry.
Implements GeometryBase.
Definition at line 29 of file SurfaceTri3.h.
|
inline |
Getter for the normal vector.
Definition at line 43 of file SurfaceElement.h.
|
privateinherited |
Pointer to the libMesh element representing this surface face.
Derived classes access it through elem() rather than this field directly.
Definition at line 80 of file SurfaceElement.h.
Referenced by SurfaceElement::elem(), SurfaceElement::expectedEmbeddingMeshDim(), and SurfaceElement::getProjectedBoundingBoxDiagonal().
|
privateinherited |
Unit normal vector of the surface element.
Definition at line 82 of file SurfaceElement.h.
Referenced by SurfaceElement::normal(), and SurfaceElement::SurfaceElement().
|
privateinherited |
Definition at line 50 of file Triangle.h.
Referenced by Triangle::computeBoundingBall(), and Triangle::normal().
|
privateinherited |
Definition at line 50 of file Triangle.h.
Referenced by Triangle::computeBoundingBall(), and Triangle::normal().
|
privateinherited |
Definition at line 50 of file Triangle.h.
Referenced by Triangle::computeBoundingBall(), and Triangle::normal().