new U3dMaskLayer(opt)
마스크 격자 레이어
마스크 격자와 박스 표현에 필요한 레이어 상태를 초기화합니다. opt의 falsy 값은 빈 객체로 처리하고, 개별 옵션의 기본값은 undefined에만 적용합니다.
| Name | Type | Default | Description |
|---|---|---|---|
opt |
U3dMaskLayer~U3dMaskLayerCO | {} |
optional
생성자 옵션 |
Methods
-
createMask(tile)
-
타일 키에 대응하는 마스크 격자가 없을 때만 생성합니다. 기존 격자는 다시 초기화하지 않습니다.
Name Type Description tileU3dQuadTile 마스크를 생성할 타일
-
createMaskValue(tileKey)Promise.<void>
-
참조 레이어의 모델 높이를 격자 셀에 반영하고 요청 타일의 박스를 표시합니다. 공유 메시와 이미 처리한 메시를 제외하고, 모든 점 검사 이후 타일 상태와 완료 객체를 갱신합니다. infoLayer가 없으면 완료되지 않는 기존 경로도 유지합니다.
Name Type Description tileKeystring 높이를 반영할 타일 키
Returns:
Type Description Promise.<void> 기반 비동기 실행의 완료 객체 -
createModel(tile)boolean
-
허용 레벨의 타일을 마스크 표시 조건 검사로 전달합니다. 범위 밖 타일은 상태를 초기화하고 false를 반환합니다. true는 기반 레이어가 생성을 허용했다는 뜻이며 새 메시가 만들어졌음을 보장하지 않습니다.
Name Type Description tileU3dQuadTile 생성 조건을 검사할 타일
Returns:
Type Description boolean 레벨 범위와 기반 생성 조건의 통과 여부 -
createModelByFrustum(tile, drawArg, force)boolean
-
기반 생성 조건에 따라 마스크 그룹을 분리하거나 박스 메시를 준비합니다. 타일 메시 맵에 이미 키가 있으면 추가 생성하지 않습니다. 반환값은 기반 생성 조건의 통과 여부이며 메시 생성 여부와는 구분합니다.
Name Type Description tileU3dQuadTile 생성 조건을 검사할 타일
drawArgUDrawArg 기반 판정에 전달할 실행 인수
forceboolean optional 기반 API에 그대로 전달할 선택 인수. 현재 기반 구현에서는 미사용
Returns:
Type Description boolean 기반 생성 조건의 통과 여부 -
dispose()Promise.<boolean>
-
장면에서 레이어 그룹을 분리한 뒤 기반 레이어와 마스크 자원을 정리합니다. 기반 호출 후 마스크 자원을 동기적으로 정리하고 기반 dispose의 Promise를 그대로 반환합니다. 동기 예외가 발생하면 그대로 전파하며 이후 정리는 실행하지 않습니다.
Returns:
Type Description Promise.<boolean> 기반 레이어 해제의 완료 결과를 전달하는 동일 Promise -
disposeTile(tile)
-
기반 타일 정리 후 맵에 보관된 마스크 메시를 해제합니다. 기존 그룹 정리 호출과 맵 참조 유지 방식은 변경하지 않습니다.
Name Type Description tileU3dQuadTile 마스크 메시를 해제할 타일
-
getKeyByPosition(position, level)object
-
월드 위치에 대응하는 타일 키와 격자 내부 셀 인덱스를 구합니다. 위치의 x·y만 사용하며 z는 계산에 사용하지 않습니다. level이 null 또는 undefined이면 레이어 레벨을 사용합니다. 크기가 준비되지 않았으면 undefined를 반환하지만 기존 공개 object 선언은 유지합니다.
Name Type Default Description positionWorldPosition 조회할 월드 위치
levelnumber this._level optional 조회할 타일 레벨
Returns:
Type Description object key와 index를 가진 결과 객체. 크기 미준비 시 실제 반환은 undefined -
getMaskByTileKey(key)*
-
타일 키에 대응하는 기존 격자 객체를 그대로 반환합니다. 셀에 임의 데이터를 보관하는 기존 동적 반환 계약을 유지합니다.
Name Type Description keystring 타일 키
Returns:
Type Description * 기존 격자 객체 또는 undefined -
getMaskObject(tileKey, index)object
-
지정한 셀에 저장된 객체를 복사하지 않고 반환합니다. 격자나 셀이 없으면 undefined를 반환하지만 기존 공개 object 선언은 유지합니다.
Name Type Description tileKeystring 대상 타일 키
indexobject x와 y를 가진 기존 셀 인덱스 객체
Returns:
Type Description object 기존 셀 객체. 격자 또는 셀 부재 시 실제 반환은 undefined -
initialize()
-
U3dModelLayer의 prototype을 통해 상속된 U3dLayer 초기화를 현재 인스턴스로 실행합니다. 기반 호출의 반환값은 전달하지 않습니다.
-
removeAll()
-
마스크 메시·격자·박스 형상과 표시 그룹을 정리합니다. 기존과 같이 타일 메시 맵 항목은 유지하며, 정리 중 예외가 발생하면 후속 처리는 중단합니다. Map 키 반복자의 forEach 지원 여부도 기존 실행 환경의 조건을 유지합니다.
-
setApp(app)
-
기반 모델 레이어에 애플리케이션을 연결합니다.
Name Type Description appU3dApp 기반 레이어에 연결할 애플리케이션
-
setMaskObject(tileKey, index, object)
-
타일과 셀 인덱스에 전달 객체를 저장하고 박스 메시를 표시합니다. 타일이 캐시에 있으면 없는 격자를 생성합니다. 기존 셀 값 초기화와 메시 생성 순서를 유지합니다. 인덱스 범위 또는 메시 부재에 대한 추가 방어 처리를 수행하지 않습니다.
Name Type Description tileKeystring 대상 타일 키
indexobject x와 y를 가진 기존 셀 인덱스 객체
objectobject value 등 사용자가 보관할 셀 데이터
-
update(drawArg)
-
갱신 검사기가 허용한 시점에만 캐시 타일과 기반 레이어를 갱신합니다.
Name Type Description drawArgUDrawArg 타일 캐시와 실행 인수