1 parent
4b51ef186f
commit
61ef001034
5 files changed
+3
-68
No files matched your search
@@ -89,13 +89,8 @@ describe('교대 3D: 받침블럭과 접속슬래브 (spec §4.2, §4.8)', () =>
|
||||
for (const w of (named('wall') as THREE.Group).children) expect(new THREE.Box3().setFromObject(w).min.z).toBeGreaterThanOrEqual(members.shape.wallBackM - 1e-6);
|
||||
});
|
||||
|
||||
it('the upper 헌치 and the 접속슬래브 stay on the 브라켓 상면 over the back strip, not in it', () => {
|
||||
it('the 접속슬래브 stays on the 브라켓 상면 over the back strip, not in it', () => {
|
||||
const backTop = (s: number) => members.parapetTopStartEl + ((members.parapetTopEndEl - members.parapetTopStartEl) * s) / model.length - members.shape.bracketHeightM;
|
||||
for (const h of (named('haunches') as THREE.Group).children) {
|
||||
const b = new THREE.Box3().setFromObject(h);
|
||||
if (b.max.z < members.shape.parapetBackM + 1e-6) continue; // lower 헌치, behind the 벽체
|
||||
expect(b.min.y).toBeGreaterThanOrEqual(Math.max(backTop(b.min.x), backTop(b.max.x)) - 1e-6);
|
||||
}
|
||||
const pos = ((named('slab') as THREE.Group).children[0] as THREE.Mesh).geometry.getAttribute('position');
|
||||
for (let i = 0; i < pos.count; i++) {
|
||||
if (pos.getZ(i) >= members.shape.wallBackM) expect(pos.getY(i)).toBeGreaterThanOrEqual(backTop(pos.getX(i)) - 1e-6);
|
||||
|
||||
Reference in new issue
Block a user