stroid v0.6.0
Multi-block curvilinear mesh generation
Loading...
Searching...
No Matches
mesh.h File Reference
#include <string>
#include <expected>
#include <istream>
#include <memory>
#include "mfem.hpp"
#include "stroid/utils/types.h"
Include dependency graph for mesh.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  stroid
 Public API surface for the stroid mesh generation library.
 
namespace  stroid::IO
 Mesh serialization and visualization helpers.
 

Enumerations

enum class  stroid::IO::VISUALIZATION_MODE : uint8_t { stroid::IO::NONE , stroid::IO::ELEMENT_ID , stroid::IO::BOUNDARY_ELEMENT_ID }
 Visualization modes for GLVis display. More...
 

Functions

void stroid::IO::SaveStroidMesh (const StroidMesh &mesh, const std::string &filename, const std::string &comment="")
 
void stroid::IO::SaveMesh (const mfem::Mesh &mesh, const std::string &filename)
 Save a mesh to MFEM's native .mesh format.
 
void stroid::IO::SaveMesh (const stroid::StroidMesh &mesh, const std::string &filename)
 Overload of SaveMesh which accepts a StroidMesh type and will internally unpack it.
 
void stroid::IO::SaveVTU (mfem::Mesh &mesh, const std::string &exportName)
 Save a mesh as a ParaView VTU dataset.
 
void stroid::IO::SaveVTU (const stroid::StroidMesh &mesh, const std::string &exportName)
 Overload of SaveVTU which accepts a StroidMesh type and will internally unpack it.
 
std::unique_ptr< mfem::Mesh > stroid::IO::MakeConformingVisualizationMesh (const mfem::Mesh &mesh)
 Make a display-only mesh copy with matching face subdivisions. This is purely for visualization and should not be used for any science goals.
 
void stroid::IO::ViewMesh (mfem::Mesh &mesh, const std::string &title, VISUALIZATION_MODE mode, const std::string &vishost, int visport, bool conforming_display=true)
 Stream a mesh to a running GLVis server for interactive viewing.
 
void stroid::IO::ViewMesh (const stroid::StroidMesh &mesh, const std::string &title, VISUALIZATION_MODE mode, const std::string &vishost, int visport, bool conforming_display=true)
 
void stroid::IO::VisualizeFaceValence (mfem::Mesh &mesh, const std::string &vishost, int visport, bool conforming_display=true)
 Color boundary-adjacent elements by face valence (1=surface, 2=internal). Untagged elements are zero; elements touching several tagged faces use the maximum valence. Values are computed before display subdivision.
 
void stroid::IO::VisualizeFaceValence (const stroid::StroidMesh &mesh, const std::string &vishost, int visport, bool conforming_display=true)
 
std::expected< StroidMesh, std::string > stroid::IO::ParseStroidMesh (std::istream &is)
 
std::expected< StroidMesh, std::string > stroid::IO::LoadStroidMesh (const std::string &filename)