new U3dLine(opt)
선 도형을 생성합니다.
색상(또는 좌표별 그라디언트 색상 배열)·두께·표본 간격 등을 옵션으로 지정할 수 있으며,
좌표는 생성 후 setPositions(위경도)나 setVertex(월드)로 넣으면 제어점을 이은 곡선으로 그려집니다.
| Name | Type | Default | Description |
|---|---|---|---|
opt |
U3dLineCO | {} |
optional
생성 옵션 |
Members
-
closedboolean
-
닫힘 여부 (기본값 false).
생성 옵션이나setParam으로 받은 값을 보관하며getParam으로 다시 반환됩니다. 변경은setParam으로 합니다. -
divisionsnumber
-
곡선 표본 간격 (월드 좌표 단위, 기본값 10).
제어점을 이은 곡선을 이 간격으로 나누어 그리므로, 값이 작을수록 곡선이 부드러워지고 정점 수가 늘어납니다. 변경은setParam으로 합니다. -
linewidthnumber
-
선 두께 요청값 (기본값 1).
worldUnits가 true면 미터, false면 화면 픽셀로 해석됩니다.
미터 단위일 때는 위도에 따른 좌표 보정이 곱해져 재질에 적용되므로 실제 적용된 두께는getLineWidth로 확인합니다. 직접 대입하면 재질에 반영되지 않으므로 변경은setLineWidth/setParam으로 합니다. -
worldUnitsboolean
-
선 두께의 단위 (기본값 true).
true면 두께를 미터로 해석하여 지도를 확대·축소할 때 선도 같이 굵어지고, false면 화면 픽셀로 해석하여 화면상 두께가 항상 일정합니다. 변경은setParam으로 합니다.
Methods
-
clearSurfaceDrape()void
-
drapeOnSurface로 표면에 붙인 선을 원래 좌표대로 되돌립니다.
진행 중인 드레이프 요청이 있으면 함께 취소되며, 붙인 적이 없으면 아무 일도 하지 않습니다.Returns:
Type Description void -
dispose()
-
선을 화면에서 제거하고 관련 리소스(지오메트리·재질)를 해제합니다.
진행 중인drapeOnSurface요청도 함께 중단되며, 호출한 뒤에는 같은 인스턴스를 다시 사용할 수 없습니다. -
async drapeOnSurface(options)Promise.<(U3dLineDrapeOnSurfaceResult|undefined)>
-
선을 모델·지형 표면 위에 붙입니다.
원본 좌표는 그대로 두고,divisions간격으로 만든 표본의 높이만 표면 높이 +offset으로 바꿉니다. 표면을 만나지 못한 표본은 원래 높이를 유지하며, 모든 계산이 끝난 뒤 한 번에 화면에 반영됩니다.- 원래 높이로 되돌리려면
clearSurfaceDrape를 호출합니다. - 다시 호출하면 진행 중이던 이전 호출은 취소되고 마지막 호출 결과만 반영됩니다.
- 색상·두께·투명도를 바꿔도 붙인 상태가 유지되지만, 좌표나
divisions·closed를 바꾸면 해제됩니다. - 실행 도중 지형이나 모델이 바뀌면(LOD 변경 등) 최신 표면에 맞추기 위해 다시 호출해야 합니다.
- 화면에서 형태가 변형되는 모델(스키닝·모프·batch)은 계산 대상에서 제외됩니다.
화면이 멈추지 않도록 계산을 나눠 실행하므로 완료까지 여러 프레임이 걸릴 수 있습니다.
Name Type Description optionsU3dLineDrapeOnSurfaceOptions 드레이프 옵션
Returns:
Type Description Promise.<(U3dLineDrapeOnSurfaceResult|undefined)> 성공하면 표본·교차·미교차 개수. 잘못된 입력이나 실행 오류이면 undefined (취소되거나 다음 호출로 대체된 경우에도 오류 없이 undefined) Example
const result = await line.drapeOnSurface({ app, offset: 3, divisions: 5 }); - 원래 높이로 되돌리려면
-
getLineWidth()number
-
선의 현재 두께를 반환합니다.
재질에 실제로 적용된 값이므로,worldUnits가 true면 위도 보정이 곱해져 요청값(linewidth)과 다를 수 있습니다.Returns:
Type Description number 재질에 적용된 선 두께. 단위는 worldUnits에 따라 미터 또는 화면 픽셀 -
getOpacity()number|undefined
-
선의 현재 투명도를 반환합니다. (0이면 완전 투명, 1이면 불투명)
Returns:
Type Description number | undefined 투명도 (0~1). 재질에 설정된 값이 없으면 undefined -
getParam()U3dLineParam
-
선의 현재 속성을 반환합니다. (
setParam과 짝을 이룹니다)
반환된 객체를 그대로setParam에 넘기면 같은 형태를 재현할 수 있습니다.Returns:
Type Description U3dLineParam 두께·분할·닫힘·단위 등 현재 속성 객체 -
setColor(color)
-
선의 색상을 설정합니다.
단일 색상을 주면 선 전체가 그 색으로, 색상 배열을 주면 좌표를 따라 색이 변하는 그라디언트로 표현됩니다.
배열로 전달할 때는 배열 길이가 현재 꼭짓점(vertex) 수와 같아야 하며, 길이가 다르면 색상이 적용되지 않습니다.Name Type Description colorColorRepresentation | Array.<ColorRepresentation> 색상 또는 색상 배열
-
setLineWidth(width)
-
선의 두께를 설정합니다. 재질에 즉시 반영됩니다.
worldUnits가 true면 미터 단위로 해석해 위도 보정을 곱해 적용하고, false면 화면 픽셀 단위로 그대로 적용합니다.Name Type Description widthnumber 새로 설정할 두께.
worldUnits가 true면 미터, false면 화면 픽셀 -
setOpacity(value)
-
선의 투명도를 설정합니다. (0이면 완전 투명, 1이면 불투명)
재질에 즉시 반영됩니다.Name Type Description valuenumber 투명도 (0~1)
-
setParam(param)
-
선의 속성(색상·두께·투명도·분할·닫힘 여부 등)을 한 번에 변경합니다.
전달한 값만 반영되고 나머지는 기존 값이 유지되며, 형태 관련 값을 바꾸면 선이 즉시 다시 생성됩니다.Name Type Description paramU3dLineCO optional 변경할 속성 객체 (색상·두께·투명도·분할·닫힘·단위)
Type Definitions
-
U3dLineCOobject
-
~extends U3dGeometry~U3dGeometryCO
U3dLine 생성자 옵션Properties:
Name Type Argument Default Description namestring <optional>
선 이름
colorColorRepresentation | Array.<ColorRepresentation> <optional>
0xff0000 선 단일 색상 또는 그라디언트용 색상 배열.
배열로 전달 시 길이가 vertices 수와 일치해야 하며, 꼭짓점마다 색상이 보간되어 그라디언트로 표시됩니다.opacitynumber <optional>
선 투명도
lineWidthnumber <optional>
1 선 두께
divisionsnumber <optional>
10 곡선 표본 간격을 계산할 때 사용하는 월드 좌표 단위 값
closedboolean <optional>
false 닫힘 여부. false면 파이프 처럼 끝이 열려있는 형태가 됨
wireframeboolean <optional>
와이어프레임 사용 여부
showLabelboolean <optional>
라벨 가시화 여부
verticesArray.<Vector3> <optional>
선 정점 배열 (형상 정보)
coordinatesArray.<Vector3> <optional>
선 위치 배열
propertiesKeyValue <optional>
선 속성 정보
-
U3dLineDrapeOnSurfaceOptionsobject
-
선을 모델·지형 표면에 드레이프할 때 사용하는 옵션입니다.
Properties:
Name Type Argument Default Description appU3dApp 드레이프 대상 모델·지형 레이어를 조회할 앱
offsetnumber <optional>
0 교차 표면보다 높이거나 낮출 월드 Z 오프셋
divisionsnumber <optional>
곡선을 등간격으로 표본화할 때 사용할 월드 좌표 단위의 최대 간격. 생략하면 선의 divisions를 사용합니다
signalAbortSignal <optional>
실행을 취소할 신호
-
U3dLineDrapeOnSurfaceResultobject
-
표면 드레이프 실행 결과입니다.
Properties:
Name Type Description sampleCountnumber 생성한 곡선 표본 수
hitCountnumber 모델·지형 표면과 교차하여 높이를 갱신한 표본 수
missCountnumber 표면과 교차하지 않아 원래 곡선 높이를 유지한 표본 수
-
U3dLineParamobject
-
getParam함수가 반환하는 라인(Line) 속성 객체Properties:
Name Type Description linewidthnumber 선 두께
divisionsnumber 곡선 표본 간격을 계산할 때 사용하는 월드 좌표 단위 값
closedboolean 시작점과 끝점 연결 여부
worldUnitsboolean 선 두께를 월드 단위(m)로 계산할지 여부