GeOnDT GeOnDT for JS

Class: UDirectionArrowGroup

UDirectionArrowGroup

~extends Group
InstancedMesh 버킷을 사용해 많은 방향 화살표를 렌더링하는 그룹입니다. 길이, 헤드 크기, 점선 길이, 색상, 투명도는 instance attribute로 처리합니다.

new UDirectionArrowGroup(opt)

Name Type Default Description
opt UDirectionArrowGroupCO {} optional

생성 옵션

Members

count

현재 활성화된 화살표 개수를 반환합니다.

Methods

addArrow(opt)number

화살표 하나를 추가하고 id를 반환합니다.

Name Type Default Description
opt UDirectionArrowGroupCO {} optional

화살표 초기 옵션

Returns:
Type Description
number 생성된 화살표 id

applyArrowUpdate(id, opt)

여러 화살표 속성을 한 번에 갱신합니다.

Name Type Default Description
id number

화살표 id

opt UDirectionArrowGroupCO {} optional

갱신할 속성

Example
arrow.applyArrowUpdate(0, {
    visible: true,
    lineThickness: 2
    lineLength: 10,
    headLength: 3,
    color: "#fff000",
    opacity: 0.5
});

clear()

모든 화살표를 제거하고 bucket count를 초기화합니다.

dispose()

geometry와 material을 dispose하고 그룹을 비웁니다.

getArrowInfo(id)object|undefined

id에 해당하는 화살표 정보를 반환합니다. Vector3 값은 외부 변경이 내부 상태에 영향을 주지 않도록 복사본으로 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
object | undefined 화살표 정보. 유효하지 않은 id면 undefined

getAttachedIds(target)Array.<number>

특정 target에 붙어 있는 화살표 id 목록을 반환합니다.

Name Type Description
target unknown

조회할 target 객체

Returns:
Type Description
Array.<number> 화살표 id 목록

getColor(id)THREE.Color|undefined

id에 해당하는 화살표 색상 설정값을 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
THREE.Color | undefined 실제 적용 색상. 유효하지 않은 id면 undefined

getDashLength(id)number|undefined

id에 해당하는 화살표 dash(점선 1개 구간) 길이를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 화살표 dash 길이. 유효하지 않은 id면 undefined

getDepthTest(id)boolean|undefined

id에 해당하는 화살표 depthTest 사용 여부를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
boolean | undefined depthTest 사용 여부. 유효하지 않은 id면 undefined

getDirection(id)Vector3|undefined

id에 해당하는 화살표 방향 벡터를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
Vector3 | undefined 방향 벡터 복사본. 유효하지 않은 id면 undefined

getGapLength(id)number|undefined

id에 해당하는 화살표 gap(점선 간 간격) 길이를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 화살표 gap 길이. 유효하지 않은 id면 undefined

getHeadLength(id)number|undefined

id에 해당하는 화살표 머리 길이를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 화살표 머리 길이. 유효하지 않은 id면 undefined

getHeadRadius(id)number|undefined

id에 해당하는 화살표 머리 반지름을 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 화살표 머리 반지름. 유효하지 않은 id면 undefined

getLineLength(id)number|undefined

id에 해당하는 화살표 꼬리 길이를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 화살표 꼬리 길이. 유효하지 않은 id면 undefined

getLineThickness(id)number|undefined

id에 해당하는 화살표 꼬리 두께를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 화살표 꼬리 두께. 유효하지 않은 id면 undefined

getOffset(id)Vector3|undefined

id에 해당하는 화살표 위치 offset을 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
Vector3 | undefined offset 복사본. 유효하지 않은 id면 undefined

getOpacity(id)number|undefined

id에 해당하는 화살표 투명도 설정값을 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined 실제 적용 투명도. 유효하지 않은 id면 undefined

getPosition(id)GeoPositionVector3|undefined

id에 해당하는 화살표 위치를 위경도 좌표로 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
GeoPositionVector3 | undefined 위경도 좌표({x: 경도, y: 위도, z: 고도}). 유효하지 않은 id면 undefined

getRadialSegments(id)number|undefined

id에 해당하는 화살표 radialSegments 값을 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
number | undefined radialSegments 값. 유효하지 않은 id면 undefined

getRotationOffset(id)Vector3|undefined

id에 해당하는 화살표 회전 offset을 degree 단위로 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
Vector3 | undefined 회전 offset 복사본. 유효하지 않은 id면 undefined

getShaftStyle(id)'solid'|'dashed'|undefined

id에 해당하는 화살표 꼬리 스타일을 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
'solid' | 'dashed' | undefined 화살표 꼬리 스타일. 유효하지 않은 id면 undefined

getStatus()Array.<object>

디버깅용 bucket 통계를 반환합니다.

Returns:
Type Description
Array.<object> bucket별 count/capacity 정보

getVisible(id)boolean|undefined

