8#ifndef INCGb86b0c9cb0fd48da931a1f24421b8842
9#define INCGb86b0c9cb0fd48da931a1f24421b8842
11#include <lf/base/base.h>
92 [[nodiscard]]
virtual unsigned DimMesh()
const = 0;
98 [[nodiscard]]
virtual unsigned DimWorld()
const = 0;
132 [[nodiscard]]
virtual std::span<const Entity* const>
Entities(
133 unsigned codim)
const = 0;
Represents a reference element with all its properties.
Interface class representing a topological entity in a cellular complex
Abstract interface for objects representing a single mesh.
virtual bool Contains(const Entity &e) const =0
Check if the given entity is a part of this mesh.
lf::base::size_type size_type
Mesh(const Mesh &)=default
virtual const mesh::Entity * EntityByIndex(dim_t codim, base::glb_idx_t index) const =0
Method for accessing an entity through its index.
virtual size_type NumEntities(lf::base::RefEl ref_el_type) const =0
Tells number of entities of a particular topological/geometric type.
virtual ~Mesh()=default
virtual destructor
virtual unsigned DimWorld() const =0
The dimension of the Euclidean space in which the mesh is embedded.
virtual std::span< const Entity *const > Entities(unsigned codim) const =0
All entities of a given codimension.
virtual size_type NumEntities(unsigned codim) const =0
The number of Entities that have the given codimension.
virtual unsigned DimMesh() const =0
The dimension of the manifold described by the mesh, or equivalently the maximum dimension of the ref...
Mesh & operator=(const Mesh &)=default
Mesh & operator=(Mesh &&)=default
virtual size_type Index(const Entity &e) const =0
Acess to the index of a mesh entity of any co-dimension.
unsigned int size_type
general type for variables related to size of arrays
unsigned int dim_t
type for dimensions and co-dimensions and numbers derived from them
unsigned int glb_idx_t
type for global index of mesh entities (nodes, edges, cells)
Defines a set of interface classes that define a mesh manager and provides mesh-related tools that bu...