new U3dCylinder(opt)
생성 옵션으로 원기둥(Cylinder)을 생성합니다.
윗면/밑면 반지름과 높이로 원기둥을 만들고, 재질 타입(basic 단색 / topimage 윗면 이미지 / standard 표준 재질), 외곽선(edge) 등을 함께 지정할 수 있습니다.
재질 타입과 윗면 이미지는 이 시점에만 반영되며 이후 setParam으로는 바꿀 수 없습니다.
| Name | Type | Default | Description |
|---|---|---|---|
opt |
U3dCylinderCO | {} |
optional
원기둥(Cylinder) 생성 옵션 (반지름·높이·재질 타입·외곽선 등) |
Members
-
edgeboolean
-
외곽선(테두리 선)을 표시하는지 여부입니다.
켜면 면과 면이 만나는 모서리를 선으로 덧그려 형태를 또렷하게 보여줍니다. 선 색은lineColor로 정하며 기본은 검정입니다. 표시 여부는setParam({outline: ...})으로 바꾸며, 이때 외곽선이 다시 만들어집니다. -
heightnumber
-
축 방향 길이입니다. (미터)
축을 지도의 높이 방향으로 세우면 이 값이 눈에 보이는 높이가 됩니다. -
radialSegmentsnumber
-
원둘레를 나누는 면의 수입니다.
클수록 단면이 원에 가까워지고 정점 수가 늘어납니다. -
radiusBottomnumber
-
밑면 원의 반지름입니다. (미터)
윗면과 값이 다르면 원뿔대가 되고, 한쪽이 0이면 원뿔이 됩니다. -
radiusTopnumber
-
윗면 원의 반지름입니다. (미터)
위경도 좌표를 지정한 원기둥은 화면에 그릴 때 그 위도의 보정 배율이 곱해집니다.
Methods
-
getParam()U3dCylinderParam
-
원기둥(Cylinder)의 현재 속성을 반환합니다. (
setParam과 짝을 이룹니다)
원기둥 고유 속성과 함께 색상·투명도 같은 도형 공통 속성도 담기므로, 반환값을 다른 원기둥의setParam에 그대로 넘기면 같은 형태로 맞출 수 있습니다. 호출할 때마다 새 객체를 만들어 돌려주며, 이 객체를 고쳐도 원기둥은 바뀌지 않습니다.생성 옵션이나
setParam에서 한 번도 지정하지 않은 값은undefined로 담깁니다. 이때 화면에는 three.js 기본값(heightSegments1,openEndedfalse,thetaStart0,thetaLength2π)으로 그려집니다.Returns:
Type Description U3dCylinderParam 반지름·높이·세그먼트·외곽선 등 현재 속성 객체 -
setParam(param)
-
원기둥(Cylinder)의 속성(색상·투명도·반지름·높이·세그먼트 등)을 한 번에 변경합니다.
전달한 값만 반영되고 나머지는 기존 값이 유지되며, 호출할 때마다 지오메트리와 외곽선이 다시 만들어집니다.생성 옵션 중
type,topimageurl처럼 재질을 정하는 값은 이 함수로 바뀌지 않습니다. 재질을 바꾸려면 원기둥을 새로 만듭니다. 지오메트리가 새로 만들어지므로setRotate*FromGeometry·setTranslateFromGeometry로 준 회전과 이동도 함께 사라집니다. 필요하면 호출 뒤에 다시 적용합니다.Name Type Description paramU3dCylinderCO optional 변경할 속성 객체 (색상·투명도·반지름·높이·세그먼트·각도·외곽선)
-
setRotateXFromGeometry(x)
-
원기둥의 지오메트리 자체를 X축 기준으로 회전시킵니다.
축이 Y 방향으로 만들어지므로, 지면에 세울 때Math.PI / 2를 넣어 축을 지도의 높이 방향(Z)으로 눕힙니다. 도형 객체를 돌리는setRotation과 달리 정점 좌표를 직접 바꾸므로, 이후 회전·크기 조절의 기준 방향도 함께 바뀝니다.호출할 때마다 현재 지오메트리에 회전이 누적됩니다.
setParam이나 좌표 지정으로 지오메트리가 다시 만들어지면 여기서 준 회전은 사라지므로 다시 호출합니다.Name Type Description xnumber X축 기준 회전 각도 (라디안).
Math.PI / 2가 90도입니다 -
setRotateYFromGeometry(y)
-
원기둥의 지오메트리 자체를 Y축 기준으로 회전시킵니다.
축이 Y 방향이므로 원기둥이 자기 축을 중심으로 돕니다.thetaLength로 잘라낸 단면이나topimage이미지가 향하는 방향을 돌릴 때 사용합니다.호출할 때마다 현재 지오메트리에 회전이 누적됩니다.
setParam이나 좌표 지정으로 지오메트리가 다시 만들어지면 여기서 준 회전은 사라지므로 다시 호출합니다.Name Type Description ynumber Y축 기준 회전 각도 (라디안).
Math.PI / 2가 90도입니다 -
setRotateZFromGeometry(z)
-
원기둥의 지오메트리 자체를 Z축 기준으로 회전시킵니다.
축이 Y 방향이므로Math.PI / 2를 넣으면 축이 X 방향으로 눕습니다. 원기둥을 옆으로 뉘어 배치할 때 사용합니다.호출할 때마다 현재 지오메트리에 회전이 누적됩니다.
setParam이나 좌표 지정으로 지오메트리가 다시 만들어지면 여기서 준 회전은 사라지므로 다시 호출합니다.Name Type Description znumber Z축 기준 회전 각도 (라디안).
Math.PI / 2가 90도입니다 -
setTranslateFromGeometry(x, y, z)
-
원기둥의 지오메트리 자체를 지정한 만큼 평행 이동시킵니다.
도형이 놓인 좌표는 그대로 두고 정점만 옮기므로, 원기둥의 중심이 좌표에 오는 기본 배치를 밑면 기준으로 바꾸는 것처럼 기준점을 옮길 때 사용합니다.이동량은 지오메트리의 로컬 좌표 단위입니다. 위경도 좌표를 지정한 원기둥은 반지름·높이에 위도 보정 배율이 곱해져 있으므로, 크기에 맞춰 옮기려면 같은 배율을 반영한 값을 넣습니다.
호출할 때마다 현재 지오메트리에 이동이 누적됩니다.
setParam이나 좌표 지정으로 지오메트리가 다시 만들어지면 여기서 준 이동은 사라지므로 다시 호출합니다.Name Type Description xnumber 지오메트리 로컬 X축 이동량
ynumber 지오메트리 로컬 Y축 이동량. 회전하기 전에는 이 축이 원기둥의 축 방향입니다
znumber 지오메트리 로컬 Z축 이동량
Type Definitions
-
U3dCylinderCOobject
-
~extends U3dGeometry~U3dGeometryCO
U3dCylinder 생성자 옵션Properties:
Name Type Argument Default Description namestring <optional>
도형 이름. 레이어에서 도형을 찾을 때 쓰는 식별자이며, 넣지 않으면 무작위 문자열이 자동으로 만들어집니다
colorColorRepresentation <optional>
'#ff0000' 원기둥 표면 색상. 16진수 숫자(
0xff0000), CSS 색 문자열('#ff0000') 또는THREE.Color를 넣습니다opacitynumber <optional>
0.7 불투명도 (0~1). 1보다 작으면 투명 처리가 켜지며, 넣지 않으면 0.7이라 기본 원기둥은 반투명하게 그려집니다. 생성 시에 넣은 0은 반영되지 않으므로, 완전히 감추려면 만든 뒤
setParam({opacity: 0})으로 지정합니다radiusTopnumber <optional>
5 윗면 원의 반지름 (미터). 위경도 좌표를 지정한 원기둥은 화면에 그릴 때 그 위도의 보정 배율이 곱해집니다
radiusBottomnumber <optional>
5 밑면 원의 반지름 (미터). 윗면과 다르게 넣으면 원뿔대가 되고, 한쪽에 0을 넣으면 원뿔이 됩니다
heightnumber <optional>
20 축 방향 길이 (미터). 축은 Y 방향으로 만들어지므로 지도 위에 세우려면
setRotateXFromGeometry로 눕혀진 방향을 바로잡습니다radialSegmentsnumber <optional>
32 원둘레를 나누는 면의 수. 클수록 단면이 원에 가까워지고 정점 수가 늘어납니다
heightSegmentsnumber <optional>
축 방향으로 나누는 단의 수. 넣지 않으면 1이며, 표면을 따로 변형하지 않는 한 늘려도 겉모습은 같습니다
openEndedboolean <optional>
윗면과 밑면의 뚜껑을 없앨지 여부.
true면 옆면만 남아 속이 비어 보이고, 넣지 않으면 양쪽 모두 막힙니다thetaStartnumber <optional>
단면 원을 그리기 시작하는 각도 (라디안, 0~2π). 잘려 나간 쪽이 어느 방향을 보게 할지 정합니다.
thetaLength가 한 바퀴보다 작을 때만 효과가 있고, 꽉 찬 원기둥에서는 어떤 값을 넣어도 모양이 같습니다. 넣지 않으면 0thetaLengthnumber <optional>
단면 원을 그릴 각도 범위 (라디안, 0~2π). 넣지 않으면 한 바퀴(2π)라 꽉 찬 원기둥이 됩니다. π(3.1416)면 반원기둥, π/2(1.5708)면 1/4쪽만 그려집니다
type'basic' | 'topimage' | 'standard' <optional>
'basic' 재질 타입.
basic은 단색,topimage는 윗면에 이미지를 입힌 재질,standard는 조명을 받는 표준 재질입니다. 생성 시에만 적용되며setParam으로는 바꿀 수 없습니다topimageurlstring <optional>
윗면에 입힐 이미지 URL.
type이topimage일 때만 사용하며, 생성 시에만 적용됩니다wireframeboolean <optional>
false 면을 채우지 않고 삼각형 모서리만 선으로 그릴지 여부. 형태와 분할 상태를 확인할 때 사용합니다
showLabelboolean <optional>
true 도형에 붙은 라벨을 화면에 표시할지 여부
verticesArray.<WorldPositionVector3> <optional>
원기둥을 놓을 월드 좌표 배열 (EPSG:3857). 첫 번째 좌표에 원기둥의 중심이 놓입니다
coordinatesArray.<GeoPositionVector3> <optional>
원기둥을 놓을 위경도 좌표 배열 (EPSG:4326). 첫 번째 좌표의 위도로 크기 보정 배율을 계산합니다
propertiesKeyValue <optional>
도형과 함께 보관할 사용자 정의 속성. 화면 표현에는 쓰이지 않으며 클릭한 도형의 부가 정보를 담을 때 사용합니다
-
U3dCylinderParamobject
-
getParam함수가 반환하는 원기둥(Cylinder) 속성 객체입니다.
이 객체를 다른 원기둥의setParam에 그대로 넘기면 같은 형태로 맞출 수 있습니다.Properties:
Name Type Description radiusTopnumber 윗면 원의 반지름 (미터)
radiusBottomnumber 밑면 원의 반지름 (미터)
heightnumber 축 방향 길이 (미터)
radialSegmentsnumber 원둘레를 나누는 면의 수
heightSegmentsnumber | undefined 축 방향으로 나누는 단의 수. 지정한 적이 없으면
undefined이며 이때는 1로 그려집니다openEndedboolean | undefined 윗면과 밑면의 뚜껑을 없앴는지 여부. 지정한 적이 없으면
undefined이며 이때는 양쪽 모두 막힙니다thetaStartnumber | undefined 단면 원을 그리기 시작한 각도 (라디안). 지정한 적이 없으면
undefined이며 이때는 0으로 그려집니다thetaLengthnumber | undefined 단면 원을 그린 각도 범위 (라디안). 지정한 적이 없으면
undefined이며 이때는 한 바퀴(2π)로 그려집니다outlineboolean 외곽선(테두리 선)을 표시하는지 여부