fix(B04): 3D 카메라 맞춤에 계획노선을 포함한다
계획노선은 최고 표고 평면에 있어 지형 상자 위로 걸친다. 지형만 보고 카메라를 맞추면 노선이 프레임 밖으로 밀려 보이지 않는다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -417,10 +417,15 @@ export function createSurfaceTerrainViewer(): SurfaceTerrainViewer {
|
||||
routeGroup.add(
|
||||
new THREE.Line(new THREE.BufferGeometry().setFromPoints(vertices), material),
|
||||
);
|
||||
// 노선은 지형 로딩과 따로 도착한다. 지형이 이미 떠 있으면 노선까지 담도록 다시 맞춘다.
|
||||
if (terrainMesh) fitCamera(terrainMesh);
|
||||
}
|
||||
|
||||
const getFitParams = (object: THREE.Object3D) => {
|
||||
const box = new THREE.Box3().setFromObject(object);
|
||||
// 계획노선은 최고 표고 평면에 있어 지형 상자 위·밖으로 걸친다. 지형만 보고 맞추면
|
||||
// 노선이 화면 밖으로 밀려 보이지 않는다 — 프레임에 같이 넣는다.
|
||||
if (routeGroup.children.length > 0) box.expandByObject(routeGroup);
|
||||
const center = box.getCenter(new THREE.Vector3());
|
||||
const size = box.getSize(new THREE.Vector3());
|
||||
const span = Math.max(size.x, size.y, size.z, 1);
|
||||
|
||||
Reference in New Issue
Block a user