37 :
std::pair<unsigned short, unsigned short>(v1, v2)
78 bool atEdge(
const unsigned short v1,
const unsigned short v2)
const
81 ((first == v1 && second == v2) || (first == v2 && second == v1));
98 mooseAssert(
atVertex(),
"Not at a vertex");
106 mooseAssert(
atEdge(),
"Not at an edge");
113 std::string
print()
const;
127 void setEdge(
const unsigned short v1,
const unsigned short v2)
137 void setEdge(
const std::pair<unsigned short, unsigned short> & vertices)
139 setEdge(vertices.first, vertices.second);
149 std::unique_ptr<const libMesh::Elem>
buildEdge(
const Elem * elem)
const;
156 bool isValid(
const Elem *
const elem,
const Point & point)
const;
std::ostream & operator<<(std::ostream &os, const ElemExtrema &elem_extrema)
static const unsigned short invalid_vertex
Identifier for an invalid vertex index.
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
Helper for defining if at an element's edge, vertex, or neither.
void setEdge(const std::pair< unsigned short, unsigned short > &vertices)
Sets the "at edge" state.
ElemExtrema()
Default constructor: sets entires to invalid (not at vertex or edge)
std::unique_ptr< const libMesh::Elem > buildEdge(const Elem *elem) const
unsigned short vertex() const
const Point & vertexPoint(const libMesh::Elem *elem) const
bool isValid(const Elem *const elem, const Point &point) const
void invalidate()
Invalidates the current state.
bool atVertex(const unsigned short v) const
std::string print() const
Prints the current state (at edge, at vertex, not at either)
void setVertex(const unsigned short vertex)
Sets the "at vertex" state.
ElemExtrema(const unsigned short v1, const unsigned short v2)
void setEdge(const unsigned short v1, const unsigned short v2)
Sets the "at edge" state.
const std::pair< unsigned short, unsigned short > & edgeVertices() const
bool atEdge(const unsigned short v1, const unsigned short v2) const