The LineSegment class is used by the LineMaterialSamplerBase class and for some ray tracing stuff. More...
#include <LineSegment.h>
Public Member Functions | |
| LineSegment ()=default | |
| LineSegment (const Point &p0, const Point &p1) | |
| ~LineSegment () override=default | |
| Point | closest_point (const Point &p) const |
| Returns the closest point on the LineSegment to the passed in point. More... | |
| bool | closest_normal_point (const Point &p, Point &closest_p) const |
| Finds the closest point on the Line determined by the Line Segments. More... | |
| bool | contains_point (const Point &p) const |
| Determines whether a point is in a line segment or not. More... | |
| bool | intersect (const libMesh::Plane &pl, Point &intersect_p) const |
| Check if a line segment intersects a plane, and if so, return the intersection point. More... | |
| bool | intersect (const LineSegment &l1, Point &intersect_p) const |
| Check if a line segment intersects another line segment, and if so, return the intersection point. More... | |
| bool | intersect (const LineSegment &line_segment) const override |
| Check if a line segment intersects another line segment, without returning the intersection point. More... | |
| Ball | computeBoundingBall () const override |
| Compute a bounding ball for this line segment. More... | |
| const Point & | start () const |
| Beginning of the line segment. More... | |
| const Point & | end () const |
| Ending of the line segment. More... | |
| void | setStart (const Point &p0) |
| Sets the beginning of the line segment. More... | |
| void | setEnd (const Point &p1) |
| Sets the end of the line segment. More... | |
| void | set (const Point &p0, const Point &p1) |
| Sets the points on the line segment. More... | |
| Real | length () const |
| Length of segment. More... | |
| Point | normal () const |
| normal vector of the line segment More... | |
Private Member Functions | |
| bool | closest_point (const Point &p, bool clamp_to_segment, Point &closest_p) const |
Private Attributes | |
| Point | _p0 |
| Point | _p1 |
The LineSegment class is used by the LineMaterialSamplerBase class and for some ray tracing stuff.
Definition at line 30 of file LineSegment.h.
|
default |
| LineSegment::LineSegment | ( | const Point & | p0, |
| const Point & | p1 | ||
| ) |
|
overridedefault |
Finds the closest point on the Line determined by the Line Segments.
Returns a boolean indicating whether that normal point is within the LineSegment or not
Definition at line 57 of file LineSegment.C.
| Point LineSegment::closest_point | ( | const Point & | p | ) | const |
Returns the closest point on the LineSegment to the passed in point.
Note that the closest point may be one of the ends of the LineSegment.
Referenced by closest_normal_point(), and contains_point().
|
private |
|
overridevirtual |
Compute a bounding ball for this line segment.
The ball is defined by the midpoint of the segment and a radius equal to half the segment length.
Implements GeometryBase.
Definition at line 303 of file LineSegment.C.
| bool LineSegment::contains_point | ( | const Point & | p | ) | const |
Determines whether a point is in a line segment or not.
Definition at line 63 of file LineSegment.C.
Referenced by Moose::sideIntersectedByLine().
|
inline |
Ending of the line segment.
Definition at line 90 of file LineSegment.h.
Referenced by dataStore(), IntersectionPointsAlongLine::execute(), Triangle::intersect(), Ball::intersect(), Moose::recursivelyFindElementsIntersectedByLine(), and to_json().
| bool LineSegment::intersect | ( | const libMesh::Plane & | pl, |
| Point & | intersect_p | ||
| ) | const |
Check if a line segment intersects a plane, and if so, return the intersection point.
Referenced by intersect(), and Moose::sideIntersectedByLine().
| bool LineSegment::intersect | ( | const LineSegment & | l1, |
| Point & | intersect_p | ||
| ) | const |
Check if a line segment intersects another line segment, and if so, return the intersection point.
|
overridevirtual |
Check if a line segment intersects another line segment, without returning the intersection point.
Implements GeometryBase.
Definition at line 253 of file LineSegment.C.
|
inline |
| Point LineSegment::normal | ( | ) | const |
Sets the points on the line segment.
| p0 | The start point of the line segment |
| p1 | The end point of the line segment |
Definition at line 260 of file LineSegment.C.
Referenced by dataLoad().
|
inline |
Sets the end of the line segment.
Definition at line 100 of file LineSegment.h.
Referenced by set().
|
inline |
Sets the beginning of the line segment.
Definition at line 95 of file LineSegment.h.
Referenced by set().
|
inline |
Beginning of the line segment.
Definition at line 85 of file LineSegment.h.
Referenced by dataStore(), Triangle::intersect(), Ball::intersect(), and to_json().
|
private |
Definition at line 122 of file LineSegment.h.
Referenced by computeBoundingBall(), length(), normal(), setStart(), and start().
|
private |
Definition at line 122 of file LineSegment.h.
Referenced by computeBoundingBall(), end(), length(), normal(), and setEnd().
1.8.14