Go to the documentation of this file.
20 #ifndef LIBMESH_FACE_H
21 #define LIBMESH_FACE_H
24 #include "libmesh/elem.h"
45 Face (
const unsigned int nn,
46 const unsigned int ns,
49 Node ** nodelinkdata) :
50 Elem(nn, ns, p, elemlinkdata, nodelinkdata) {}
56 virtual ~Face() =
default;
61 virtual unsigned short dim () const override final {
return 2; }
67 virtual unsigned int n_faces() const override final {
return 0; }
72 virtual std::unique_ptr<Elem>
build_edge_ptr (
const unsigned int i)
override final
79 const unsigned int s)
const override final
82 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS
88 virtual bool infinite () const override final {
return false; }
96 #endif // LIBMESH_FACE_H
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i, bool proxy=true)=0
The libMesh namespace provides an interface to certain functionality in the library.
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int i) override final
build_side and build_edge are identical for faces.
Face(const unsigned int nn, const unsigned int ns, Elem *p, Elem **elemlinkdata, Node **nodelinkdata)
Constructor.
virtual bool is_edge_on_side(const unsigned int e, const unsigned int s) const override final
is_edge_on_side is trivial in 2D.
A Node is like a Point, but with more information.
virtual unsigned short dim() const override final
The Face is an abstract element type that lives in two dimensions.
This is the base class from which all geometric element types are derived.
virtual unsigned int n_faces() const override final
Face & operator=(const Face &)=delete
virtual bool infinite() const override final