GeOnDT GeOnDT for JS

Class: U3dAdaptedGeometry

U3dAdaptedGeometry

~extends U3dSphere
객체 간 연결(어댑터) 기능을 제공하는 구체(Sphere) 기반 객체입니다.
인지 범위(구체 반지름 × buffer) 안에 들어온 다른 객체를 감지하고, 대상까지 연결선을 그리거나 인지 범위를 강조 표시할 수 있습니다.

new U3dAdaptedGeometry(opt)

U3dAdaptedGeometry 객체 클래스

어댑터 도형을 생성합니다.
인지 범위 배율(buffer), 연결선 색상·굵기(lineColor/lineThick), 범위 강조 색상(boundColor) 등을 옵션으로 지정할 수 있습니다.

Name Type Description
opt U3dAdaptedGeometryCO

생성 옵션 (인지 범위·연결선·범위 색상 등)

Members

이 어댑터가 발생시키는 이벤트의 이름 모음입니다.
도형 공통 이벤트에 어댑터 전용 이벤트(CREATE·CHANGE·ACTIVE·DEACTIVE·DISPOSE·BEFORE_DISPOSE)를 더한 것입니다.

buffer

인지 범위를 정하는 배율입니다.
실제 인지 반경은 구체 반지름(radius)에 이 값을 곱한 크기이며, 생성 옵션 buffer로 지정합니다.

staticU3dAdaptedGeometry.U3dAdaptedGeometryObject3D

Methods

dispose()

어댑터와 관련 리소스(헬퍼·연결선·바인딩 등)를 해제합니다.

getAvailable()boolean

어댑터의 사용(활성) 여부를 반환합니다.

Returns:
Type Description
boolean 켜져 있으면 true

getName()string

어댑터의 이름을 반환합니다.

Returns:
Type Description
string 어댑터 이름. 생성 시 지정하지 않았으면 빈 문자열

어댑터의 현재 생성 파라미터(이름·좌표·크기·스타일·계층 등)를 반환합니다.
이 값을 저장해 두면 나중에 동일한 어댑터를 다시 생성할 수 있습니다.

Returns:
Type Description
U3dAdaptedGeometryParam 이름·좌표·회전·크기·계층·스타일을 담은 객체. 호출할 때마다 새 객체를 만들어 돌려줍니다

getPosition()WorldPositionVector3

어댑터의 월드 좌표를 반환합니다. getWorldPos를 그대로 호출하므로 결과가 같습니다.

Returns:
Type Description
WorldPositionVector3 월드 좌표 (EPSG:3857)

getWorldBoundingSphere(ensureWorld)Sphere|undefined

어댑터의 인지 범위를 나타내는 경계 구(boundingSphere)를 반환합니다.
반환 구의 반경은 반지름 × buffer이며, 감지(intersect) 검사에 이 범위가 사용됩니다.

Name Type Default Description
ensureWorld boolean false optional

true면 반환 전에 월드 행렬을 강제로 갱신합니다

Returns:
Type Description
Sphere | undefined 중심이 어댑터 월드 좌표이고 반경이 radius × buffer인 구. 계산할 수 없으면 undefined

getWorldPos()WorldPositionVector3

어댑터의 현재 월드 좌표를 반환합니다. (부모 변환까지 반영한 matrixWorld 기준)

Returns:
Type Description
WorldPositionVector3 월드 좌표 (EPSG:3857). 호출할 때마다 새 벡터를 만들어 돌려줍니다

hide()

어댑터(구체)를 화면에서 숨깁니다.

hideBounds()

화면에 표시했던 어댑터 인지 범위 구체를 숨깁니다.

hideLine()

화면에 그려진 어댑터 연결선을 숨깁니다.

intersectBox(box)U3dAdaptedIntersectResult|undefined

주어진 경계 박스가 어댑터의 인지 범위와 겹치는지 검사합니다.

Name Type Description
box Box3

인지 범위와 겹치는지 검사할 경계 상자 (월드 좌표, EPSG:3857)

Returns:
Type Description
U3dAdaptedIntersectResult | undefined 겹치면 {distance, object}, 아니면 undefined

intersectObject(object)U3dAdaptedIntersectResult|undefined

대상 객체(들)의 경계 박스가 어댑터의 인지 범위와 겹치는지 검사합니다.

Name Type Description
object Object3D | Array.<Object3D>

인지 범위와 겹치는지 검사할 대상 객체 또는 그 배열

Returns:
Type Description
U3dAdaptedIntersectResult | undefined 겹치면 {distance, object}, 아니면 undefined

intersectPosition(position)U3dAdaptedIntersectResult|undefined

주어진 월드 좌표가 어댑터의 인지 범위 안에 들어오는지 검사합니다.

Name Type Description
position WorldPosition

