Helper for defining if at an element's edge, vertex, or neither. More...
#include <ElemExtrema.h>
Public Member Functions | |
ElemExtrema () | |
Default constructor: sets entires to invalid (not at vertex or edge) More... | |
ElemExtrema (const unsigned short v1, const unsigned short v2) | |
bool | atExtrema () const |
bool | isInvalid () const |
bool | atVertex () const |
bool | atVertex (const unsigned short v) const |
bool | atEdge () const |
bool | atEdge (const unsigned short v1, const unsigned short v2) const |
void | invalidate () |
Invalidates the current state. More... | |
unsigned short | vertex () const |
const std::pair< unsigned short, unsigned short > & | edgeVertices () const |
std::string | print () const |
Prints the current state (at edge, at vertex, not at either) More... | |
void | setVertex (const unsigned short vertex) |
Sets the "at vertex" state. More... | |
void | setEdge (const unsigned short v1, const unsigned short v2) |
Sets the "at edge" state. More... | |
void | setEdge (const std::pair< unsigned short, unsigned short > &vertices) |
Sets the "at edge" state. More... | |
const Point & | vertexPoint (const libMesh::Elem *elem) const |
std::unique_ptr< const libMesh::Elem > | buildEdge (const Elem *elem) const |
bool | isValid (const Elem *const elem, const Point &point) const |
Helper for defining if at an element's edge, vertex, or neither.
Definition at line 25 of file ElemExtrema.h.
|
inline |
Default constructor: sets entires to invalid (not at vertex or edge)
Definition at line 30 of file ElemExtrema.h.
|
inline |
Definition at line 36 of file ElemExtrema.h.
|
inline |
Definition at line 71 of file ElemExtrema.h.
Referenced by buildEdge(), edgeVertices(), TraceRay::findExternalBoundarySide(), TraceRayTools::intersectQuad(), isValid(), print(), TEST(), and TraceRay::trace().
|
inline |
v1
and v2
Definition at line 78 of file ElemExtrema.h.
|
inline |
Definition at line 44 of file ElemExtrema.h.
Referenced by TraceRay::applyOnExternalBoundary(), TraceRay::applyOnInternalBoundary(), TraceRay::findExternalBoundarySide(), TraceRay::getNeighbors(), TraceRay::onTrajectoryChanged(), TEST(), and TraceRay::trace().
|
inline |
Definition at line 56 of file ElemExtrema.h.
Referenced by TraceRay::getNeighbors(), isValid(), print(), TEST(), vertex(), and TraceRayTools::withinExtremaOnSide().
|
inline |
v
Definition at line 63 of file ElemExtrema.h.
std::unique_ptr< const libMesh::Elem > ElemExtrema::buildEdge | ( | const Elem * | elem | ) | const |
Definition at line 22 of file ElemExtrema.C.
Referenced by isValid(), RayTracingStudyTest::RayTracingStudyTest(), TEST(), and TraceRayTools::withinEdgeOnSideTempl().
|
inline |
Definition at line 104 of file ElemExtrema.h.
Referenced by TraceRay::getNeighbors(), and TEST().
|
inline |
Invalidates the current state.
Definition at line 87 of file ElemExtrema.h.
Referenced by TraceRay::applyOnInternalBoundary(), TraceRay::exitsElem(), BoundingBoxIntersectionHelper::intersection(), TraceRayTools::intersectQuad(), TraceRay::moveThroughNeighbor(), TEST(), and TraceRay::trace().
|
inline |
Definition at line 48 of file ElemExtrema.h.
Referenced by TraceRay::findExternalBoundarySide(), TraceRayTools::intersectQuad(), TraceRay::moveThroughNeighbors(), TraceRayTools::sideIntersectedByLine(), TEST(), TraceRayTools::withinEdgeOnSideTempl(), TraceRayTools::withinEdgeTempl(), and TraceRayTools::withinExtremaOnSide().
bool ElemExtrema::isValid | ( | const Elem *const | elem, |
const Point & | point | ||
) | const |
elem
and point
.This ONLY checks for validity when atExtrema().
Definition at line 49 of file ElemExtrema.C.
Referenced by TraceRay::possiblyAddToBoundaryElems(), and TEST().
std::string ElemExtrema::print | ( | ) | const |
Prints the current state (at edge, at vertex, not at either)
Definition at line 36 of file ElemExtrema.C.
Referenced by operator<<().
|
inline |
Sets the "at edge" state.
Definition at line 127 of file ElemExtrema.h.
Referenced by TraceRayTools::intersectTriangle(), setEdge(), TEST(), TraceRayTools::withinEdgeOnSideTempl(), and TraceRayTools::withinEdgeTempl().
|
inline |
Sets the "at edge" state.
Definition at line 137 of file ElemExtrema.h.
|
inline |
Sets the "at vertex" state.
Definition at line 118 of file ElemExtrema.h.
Referenced by TraceRay::applyOnInternalBoundary(), TraceRayTools::intersectTriangle(), TraceRayTools::sideIntersectedByLine(), and TEST().
|
inline |
Definition at line 96 of file ElemExtrema.h.
Referenced by TraceRay::getNeighbors(), print(), setVertex(), TEST(), and vertexPoint().
const Point & ElemExtrema::vertexPoint | ( | const libMesh::Elem * | elem | ) | const |
Definition at line 16 of file ElemExtrema.C.
Referenced by isValid(), TraceRayTools::sideIntersectedByLine(), and TEST().