id에 해당하는 화살표의 출력(visible) 여부를 반환합니다.

Name Type Description
id number

화살표 id

Returns:
Type Description
boolean | undefined 출력(visible) 여부. 유효하지 않은 id면 undefined

getWorldPosition(id)WorldPositionVector3

id에 해당하는 화살표 기준 위치를 월드 좌표로 반환합니다. (기반 클래스 시그니처와의 호환을 위해 반환 타입에 undefined를 표기하지 않지만, 유효하지 않은 id면 undefined를 반환합니다.)

Name Type Description
id number | Vector3

화살표 id

Returns:
Type Description
WorldPositionVector3 기준 위치 월드 좌표 복사본. 유효하지 않은 id면 undefined

removeArrow(targetOrId)

화살표 하나를 제거합니다.

Name Type Description
targetOrId number | unknown

화살표 id 또는 화살표 대상 객체

setColor(color, id)

색상을 변경합니다. InstancedMesh의 instanceColor를 사용하므로 material bucket이 늘어나지 않습니다.

Name Type Description
color Color | ColorLike

색상 또는 스타일 함수

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setDashLength(dashLength, id)

점선 dash 길이를 변경합니다.

Name Type Description
dashLength number

dash 길이

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setDepthTest(depthTest, id)

depthTest 여부를 변경합니다.
(depthTest : 앞에 있는 3D 객체가 뒤의 객체를 가리도록 깊이 값(depth)을 검사할지 여부)

Name Type Description
depthTest boolean

depth test 사용 여부

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setDirection(direction, id)

화살표가 향할 기준 방향을 정합니다.

Name Type Description
direction Vector3 | Vector3Like | Array.<number>

월드 위치

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setGapLength(gapLength, id)

점선 gap 길이를 변경합니다.

Name Type Description
gapLength number

gap 길이

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setHeadLength(headLength, id)

화살촉 길이를 절대값으로 변경합니다. 내부적으로 렌더링용 headRatio attribute로 변환하므로 버킷이 늘어나지 않습니다.

Name Type Description
headLength number

화살촉 길이

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setHeadRadius(headRadius, id)

화살촉(머리) 반지름을 변경합니다.

Name Type Description
headRadius number

화살촉 반지름

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setLineLength(lineLength, id)

화살표 길이를 변경합니다.

Name Type Description
lineLength number

화살표 꼬리 길이

id number optional

화살표 id. 미입력 시 전체 화살표 변경

Example
arrow.setLineLength(10, 0); // id: 0만 적용
arrow.setLineLength(5);     // 전체 적용

setLineThickness(lineThickness, id)

화살표 꼬리 두께를 변경합니다.

Name Type Description
lineThickness number

화살표 꼬리 두께

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setLookAt(lookAt, id)

특정 위치를 바라보도록 방향을 설정합니다.

Name Type Description
lookAt Vector3 | Vector3Like | Array.<number>

바라볼 위치

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setOffset(offset, id)UDirectionArrowGroup

target 위치에 더할 offset을 설정합니다.

Name Type Description
offset Vector3 | Vector3Like | Array.<number>

위치 보정값

id number optional

화살표 id. 미입력 시 전체 화살표 변경

Returns:
Type Description
UDirectionArrowGroup

setOpacity(opacity, id)

화살표의 투명도를 변경합니다.

Name Type Description
opacity UDirectionArrowOpacity

투명도 또는 스타일 함수. 투명도 입력시 0~1 사이의 값을 입력합니다.

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setPosition(position, id)

화살표 위치를 직접 설정합니다.

Name Type Description
position Vector3 | Vector3Like | Array.<number>

월드 위치

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setRadialSegments(radialSegments, id)

방사형 분할 수를 변경합니다. 이 값은 topology를 바꾸므로 해당 화살표를 다른 bucket으로 이동합니다.

Name Type Description
radialSegments number

방사형 분할 수

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setRotationOffset(rotationOffset, id)

화살표 방향 정렬 이후에 추가로 적용할 회전 오프셋을 degree 단위로 설정합니다.

Name Type Description
rotationOffset Vector3 | Vector3Like | Array.<number>

회전 보정값(degree)

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setShaftStyle(shaftStyle, id)

점선 여부를 변경합니다.

Name Type Description
shaftStyle 'solid' | 'dashed'

꼬리 스타일

id number optional

화살표 id. 미입력 시 전체 화살표 변경

setVisible(visible, id)

화살표 표시 여부를 변경합니다.

Name Type Description
visible boolean

표시 여부

id number optional

화살표 id

Example
arrow.setVisible(true, 0); // id: 0만 적용
arrow.setVisible(false);   // 전체 적용

update(idOrCamera, camera)

target에 붙은 화살표의 위치/방향과 컬링 상태를 갱신합니다.

Name Type Description
idOrCamera number | Camera optional

화살표 id 또는 렌더 카메라

camera Camera optional

렌더 카메라