UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

43 lines (39 loc) 1.08 kB
import {TetGeometry} from '../TetGeometry'; interface TetSharedFace { faceIndex0: number; faceIndex1: number; } export function tetsSharedFace(tetGeometry: TetGeometry, tetId0: number, tetId1: number): TetSharedFace | undefined { const tet0 = tetGeometry.tetrahedrons.get(tetId0); const tet1 = tetGeometry.tetrahedrons.get(tetId1); if (!tet0 || !tet1) { return; } for (const neighbourData of tet0.neighbours) { if (neighbourData) { if (neighbourData.id == tetId1) { const faceIndex0 = neighbourData.faceIndex; const tet1NeighbourData = tet1.neighbours[faceIndex0]; if (tet1NeighbourData) { const faceIndex1 = tet1NeighbourData.faceIndex; return {faceIndex0, faceIndex1}; } } } } return; } export function tetsShareFace(tetGeometry: TetGeometry, tetId0: number, tetId1: number): boolean { const tet0 = tetGeometry.tetrahedrons.get(tetId0); if (!tet0) { return false; } for (const neighbourData of tet0.neighbours) { if (neighbourData) { if (neighbourData.id == tetId1) { return true; } } } return false; }