new U3dGroupLayer(opt)
자식 배열을 공유하는 그룹 레이어를 생성한다.
초기 자식은 현재 표시 상태를 즉시 전달받은 뒤 부모 그룹에 연결된다.
생성 시에는 자식 경계를 합산하지 않으며, 경계는 이후 addLayer 호출에서 누적한다.
| Name | Type | Default | Description |
|---|---|---|---|
opt |
U3dGroupLayerCO | {} |
optional
생성자 옵션 |
Methods
-
addLayer(layer)boolean
-
자식 레이어를 그룹에 연결하고 경계를 누적한 뒤 목록에 추가한다.
같은 객체가 이미 있거나 자식 이름과 그룹 자신의 이름이 느슨한 비교로 같으면 거절한다. 다른 자식끼리 이름이 같은지는 검사하지 않는다.
ready가 있으면 우선 사용하고, 없으면 then, 둘 다 없으면 즉시 표시 상태를 전달한다. 준비 성공 콜백은 실행 당시의 그룹 표시 상태를 읽는다. 준비 완료를 기다리지 않고 등록 결과를 반환한다. 준비 실패는 경로별 오류 로그로 알리며, 동기 예외는 앞선 변경을 되돌리지 않고 전달한다.
최초 경계는 자식의 min·max 벡터를 공유하므로 이후 누적이 해당 자식 경계에도 반영될 수 있다.Name Type Description layerU3dGroupLayerChild 추가할 자식 레이어
Returns:
Type Description boolean 목록에 추가하면 true. 이미 같은 객체가 있거나 그룹 이름과 충돌하면 false -
dispose()Promise.<boolean>
-
자식의 해제를 순서대로 요청한 뒤 그룹을 해제 상태로 표시한다.
자식이 반환한 비동기 작업은 기다리지 않는다. 동기 예외가 발생하면 이후 처리를 중단하며, 기존 배열을 비우는 대신 그룹의 목록을 새 배열로 교체한다. 경계와 부모 연결은 별도로 지우지 않는다.Returns:
Type Description Promise.<boolean> 자식 해제 호출과 그룹 상태 반영이 끝나면 true로 완료되는 객체. 자식의 비동기 완료는 포함하지 않는다 -
getBoundingBox()Box3|undefined
-
addLayer 호출로 누적된 그룹 경계 상자를 반환한다.
생성 옵션의 자식이나 외부 배열 변경을 기준으로 다시 계산하지 않으며, 해제 후에도 저장된 경계는 남는다.Returns:
Type Description Box3 | undefined 저장된 경계의 원본 참조. 아직 누적된 경계가 없으면 undefined -
getCenter()GooglePositionVector3|null
-
그룹 레이어 BoundingBox의 중심 좌표를 반환하는 함수
Returns:
Type Description GooglePositionVector3 | null 저장된 경계의 중심을 담은 새 벡터. 경계가 없으면 null -
getChildren()Array.<U3dGroupLayerChild>
-
그룹에 포함된 자식 레이어 목록을 반환하는 함수
Returns:
Type Description Array.<U3dGroupLayerChild> 원본 자식 배열. 직접 수정하면 목록은 바뀌지만 부모 연결·표시·경계 누적은 자동 실행되지 않는다 -
getStateTileLength()number
-
그룹에 포함된 모든 자식 레이어의 상태 타일 수의 합계를 반환하는 함수
Returns:
Type Description number 자식 레이어들의 상태 타일 수 합계 -
getWorkingLevel2()number
-
그룹 내 가시화 상태인 자식 레이어들의 working level 2 작업 수의 합계를 반환하는 함수
Returns:
Type Description number 자식 레이어들의 working level 2 합계 -
getWorkingLevel3()number
-
그룹 내 가시화 상태인 자식 레이어들의 working level 3 작업 수의 합계를 반환하는 함수
Returns:
Type Description number 자식 레이어들의 working level 3 합계 -
off(event, callback)
-
이벤트 리스너를 제거하는 함수
LOADED이벤트는 그룹 레이어 자체에서 제거되고, 그 외 이벤트는 모든 자식 레이어에서 일괄 제거된다.Name Type Description eventstring optional 이벤트명. 생략하면 자식들에 해제를 전달하며 그룹 자체의 LOADED 리스너는 제거하지 않는다
callbackfunction | string optional 콜백 함수 또는 리스너 식별자
-
on(event, callback, once, name)string
-
이벤트 리스너를 등록하는 함수
LOADED이벤트는 그룹 레이어 자체에 등록되고, 그 외 이벤트는 모든 자식 레이어에 일괄 등록된다.Name Type Description eventstring 이벤트명
callbackEventCallBack 이벤트 콜백 함수
onceboolean optional 이벤트 한 번만 처리할지 여부. true면 첫 호출 후 리스너 자동 제거
namestring optional 리스너 식별자 (off 호출 시 사용)
Returns:
Type Description string 입력한 name 또는 빈 문자열. 등록 대상에서 생성한 식별자는 반환하지 않는다 -
once(event, callback, name)string
-
한 번만 실행되는 이벤트 리스너를 등록하는 함수
내부적으로on 함수를 호출한다.Name Type Description eventstring 이벤트명
callbackEventCallBack 이벤트 콜백 함수
namestring optional 리스너 식별자
Returns:
Type Description string 입력한 name 또는 빈 문자열. 등록 대상에서 생성한 식별자는 반환하지 않는다 -
printNotCompleteStateTiles(print)number
-
그룹 내 자식 레이어 중 작업이 완료되지 않은 상태 타일 정보를 콘솔에 출력하는 함수
디버깅용Name Type Description printboolean optional 출력 옵션 (현재 미사용)
Returns:
Type Description number 미완료 상태 타일이 있는 자식 레이어 수 -
printStateTiles()number
-
그룹 내 자식 레이어 중 처리 중인 상태 타일이 있는 레이어들의 정보를 콘솔에 출력하는 함수
디버깅용Returns:
Type Description number 처리 중인 상태 타일이 있는 자식 레이어 수 -
setEmissiveColor(r, g, b)boolean
-
그룹에 포함된 모든 자식 레이어의 emissive(자체 발광) 색상을 일괄 설정하는 함수
Name Type Description rnumber Red 채널 값 (0~1)
gnumber Green 채널 값 (0~1)
bnumber Blue 채널 값 (0~1)
Returns:
Type Description boolean 동기 예외 없이 순회를 마치면 true(빈 목록 포함). 예외가 발생하면 이전 자식의 변경은 유지하고 false -
setOpacity(val)
-
그룹에 포함된 모든 자식 레이어의 투명도를 일괄 설정하는 함수
Name Type Description valnumber 투명도 (0~1)
-
show(show)
-
자식들의 표시 상태를 변경한 뒤 앱에 한 번 갱신을 요청한다.
앱이 연결되지 않았으면 안내 로그만 남기고 그룹의 표시 상태도 바꾸지 않는다. 자식 호출의 동기 예외는 전달되며, 이 경우 뒤의 자식과 앱 갱신은 실행하지 않는다.Name Type Description showboolean 가시화 여부. true면 그룹 내 모든 레이어 가시화
Type Definitions
-
U3dGroupLayerBoundingBoxBox3 undefined
-
자식 경계 조회의 결과. 경계가 없으면 undefined이며 존재하는 경우 원본 Box3를 공유한다.
-
U3dGroupLayerCOobject
-
~extends U3dLayer~U3dLayerCO
그룹 레이어의 생성 옵션. 기반 레이어 옵션에 최초 자식 목록을 추가한다.Properties:
Name Type Argument Default Description listlayerArray.<U3dGroupLayer.types~U3dGroupLayerChild> <optional>
[] 복제하지 않고 보관할 최초 자식 배열. 즉시 표시·부모 연결을 수행하며 경계는 합산하지 않는다
-
U3dGroupLayerChildobject
-
~extends U3dLayer
그룹에서 호출하는 자식 레이어의 추가 계약. ready가 존재하면 then보다 우선 사용하며, 반환 객체의 catch에 실패 처리를 연결한다.Properties:
Name Type Argument Description getBoundingBoxfunction 추가 시 그룹 경계에 누적할 원본 경계를 반환한다
setEmissiveColorfunction 자체 발광색을 설정한다. 그룹은 반환값을 합산하지 않는다
readyDeferredReadyFunc <optional>
준비 성공 콜백을 등록할 우선 진입점
thenDeferredReadyFunc <optional>
ready가 없을 때 사용할 준비 진입점
catchDeferredCatchFunc <optional>
자식의 실패 콜백 등록 함수