1#ifndef INCGe98a803fac5b430a8ff634ceb2f809aX
2#define INCGe98a803fac5b430a8ff634ceb2f809aX
4#include <lf/mesh/mesh.h>
56 const std::span<const size_type>& nodes,
57 std::unique_ptr<geometry::Geometry>&& geometry)
override;
59 [[nodiscard]] std::shared_ptr<mesh::Mesh>
Build()
override;
62 void PrintLists(std::ostream& o = std::cout)
const;
81 static std::shared_ptr<spdlog::logger>&
Logger();
86 stream <<
"mesh factory object";
Represents a reference element with all its properties.
Interface class for initialization of a mesh object.
Eigen::VectorXd coord_t
Coordinate type of a point.
Implements mesh::MeshFactory interface and can be used to construct a hybrid mesh with dimMesh=2.
hybrid2d::Mesh::CellList elements_
MeshFactory & operator=(MeshFactory &&)=delete
MeshFactory & operator=(const MeshFactory &)=delete
static std::shared_ptr< spdlog::logger > & Logger()
logger that is used by the build method to output additional information to the command line.
std::shared_ptr< mesh::Mesh > Build() override
Construct a mesh out of the specified nodes and elements.
size_type AddEntity(base::RefEl ref_el, const std::span< const size_type > &nodes, std::unique_ptr< geometry::Geometry > &&geometry) override
Add an an entity (codim>0) to the mesh.
void PrintLists(std::ostream &o=std::cout) const
output function printing assembled lists of entity information
dim_t DimWorld() const override
Return the Mesh::DimWorld() of the mesh that will be returned.
MeshFactory(const MeshFactory &)=delete
MeshFactory(dim_t dim_world, bool check_completeness=true)
Construct a new builder that can be used to construct a new hybrid2d mesh.
hybrid2d::Mesh::NodeCoordList nodes_
hybrid2d::Mesh::EdgeList edges_
MeshFactory(MeshFactory &&)=delete
size_type AddPoint(coord_t coord) override
Add a point to the mesh.
dim_t DimMesh() const override
Return the Mesh::DimMesh() of the mesh that will be returned.
~MeshFactory() override=default
Virtual destructor.
std::vector< std::pair< std::array< size_type, 4 >, GeometryPtr > > CellList
std::vector< std::pair< std::array< size_type, 2 >, GeometryPtr > > EdgeList
std::vector< GeometryPtr > NodeCoordList
An alternative implementation of a hybrid2d mesh manager that uses Pointers to store sub-entity relat...
std::ostream & operator<<(std::ostream &stream, const MeshFactory &)
lf::base::size_type size_type