()
| 3860 | if (userMaskArr[t * 3] < 0.5) { faceMaskBool[t] = 0; continue; } |
| 3861 | let angleMask = 1.0; |
| 3862 | if (faceNrmAttr) { |
| 3863 | const fnx = faceNrmAttr.getX(t * 3); |
| 3864 | const fny = faceNrmAttr.getY(t * 3); |
| 3865 | const fnz = faceNrmAttr.getZ(t * 3); |
| 3866 | const len = Math.sqrt(fnx * fnx + fny * fny + fnz * fnz); |
| 3867 | const nz = len > 1e-6 ? fnz / len : 0; |
| 3868 | const surfAngle = Math.acos(Math.min(1, Math.abs(nz))) * (180 / Math.PI); |
| 3869 | if (nz < 0 && settings.bottomAngleLimit >= 1) |
| 3870 | angleMask = surfAngle > settings.bottomAngleLimit ? 1.0 : 0.0; |
| 3871 | if (nz >= 0 && settings.topAngleLimit >= 1) |
| 3872 | angleMask = Math.min(angleMask, surfAngle > settings.topAngleLimit ? 1.0 : 0.0); |
| 3873 | } |
| 3874 | faceMaskBool[t] = angleMask > 0.5 ? 1 : 0; |
no outgoing calls
no test coverage detected