three-bvh-csg
Version:
A fast, flexible, dynamic CSG implementation on top of three-mesh-bvh
17 lines (10 loc) • 325 B
JavaScript
import { HalfEdgeMap } from '../core/HalfEdgeMap.js';
export function isWaterTight( geometry ) {
if ( geometry.isMesh ) {
geometry = geometry.geometry;
}
const halfEdgeMap = new HalfEdgeMap();
halfEdgeMap.matchDisjointEdges = true;
halfEdgeMap.updateFrom( geometry );
return halfEdgeMap.unmatchedEdges === 0;
}