월드 좌표 (EPSG:3857)

Returns:
Type Description
U3dAdaptedIntersectResult | undefined 범위 안이면 {distance, object}, 아니면 undefined

setAvailable(available)

어댑터의 사용(활성) 여부를 설정합니다.
false로 두면 이 어댑터의 모든 감지(intersect) 검사가 비활성화되고, 활성/비활성 이벤트가 발생합니다.

Name Type Description
available boolean

true면 어댑터를 켜고 false면 끕니다. 꺼두면 감지 검사에서 제외됩니다

setBoundColor(boundColor)

어댑터 인지 범위를 강조 표시할 때 쓰는 색상을 설정합니다.

Name Type Description
boundColor ColorRepresentation

인지 범위를 그릴 때 쓰는 색상. 16진수 숫자, CSS 색 문자열 또는 THREE.Color를 넣습니다

setLineColor(lineColor)

어댑터가 대상까지 그리는 연결선의 색상을 설정합니다.
연결선은 showLine으로 만들어지며, 아직 없으면 색을 바꾸지 않습니다.

Name Type Description
lineColor ColorRepresentation

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

setLineThick(lineThick)

어댑터 연결선의 굵기를 설정합니다.
값을 저장해 두었다가, 연결선을 그릴 때 이 굵기가 적용됩니다.

Name Type Description
lineThick number

연결선 굵기. 연결선이 아직 없으면 값을 바꾸지 않습니다

setRotation(xDeg, yDeg, zDeg)

어댑터의 회전을 도(degree) 단위로 설정합니다.
세 축 값을 모두 숫자로 넘겨야 하며, 내부에서 라디안으로 바꿔 적용합니다. 부모 U3dGeometry.setRotation은 라디안 값을 담은 객체 하나를 받으므로 인자 형태가 다릅니다.

Name Type Description
xDeg Euler | number

x축 회전 각도 (도). 세 인자 중 하나라도 숫자가 아니면 아무것도 바꾸지 않습니다

yDeg number optional

y축 회전 각도 (도)

zDeg number optional

z축 회전 각도 (도)

setScale(x, y, z)

어댑터의 각 축별 스케일(크기 배율)을 설정합니다.

Name Type Description
x number

x축 크기 배율. 1이면 원래 크기입니다. 세 인자 중 하나라도 숫자가 아니면 아무것도 바꾸지 않습니다

y number

y축 크기 배율

z number

z축 크기 배율

setStyle(style)

어댑터의 스타일(색상·투명도·연결선/범위 색상 등)을 한 번에 설정합니다.
객체 또는 JSON 문자열을 받으며, 전달하신 값만 반영됩니다.

Name Type Description
style U3dGeometryStyleParam | U3dAdaptedStyleParam | string

스타일 옵션 (객체 또는 JSON 문자열)

setWorldPosition(pos)

어댑터의 3D 월드 위치를 설정합니다.

Name Type Description
pos WorldPosition

옮길 월드 좌표 (EPSG:3857). x·y·z가 모두 숫자일 때만 적용합니다

show()

어댑터(구체)를 화면에 표시합니다.

showBounds()

어댑터의 인지 범위를 반투명 구체로 화면에 표시합니다.

showLine(object)

어댑터에서 대상 객체까지 연결선을 그려 화면에 표시합니다.
대상의 경계 박스 중심까지 원기둥 형태의 선을 그리며, 굵기는 setLineThick 값(없으면 반지름 기준 기본값)을 따릅니다.

Name Type Description
object Object3D

연결선을 이을 대상 객체. 어댑터에서 이 객체까지 선을 그립니다

Type Definitions

U3dAdaptedGeometryCOobject

~extends U3dSphere~U3dSphereCO
U3dAdaptedGeometry 생성자 옵션

Properties:
Name Type Argument Default Description
name string <optional>

어댑터 이름. 레이어에서 찾을 때 쓰는 식별자입니다

radius number <optional>
5

어댑터를 나타내는 구체의 반지름 (미터). 인지 반경은 여기에 buffer를 곱한 크기입니다

widthSegments number <optional>
8

구체 둘레 방향 분할 수. 클수록 옆에서 본 윤곽이 원에 가까워집니다

heightSegments number <optional>
6

구체 위아래 방향 분할 수. 클수록 표면이 매끄러워집니다

opacity number <optional>
1

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

color ColorRepresentation <optional>
"#ff0000"

어댑터 구체의 색상. 16진수 숫자(0xff0000), CSS 색 문자열('#ff0000') 또는 THREE.Color를 넣습니다

outline boolean <optional>
false

외곽선(테두리 선) 표시 여부. 예전 이름인 useline·useLine·edge로도 넣을 수 있습니다

buffer number <optional>
10

인지 반경을 정하는 배율. 실제 인지 반경은 radius에 이 값을 곱한 크기입니다

