AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
MeshTester.hpp File Reference

Defines functions to test Quest meshes for common defects. More...

#include "axom/config.hpp"
#include "axom/core.hpp"
#include "axom/primal.hpp"
#include "axom/spin.hpp"
#include "axom/mint.hpp"
#include <cmath>
#include <algorithm>
#include <vector>
#include <unordered_map>
#include <functional>
#include <utility>
#include "axom/quest/detail/MeshTester_detail.hpp"

Namespaces

 axom
 
 axom::quest
 

Enumerations

enum class  axom::quest::WatertightStatus : signed char { axom::quest::WATERTIGHT = 0 , axom::quest::NOT_WATERTIGHT , axom::quest::CHECK_FAILED }
 

Functions

Mesh test and repair
template<typename ExecSpace , typename FloatType >
void axom::quest::findTriMeshIntersectionsBVH (mint::UnstructuredMesh< mint::SINGLE_SHAPE > *surface_mesh, std::vector< std::pair< int, int >> &intersections, std::vector< int > &degenerateIndices, double intersectionThreshold=1E-8)
 Find self-intersections and degenerate triangles in a surface mesh utilizing a Bounding Volume Hierarchy. More...
 
template<typename ExecSpace , typename FloatType >
void axom::quest::findTriMeshIntersectionsImplicitGrid (mint::UnstructuredMesh< mint::SINGLE_SHAPE > *surface_mesh, std::vector< std::pair< int, int >> &intersections, std::vector< int > &degenerateIndices, int spatialIndexResolution=0, double intersectionThreshold=1E-8)
 Find self-intersections and degenerate triangles in a surface mesh utilizing an implicit grid spatial index. More...
 
template<typename ExecSpace , typename FloatType >
void axom::quest::findTriMeshIntersectionsUniformGrid (mint::UnstructuredMesh< mint::SINGLE_SHAPE > *surface_mesh, std::vector< std::pair< int, int >> &intersections, std::vector< int > &degenerateIndices, int spatialIndexResolution=0, double intersectionThreshold=1E-8)
 Find self-intersections and degenerate triangles in a surface mesh utilizing an uniform grid spatial index. More...
 
void axom::quest::findTriMeshIntersections (mint::UnstructuredMesh< mint::SINGLE_SHAPE > *surface_mesh, std::vector< std::pair< int, int >> &intersections, std::vector< int > &degenerateIndices, int spatialIndexResolution=0, double intersectionThreshold=1E-8)
 Find self-intersections and degenerate triangles in a surface mesh utilizing a Uniform Grid. More...
 
WatertightStatus axom::quest::isSurfaceMeshWatertight (mint::UnstructuredMesh< mint::SINGLE_SHAPE > *surface_mesh)
 Check a surface mesh for holes using its face relation. More...
 
void axom::quest::weldTriMeshVertices (mint::UnstructuredMesh< mint::SINGLE_SHAPE > **surface_mesh, double eps)
 Mesh repair function to weld vertices that are closer than eps. More...
 

Detailed Description

Defines functions to test Quest meshes for common defects.