GeOnDT GeOnDT for JS

Class: U3dGridTileLayer

U3dGridTileLayer

~extends U3dModelLayer
타일 경계에 격자 상자를 표시하고 설정·캐시·자원 수명주기를 관리하는 레이어다. 직접 속성 대입과 set 계열 메서드의 변환·재생성 차이를 구분하여 사용한다.

new U3dGridTileLayer(opt)

격자 타일 레이어

기반 레이어를 초기화하고 격자 설정의 초기 기록과 전용 캐시를 준비한다. 옵션 기본값은 undefined에만 적용하며 null·0·false를 일괄 대체하지 않는다.

Name Type Default Description
opt U3dGridTileLayerCO {} optional

기반 레이어 및 격자 표시 설정.

Members

gridColor

격자 색상 값을 존재 단언 후 조회한다. null·undefined이면 단언 오류가 발생한다.

gridOpacity

불투명도 값을 존재 단언 후 조회한다. null·undefined이면 단언 오류가 발생한다.

height

높이 값을 존재 단언 후 조회한다. null·undefined이면 단언 오류가 발생한다.

minlevel

최소 레벨 값을 존재 단언 후 조회한다. null·undefined이면 단언 오류가 발생한다.

showGridTile

격자 생성 허용 상태 값을 존재 단언 후 조회한다. null·undefined이면 단언 오류가 발생한다.

size

격자 간격 값을 존재 단언 후 조회한다. null·undefined이면 단언 오류가 발생한다.

Methods

createModel(tile)

기반 타일 처리를 먼저 호출한 뒤 현재 설정으로 격자 그룹을 구성·등록한다. 기반 반환값은 생성 허용 조건으로 사용하지 않는다. 타일 상태·표시·최소 레벨·중복 캐시를 별도로 확인한다. 생성 중 실패하면 예외를 전달하며 앞서 만든 자원을 되돌리거나 부분 결과를 등록하지 않는다. 크기·높이·생성량을 보정하지 않고 완료 결과도 반환하지 않는다.

Name Type Description
tile U3dQuadTile

경계·키·레벨을 읽을 타일.

dispose()

장면에서 레이어 그룹을 분리하고 전체 격자를 해제한 뒤 기반 레이어를 해제한다. 기반 해제의 완료 객체는 반환하거나 기다리지 않는다.

disposeGridTile(tile, all)

한 타일의 격자를 제거하거나 레이어 그룹과 격자 캐시 전체를 해제한다. 전체 제거는 그룹 해제·비우기 후 캐시 항목도 해제하며, 단일 제거는 캐시·장면 분리 후 해제한다. 보관 재질 참조는 초기화하지 않으며 해제 중 예외가 발생하면 나머지 처리를 중단한다.

Name Type Description
tile U3dQuadTile optional

제거할 타일. 전체 제거가 아니고 타일도 없으면 무동작이다.

all boolean optional

truthy이면 타일 인수와 관계없이 전체 제거한다.

disposeTile(tile)

타일의 격자를 먼저 제거한 뒤 기반 타일 해제를 호출한다.

Name Type Description
tile U3dQuadTile

해제할 타일.

getGridColor()any

현재 격자 색상 값을 검사·변환 없이 조회한다.

Returns:
Type Description
any 외부 대입도 가능한 저장값. 기존 무제약 반환 계약을 유지하며 종류를 검사하지 않는다.

getGridOpacity()any

현재 격자 불투명도 값을 검사·변환 없이 조회한다.

Returns:
Type Description
any 외부 대입도 가능한 저장값. 기존 무제약 반환 계약을 유지하며 종류를 검사하지 않는다.

getGridTile()any

생성 시 보관한 설정 기록을 조회한다. 이후 setter와 자동 동기화하지 않는다. 객체를 복제하지 않으며 외부에서 교체한 저장값도 종류 검사 없이 반환한다.

Returns:
Type Description
any 외부 대입도 가능한 저장값. 기존 무제약 반환 계약을 유지하며 종류를 검사하지 않는다.

getHeight()number

현재 높이를 숫자로 변환해 조회한다. 존재 단언은 하지 않는다.

Returns:
Type Description
number Number 변환 결과. 변환할 수 없는 값은 NaN일 수 있다.

getMinLevel()any

현재 최소 레벨 값을 검사·변환 없이 조회한다.

Returns:
Type Description
any 외부 대입도 가능한 저장값. 기존 무제약 반환 계약을 유지하며 종류를 검사하지 않는다.

getShowGridTile()any

현재 격자 생성 허용 값을 검사·변환 없이 조회한다.

Returns:
Type Description
any 외부 대입도 가능한 저장값. 기존 무제약 반환 계약을 유지하며 종류를 검사하지 않는다.

getSize()number

현재 격자 간격을 숫자로 변환해 조회한다. 존재 단언은 하지 않는다.

Returns:
Type Description
number Number 변환 결과. 변환할 수 없는 값은 NaN일 수 있다.

hide()

기반 레이어를 숨긴 뒤 새 격자 생성을 금지한다. 격자 캐시를 직접 비우지 않으므로 다시 표시할 때 캐시와 장면 연결이 다를 수 있다.

refresh()

현재 타일 캐시와 격자 캐시에 함께 존재하는 타일만 제거 후 재생성한다. 렌더 컨텍스트의 타일 캐시가 준비되어 있어야 하며 기반 refresh는 호출하지 않는다.

setApp(app)

