GeOnDT GeOnDT for JS

Class: U3dUserGeometry

U3dUserGeometry

~extends U3dGeometry
사용자가 지정한 좌표들을 이어 만든 임의 다각형을, 지정한 높이만큼 세워 올린(압출한) 3D 도형 클래스입니다.
정점은 setVertex(월드 좌표) 또는 setPositions(위경도)로 지정하며, 두 개 이상 넣어야 도형이 만들어집니다. 높이가 0 이하면 평면으로, 0보다 크면 그만큼 세운 기둥으로 만들어집니다.

바닥 다각형은 정점의 x·y만 사용해 만들고 z는 쓰지 않습니다. 좌표를 넣거나 속성을 바꿀 때마다 지오메트리를 다시 만들며, 이때 외곽선도 함께 다시 만들어집니다.

new U3dUserGeometry(opt)

사용자 정의 다각형 도형을 생성합니다.
높이·색상·외곽선 등을 옵션으로 지정하며, 정점은 생성 옵션의 vertices에 넣거나 만든 뒤 setVertex·setPositions로 넣습니다. 외곽선은 옵션을 넣지 않으면 켜진 상태로 만들어집니다.

Name Type Default Description
opt U3dUserGeometry~U3dUserGeometryCO {} optional

생성 옵션 (정점·높이·색상·외곽선·곡선 등)

Members

heightnumber

바닥 다각형을 세워 올린 높이입니다. (미터)
0 이하면 세우지 않고 평면으로 만듭니다. 화면에 그릴 때는 좌표가 지정된 위도의 보정 배율이 곱해집니다. 값을 바꾼 뒤 setParam을 호출하면 지오메트리가 다시 만들어집니다.

usecurveboolean

정점 사이를 잘게 나눌지 여부입니다.
켜면 이웃한 두 정점 사이를 5조각으로 쪼개 정점 수를 늘립니다.

uselineboolean

외곽선(테두리 선)을 표시하는지 여부입니다.
켜면 면과 면이 만나는 모서리를 선으로 덧그리며, 선 색은 lineColor로 정하고 기본은 검정입니다. 생성 옵션과 setParam에서는 outline(예전 이름 useline·useLine·edge) 이름을 사용하고, getParam은 outline으로 반환합니다.

Methods

도형의 현재 속성을 반환합니다. (setParam과 짝을 이룹니다)
반환된 객체를 그대로 setParam에 넘기면 같은 형태를 재현할 수 있습니다.

Returns:
Type Description
U3dUserGeometry~U3dUserGeometryParam 높이·외곽선·분할 여부와 색상·투명도 같은 도형 공통 속성이 함께 담긴 객체. 호출할 때마다 새 객체를 만들어 돌려줍니다

setOffset(offset)boolean

도형(과 외곽선)의 위치를 지정한 좌표로 이동시킵니다.
offset에 정의된 축(x/y/z)만 적용되며, 외곽선 자식 객체도 함께 옮깁니다.

Name Type Description
offset Vector3Like

옮길 위치의 월드 좌표 (EPSG:3857). 값이 있는 축만 적용하므로 일부 축만 담아 넘길 수 있습니다

Returns:
Type Description
boolean 위치를 옮겼으면 true, offset을 넘기지 않았으면 false

setParam(param)

도형의 속성(색상·투명도·높이·외곽선·곡선 보간)을 갱신합니다.
전달한 값만 반영되고 나머지는 기존 값이 유지되며, 호출할 때마다 지오메트리와 외곽선이 다시 만들어집니다.

Name Type Description
param U3dUserGeometry~U3dUserGeometryCO optional

변경할 속성 객체. color·opacity·height·outline·usecurve와 도형 공통 속성을 읽습니다. vertices·coordinates·name처럼 좌표와 식별에 관한 값은 이 함수로 바뀌지 않습니다

updateVertex()

현재 정점(vertices)으로 도형 지오메트리를 다시 만듭니다.
정점을 바꾸면 자동으로 호출되며, 높이가 0 이하면 평면으로, 0보다 크면 세운 기둥으로 다시 만듭니다. 정점이 하나도 없으면 지오메트리를 빈 상태로 비우고, 하나뿐이면 지금 지오메트리를 그대로 둡니다.

지오메트리를 새로 만들면서 도형 위치를 형상의 중심으로 옮기고 z를 0.1만큼 올려, 바닥면이 지면과 겹쳐 깜빡이는 것을 줄입니다. 외곽선도 이때 지웠다가 useline이 켜져 있으면 다시 만듭니다.

Type Definitions

U3dUserGeometryCOobject

~extends U3dGeometry~U3dGeometryCO
U3dUserGeometry 생성자 옵션

Properties:
Name Type Argument Default Description
color ColorRepresentation <optional>
0xff0000

도형 표면 색상. 16진수 숫자(0xff0000), CSS 색 문자열('#ff0000') 또는 THREE.Color를 넣습니다

height number <optional>
100

바닥 다각형을 세워 올릴 높이 (미터). 0 이하면 세우지 않고 평면으로 만듭니다. 화면에 그릴 때는 좌표가 지정된 위도의 보정 배율이 곱해집니다

opacity number <optional>
0.7

불투명도 (0~1). 1보다 작으면 투명 처리가 켜집니다

usecurve boolean <optional>
false

정점 사이를 잘게 나눌지 여부. 각 변을 5조각으로 쪼개 정점 수를 늘립니다

name string <optional>

도형 이름. 레이어에서 도형을 찾을 때 쓰는 식별자이며, 넣지 않으면 무작위 문자열이 자동으로 만들어집니다

wireframe boolean <optional>

면을 채우지 않고 삼각형 모서리만 선으로 그릴지 여부

showLabel boolean <optional>
true

도형에 붙은 라벨을 화면에 표시할지 여부

vertices Array.<WorldPositionVector3> <optional>

바닥 다각형을 이루는 정점 배열 (월드 좌표, EPSG:3857). 두 개 이상이어야 도형이 만들어집니다

coordinates Array.<GeoPositionVector3> <optional>

바닥 다각형을 이루는 위경도 좌표 배열 (EPSG:4326). 도형이 속한 레이어가 월드 좌표로 바꿔 넣습니다

properties KeyValue <optional>

도형과 함께 보관할 사용자 정의 속성. 화면 표현에는 쓰이지 않으며 클릭한 도형의 부가 정보를 담을 때 사용합니다

U3dUserGeometryParamobject

getParam 함수가 반환하는 사용자 정의 도형 속성 객체입니다.
이 객체를 다른 사용자 도형의 setParam에 그대로 넘기면 같은 형태로 맞출 수 있습니다.

Properties:
Name Type Description
height number

바닥 다각형을 세워 올린 높이 (미터). 0 이하면 평면입니다

outline boolean

외곽선(테두리 선)을 표시하는지 여부

usecurve boolean

정점 사이를 잘게 나누는지 여부