9#ifndef INCG9dc22ac9eb6645d3a27f60a7abcd52a4
10#define INCG9dc22ac9eb6645d3a27f60a7abcd52a4
12#include <lf/mesh/mesh.h>
66 std::unique_ptr<geometry::
Geometry>&& geometry,
73 [[nodiscard]]
unsigned Codim()
const override {
return 0; }
84 [[nodiscard]] std::span<const Entity* const>
SubEntities(
85 unsigned rel_codim)
const override;
121 std::array<lf::mesh::Orientation, 4>
Represents a reference element with all its properties.
static constexpr RefEl kQuad()
Returns the reference quadrilateral.
Interface class for shape information on a mesh cell in the spirit of parametric finite element metho...
Interface class representing a topological entity in a cellular complex
lf::base::size_type size_type
A node object for a 2D hybrid mesh.
Describes a general quadrilateral cell for a 2D hybrid mesh.
mesh::Mesh::size_type size_type
size_type index() const
access to index of an entity
bool operator==(const mesh::Entity &rhs) const override
Check if two entities are the same.
base::RefEl RefEl() const override
Describes the reference element type of this entity.
std::array< const Point *, 4 > nodes_
const geometry::Geometry * Geometry() const override
Describes the geometry of this entity.
std::array< lf::mesh::Orientation, 4 > edge_ori_
std::span< const Entity *const > SubEntities(unsigned rel_codim) const override
Access to all subentities selected by relative co-dimension.
std::array< const Segment *, 4 > edges_
std::span< const lf::mesh::Orientation > RelativeOrientations() const override
Access to relative orientations of edges.
std::unique_ptr< geometry::Geometry > geometry_
Quadrilateral()=default
default constructors, needed by std::vector
Quadrilateral(Quadrilateral &&) noexcept=default
unsigned Codim() const override
an edge is an entity of co-dimension 1
~Quadrilateral() override=default
Quadrilateral(const Quadrilateral &)=delete
An edge object for a 2D hybrid mesh.
An alternative implementation of a hybrid2d mesh manager that uses Pointers to store sub-entity relat...