Files
Pier_v1/도면작성/geology-extension.ts
T
2026-11-04 13:34:51 +09:00

13 lines
833 B
TypeScript

import type { Rect } from './types';
/** Optional future log input. No strata, elevations or boring positions are inferred. */
export type GeologicalLog={id:string;source:string;groundEl:number|null;waterEl:number|null;layers:{name:string;topEl:number|null;bottomEl:number|null}[]};
export type GeologicalPanel={title:string;area:Rect;logs:readonly GeologicalLog[]};
export function geologicalPanel(area:Rect,logs:readonly GeologicalLog[]):GeologicalPanel|null {
if(!logs.length)return null;
for(const log of logs){
if(!log.source.trim())throw new Error('지질주상도 원본 출처가 필요합니다.');
for(const layer of log.layers)if(layer.topEl!==null&&layer.bottomEl!==null&&layer.topEl<layer.bottomEl)throw new Error('지층 상·하단 표고를 확인하세요.');
}
return {title:'지질주상도',area,logs};
}