boundColor ColorRepresentation <optional>
"#fff000"

인지 범위를 눈에 보이게 그릴 때 쓰는 색상. showBounds로 표시합니다

lineColor ColorRepresentation <optional>
"#ff0000"

어댑터와 대상을 잇는 연결선의 색상

lineThick number <optional>

연결선 굵기. 넣지 않으면 반지름의 1/4로 정해집니다

properties KeyValue <optional>
{}

어댑터와 함께 보관할 사용자 정의 속성. 화면 표현에는 쓰이지 않습니다

available boolean <optional>
true

어댑터를 켠 상태로 만들지 여부. 꺼져 있으면 감지 검사에서 제외됩니다

U3dAdaptedGeometryEMIobject

어댑터가 발생시키는 이벤트 이름 모음입니다.
adapter.on(U3dAdaptedGeometry.EVENT.ACTIVE, handler)처럼 리스너를 등록할 때 사용합니다.

Properties:
Name Type Description
CREATE string

어댑터가 만들어질 때 발생합니다. 생성자 안에서 발생하므로 만든 뒤에 등록한 리스너는 받지 못합니다

CHANGE string

어댑터 상태가 바뀌었음을 알립니다

ACTIVE string

setAvailable(true)로 어댑터를 켰을 때 발생합니다

DEACTIVE string

setAvailable(false)로 어댑터를 껐을 때 발생합니다

DISPOSE string

자원 해제를 알립니다

BEFORE_DISPOSE string

자원을 해제하기 전에 발생하며, 어댑터가 연결선·바인딩을 먼저 정리하는 데 사용합니다

U3dAdaptedGeometryHierarchyInfoobject

getParam 반환값의 계층(부모/자식) 정보

Properties:
Name Type Argument Description
layer string <optional>

소속 레이어 이름

name string <optional>

객체 이름

U3dAdaptedGeometryParamobject

어댑터 생성 파라미터 (getParam 반환값)

Properties:
Name Type Description
name string

어댑터 이름

geoPosition UGPoint | undefined

위경도로 바꾼 위치 (EPSG:4326). 레이어의 그리기 정보가 아직 준비되지 않았으면 undefined

scale Vector3

축별 크기 배율. 1이면 원래 크기입니다

rotation Object

축별 회전 각도 (도). _order는 축 적용 순서, unit은 항상 'degree'입니다

position WorldPositionVector3

부모 변환까지 반영한 월드 좌표 (EPSG:3857)

radius number

어댑터 구체의 반지름 (미터)

buffer number

인지 반경을 정하는 배율. 실제 인지 반경은 radius × buffer입니다

widthSegments number

구체 둘레 방향 분할 수

heightSegments number

구체 위아래 방향 분할 수

parent U3dAdaptedGeometry.types~U3dAdaptedGeometryHierarchyInfo

이 어댑터가 붙어 있는 상위 객체의 레이어·이름

children Array.<U3dAdaptedGeometry.types~U3dAdaptedGeometryHierarchyInfo>

이 어댑터에 붙어 있는 하위 객체들의 레이어·이름

properties KeyValue

어댑터와 함께 보관해 둔 사용자 정의 속성

style U3dAdaptedGeometry.types~U3dAdaptedGeometryParamStyle

색상·투명도·연결선 색 등 스타일 값

U3dAdaptedGeometryParamStyleobject

getParam 반환값의 스타일 정보

Properties:
Name Type Description
color string | null

어댑터 구체의 색상 (hex 문자열, 변환하지 못하면 null)

opacity number

불투명도 (0~1)

boundColor ColorRepresentation

인지 범위를 그릴 때 쓰는 색상

lineColor ColorRepresentation

대상까지 잇는 연결선의 색상

useline boolean

외곽선 표시 여부. 다른 도형의 getParam은 이 값을 outline으로 담지만 어댑터는 useline으로 담습니다

U3dAdaptedIntersectResultobject

어댑터 교차 검사 결과

Properties:
Name Type Description
distance number

어댑터 중심에서 대상까지의 거리 (월드 좌표 단위, EPSG:3857)

object U3dAdaptedGeometry

대상과 겹친 어댑터 객체

U3dAdaptedStyleParamobject

setStyle에 넘기는 어댑터 전용 스타일 옵션입니다.
넣은 항목만 반영되고 나머지는 현재 값을 유지합니다.

Properties:
Name Type Argument Description
color ColorRepresentation <optional>

어댑터 구체의 색상

opacity number <optional>

불투명도 (0~1)

lineColor ColorRepresentation <optional>

대상까지 잇는 연결선의 색상

lineThick number <optional>

연결선 굵기

boundColor ColorRepresentation <optional>

인지 범위를 그릴 때 쓰는 색상