앱 연결을 기반 모델 레이어에 전달한다.

Name Type Description
app U3dApp

연결할 앱.

setGridColor(value)

null·undefined가 아닌 색상을 저장하고 보관 중인 최초 재질에 반영한다. 재질은 다른 helper와 공유될 수 있으며 모든 상자를 순회하거나 다시 만들지 않는다.

Name Type Description
value unknown

검사·변환 전 입력값. null·undefined 처리 방식은 본문 설명을 따른다.

setGridOpacity(value)

null·undefined가 아닌 불투명도를 저장하고 보관 재질에 반영한다. opacity 대입 후 1 미만 여부로 transparent를 변경하며 입력 범위를 보정하지 않는다.

Name Type Description
value unknown

검사·변환 전 입력값. null·undefined 처리 방식은 본문 설명을 따른다.

setGridTile(isShow, height, size, minlevel, gridColor, gridOpacity)

격자 표시 및 다섯 설정을 순서대로 적용한 뒤 기존 격자를 재생성한다. isShow가 falsy이면 전체 격자를 제거하고 나머지 입력은 적용하지 않는다. 생략·null 입력은 해당 getter로 대체하며 대체값도 없으면 그 자리에서 종료한다. 뒤의 입력 처리에 실패하더라도 앞서 저장한 설정은 되돌리지 않는다.

Name Type Description
isShow unknown

격자 생성 허용 값. 기반 레이어 표시 상태와는 별개다.

height unknown optional

높이. 생략하면 getHeight() 결과를 사용한다.

size unknown optional

간격. 생략하면 getSize() 결과를 사용한다.

minlevel unknown optional

최소 레벨. 생략하면 getMinLevel() 결과를 사용한다.

gridColor unknown optional

색상. 생략하면 getGridColor() 결과를 사용한다.

gridOpacity unknown optional

불투명도. 생략하면 getGridOpacity() 결과를 사용한다.

setHeight(value, refresh)

높이를 Number로 변환해 저장하고 요청 시 캐시에 있는 격자를 다시 만든다. null·undefined는 무시하며 NaN·범위 검증이나 설정 기록 객체 갱신은 하지 않는다.

Name Type Default Description
value unknown

검사·변환 전 입력값. null·undefined 처리 방식은 본문 설명을 따른다.

refresh boolean true optional

저장 후 기존 격자를 재생성할지 여부.

setMinLevel(value)

null·undefined가 아닌 입력만 최소 레벨에 저장한다. 숫자 변환·레벨 범위 검사·기존 격자 재생성은 하지 않는다.

Name Type Description
value unknown

검사·변환 전 입력값. null·undefined 처리 방식은 본문 설명을 따른다.

setShowGridTile(value)

null·undefined가 아닌 입력만 격자 생성 허용 상태에 저장한다. 이미 생성된 격자를 숨기거나 제거하지 않고 기반 표시 상태도 바꾸지 않는다.

Name Type Description
value unknown

검사·변환 전 입력값. null·undefined 처리 방식은 본문 설명을 따른다.

setSize(value, refresh)

격자 간격을 Number로 변환해 저장하고 요청 시 기존 격자를 다시 만든다. null·undefined는 무시하며 0·음수·비유한 값에 대한 보정은 하지 않는다.

Name Type Default Description
value unknown

검사·변환 전 입력값. null·undefined 처리 방식은 본문 설명을 따른다.

refresh boolean true optional

저장 후 기존 격자를 재생성할지 여부.

show(show)

기반 표시 처리를 먼저 수행하고 격자 생성 허용 상태를 변경한다. falsy 입력은 hide()로 이어져 기반 숨김을 다시 호출하며 기반 반환값은 전달하지 않는다.

Name Type Description
show boolean

레이어 표시 여부.

update(drawArg)

프레임 갱신에서는 별도 작업을 수행하지 않는다. 기반 update도 호출하지 않는다.

Name Type Description
drawArg UDrawArg

사용하지 않는 렌더 컨텍스트.

Type Definitions

U3dGridTileBoundsobject

격자 인덱스 계산에 필요한 타일 경계다. 타일 상태·키·레벨은 공개 제어부에서 사용한다.

U3dGridTileLayerCOobject

~extends U3dModelLayer~U3dModelLayerCO
U3dGridTileLayer 생성자 옵션

Properties:
Name Type Argument Default Description
showGridTile boolean <optional>
true

격자 타일 가시화 여부

height number <optional>
100

격자 높이 값

size number <optional>
50

격자 크기 값

minlevel number <optional>
17

격자 타일 가시화 최소 레벨

gridColor number <optional>
0xffffff

격자 타일 색상

gridOpacity number <optional>
0.3

격자 타일 투명도

U3dGridTileLayoutobject

한 타일의 상자를 순서대로 배치할 인덱스 범위다.

Properties:
Name Type Description
minX number

배치의 x 기준 좌표.

minY number

배치의 y 기준 좌표.

tileMinX number

x 반복 시작 인덱스.

tileMinY number

y 반복 종료 인덱스. 이 인덱스는 포함하지 않는다.

tileMaxX number

x 반복 종료 인덱스. 이 인덱스는 포함하지 않는다.

tileMaxY number

y 반복 시작 인덱스.

U3dGridTileStyleStateobject

상자 구성 중 읽거나 갱신하는 레이어 스타일 상태의 최소 경계다. 전체 레이어의 다른 상태나 제어 메서드에 대한 접근 권한은 포함하지 않는다.