9#ifndef INCG6f934bca210e4020914d12e0910fab42
10#define INCG6f934bca210e4020914d12e0910fab42
12#include <lf/mesh/mesh.h>
62 std::unique_ptr<geometry::
Geometry>&& geometry,
68 [[nodiscard]]
unsigned Codim()
const override {
return 0; }
80 [[nodiscard]] std::span<const Entity* const>
SubEntities(
81 unsigned rel_codim)
const override;
113 std::array<lf::mesh::Orientation, 3>
Represents a reference element with all its properties.
static constexpr RefEl kTria()
Returns the reference triangle.
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.
An edge object for a 2D hybrid mesh.
Describes a trilateral cell for a 2D hybrid mesh.
Triangle(Triangle &&) noexcept=default
std::unique_ptr< geometry::Geometry > geometry_
std::array< lf::mesh::Orientation, 3 > edge_ori_
bool operator==(const mesh::Entity &rhs) const override
Check if two entities are the same.
std::array< const Point *, 3 > nodes_
mesh::Mesh::size_type size_type
std::span< const Entity *const > SubEntities(unsigned rel_codim) const override
Access to all subentities selected by relative co-dimension.
base::RefEl RefEl() const override
Describes the reference element type of this entity.
size_type index() const
access to index of an entity
Triangle(const Triangle &)=delete
const geometry::Geometry * Geometry() const override
Describes the geometry of this entity.
std::span< const lf::mesh::Orientation > RelativeOrientations() const override
Access to relative orientations of edges.
Triangle()=default
default constructors, needed by std::vector
std::array< const Segment *, 3 > edges_
~Triangle() override=default
unsigned Codim() const override
an edge is an entity of co-dimension 1
An alternative implementation of a hybrid2d mesh manager that uses Pointers to store sub-entity relat...