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 78 virtual void build_edge_ptr (std::unique_ptr<Elem> & edge,
const unsigned int i)
override final 90 const unsigned int s)
const override final 96 virtual std::vector<unsigned int>
sides_on_edge(
const unsigned int e)
const override final 107 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS 113 virtual bool infinite () const override final {
return false; }
121 #endif // LIBMESH_FACE_H virtual unsigned short dim() const override final
A Node is like a Point, but with more information.
The Face is an abstract element type that lives in two dimensions.
virtual std::vector< unsigned int > sides_on_edge(const unsigned int e) const override final
sides_on_edge is trivial in 2D.
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i)=0
virtual void build_edge_ptr(std::unique_ptr< Elem > &edge, const unsigned int i) override final
build_side and build_edge are identical for faces.
Face & operator=(const Face &)=delete
This is the base class from which all geometric element types are derived.
The libMesh namespace provides an interface to certain functionality in the library.
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.
virtual unsigned int n_faces() const override final
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int i)=0
virtual bool infinite() const override final
A Point defines a location in LIBMESH_DIM dimensional Real space.
virtual Point quasicircumcenter() const override
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int i) override final
build_side and build_edge are identical for faces.