2025-02-14 21:02:40 +05:00
|
|
|
#include "meshfunc.hpp"
|
2021-07-19 17:59:12 +05:00
|
|
|
|
|
|
|
|
|
|
|
namespace netgen
|
|
|
|
{
|
2024-12-23 16:30:28 +05:00
|
|
|
unique_ptr<Mesh> GetOpenElements( const Mesh & m, int dom = 0, bool only_quads = false );
|
2021-07-19 17:59:12 +05:00
|
|
|
|
2022-03-07 19:58:09 +05:00
|
|
|
unique_ptr<Mesh> FilterMesh( const Mesh & m, FlatArray<PointIndex> points, FlatArray<SurfaceElementIndex> sels = Array<SurfaceElementIndex>{}, FlatArray<ElementIndex> els = Array<ElementIndex>{} );
|
2021-07-19 17:59:12 +05:00
|
|
|
|
2025-02-14 21:02:40 +05:00
|
|
|
// Checks if the mesh is valid. This is called automatically on various places if debugparam.slowchecks is set
|
|
|
|
void CheckMesh( const Mesh & m, MESHING_STEP meshing_step );
|
2021-07-19 17:59:12 +05:00
|
|
|
|
2025-02-14 21:02:40 +05:00
|
|
|
// Sometimes during SwapImprove we discover topological errors in the mesh. For instance, an edge is adjacent to 8 tets around it, but
|
|
|
|
// the 8 "other" points of the tets don't form a closed path around the edge. Instead there are 2 sets of 4 points/tets each, which are not connected.
|
|
|
|
// This function checks for such errors and returns true if any are found.
|
|
|
|
void CheckElementsAroundEdges( const Mesh & m );
|
2021-07-19 17:59:12 +05:00
|
|
|
}
|