feat(514-3 B07 유역도 등고선 가볍게): 유역도 등고선 · 계류 = 폴리선 하나 + 꼭짓점 목록(자식 Line · 선분마다 UUID 없음) — 요구 328-4
- 엔진: Engine_Cad_Basin 배경선만 꼭짓점 목록 폴리선(id 는 옛 폴리선과 같음) · 노선 · 유역 · 표 · 도각은 옛 꼴 그대로 · B05 · B06 길 손대지 않음 - CAD 앱: PolyLineEntity.fromJson 이 자식 없고 꼭짓점 목록이면 선분으로 펼침(색 · 굵기 · 층 = 부모) · 다시 내보내면 옛 꼴 - DXF 내보내기 · B09 도면 인쇄 PDF: 꼭짓점 목록 폴리선 = 열린 선(해치만 닫음) - 검증_sub2 유역도 5 m 23.17 → 3.22 MB · 10 m 11.91 → 1.77 MB · 좌표 · id · 색 해시 전후 같음 · B05 · B06 등고선 · 배수 응답 해시 같음 - 시험: test_514_3_b07_basin_light 새로 · vitest cad/polyline-points-514-3 새로 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import type * as Flatten from '@flatten-js/core';
|
||||
import { Box, type Point, type Segment } from '@flatten-js/core';
|
||||
import { Box, Point, type Segment } from '@flatten-js/core';
|
||||
import { mapLimit } from 'blend-promise-utils';
|
||||
import { compact, maxBy } from 'es-toolkit';
|
||||
import { minBy } from 'es-toolkit/compat';
|
||||
@@ -181,10 +181,20 @@ export class PolyLineEntity implements Entity {
|
||||
}
|
||||
);
|
||||
|
||||
const polyLineEntity = new PolyLineEntity(
|
||||
jsonEntity.layerId || getActiveLayerId(),
|
||||
compact(entities)
|
||||
);
|
||||
const layerId = jsonEntity.layerId || getActiveLayerId();
|
||||
// 514-3 가벼운 꼴 — 자식 대신 꼭짓점 목록(B07 유역도 배경선) · 선분으로 펼침
|
||||
const points = jsonEntity.children?.length ? [] : (jsonEntity.shapeData?.points ?? []);
|
||||
for (let index = 1; index < points.length; index++) {
|
||||
const start = points[index - 1];
|
||||
const end = points[index];
|
||||
const line = new LineEntity(layerId, new Point(start.x, start.y), new Point(end.x, end.y));
|
||||
line.lineColor = jsonEntity.lineColor;
|
||||
line.lineWidth = jsonEntity.lineWidth;
|
||||
line.lineDash = jsonEntity.lineDash;
|
||||
entities.push(line);
|
||||
}
|
||||
|
||||
const polyLineEntity = new PolyLineEntity(layerId, compact(entities));
|
||||
polyLineEntity.id = jsonEntity.id;
|
||||
polyLineEntity.lineColor = jsonEntity.lineColor;
|
||||
polyLineEntity.lineWidth = jsonEntity.lineWidth;
|
||||
@@ -193,4 +203,4 @@ export class PolyLineEntity implements Entity {
|
||||
}
|
||||
}
|
||||
|
||||
export type PolyLineJsonData = Record<never, never>;
|
||||
export type PolyLineJsonData = { points?: { x: number; y: number }[] };
|
||||
|
||||
Reference in New Issue
Block a user