10#if defined(FEAT_HAVE_MESHHEXER) || defined(DOXYGEN)
12#include <kernel/geometry/conformal_mesh.hpp>
13#include <kernel/geometry/subdivision_levels.hpp>
14#include <kernel/shape.hpp>
15#include <kernel/util/string.hpp>
24 Gap(
double d,
double c) : diameter(d), confidence(c)
168 template<
typename DataType_>
176 std::uint64_t levels);
185 template<
typename DataType_>
203 template<
typename DataType_>
211 std::uint64_t levels);
222 template<
typename DataType_>
bool is_wound_consistently() const
Check if the winding order of the faces of the surface mesh is consistent.
bool is_outward_oriented() const
Check if the surface normals of all faces of the surface mesh point towards the unbounded side.
Gap min_gap()
Compute the smallest Gap of the surface mesh.
bool is_closed() const
Check if the surface mesh describes a closed surface.
ConformalMesh< Shape::Hexahedron, 3, DataType_ > fbm_mesh(DataType_ x_min, DataType_ y_min, DataType_ z_min, DataType_ x_max, DataType_ y_max, DataType_ z_max, std::uint64_t levels)
Create a non-fitted volume mesh for this surface mesh.
void write_to_file(const std::string &filename)
Write the surface mesh to disk.
friend MeshHexerSurfaceMesh load_from_file(const String &filename, bool triangulate)
Load a surface mesh from a file.
std::pair< ConformalMesh< Shape::Hexahedron, 3, DataType_ >, SubdivisionLevels > prepare_fbm_mesh(DataType_ x_min, DataType_ y_min, DataType_ z_min, DataType_ x_max, DataType_ y_max, DataType_ z_max, std::uint64_t levels)
Create a non-fitted volume mesh for this surface mesh.
std::pair< ConformalMesh< Shape::Hexahedron, 3, DataType_ >, SubdivisionLevels > prepare_fbm_mesh(std::uint64_t levels)
Create a non-fitted volume mesh for this surface mesh.
ConformalMesh< Shape::Hexahedron, 3, DataType_ > fbm_mesh(std::uint64_t levels)
Create a non-fitted volume mesh for this surface mesh.
double minimal_aspect_ratio() const
Compute the smallest aspect ratio of any face of the surface mesh.
std::vector< Gap > gaps()
Compute Gap candidates of the surface mesh.
double maximal_aspect_ratio() const
Compute the largest aspect ratio of any face of the surface mesh.
Subdivision level markings for meshes.
String class implementation.
MeshHexerSurfaceMesh load_from_file(const String &filename, bool triangulate=false)
Load a surface mesh from a file.