GeOnDT GeOnDT for JS

Class: UPlaneBufferGeometry

UPlaneBufferGeometry

~extends UBufferGeometry
지형(terrain) 렌더링에 쓰이는 격자형 평면 Buffer Geometry 클래스입니다.
가장자리 스커트(skirt), 커스텀 높이 박스 등 지형 표현에 필요한 기능을 포함합니다.

new UPlaneBufferGeometry(width, height, widthSegments, heightSegments, offsetX, offsetY, skirt, defaultHeight)

격자형 평면 지오메트리를 생성합니다.

Name Type Default Description
width number 1 optional

평면 너비

height number 1 optional

평면 세로 길이

widthSegments number 1 optional

가로 분할 수

heightSegments number 1 optional

세로 분할 수

offsetX number 0 optional

X 오프셋

offsetY number 0 optional

Y 오프셋

skirt boolean true optional

가장자리 스커트 생성 여부

defaultHeight number UDEF.TERRAIN_NO_DATA optional

높이 데이터가 없을 때 사용할 기본 높이

Members

templateInfoRecord.<string, UPlaneTemplateInfo>

Methods

change(targetGeometry)UPlaneBufferGeometry

대상 geometry의 속성을 이 geometry에 적용합니다. (attributes를 재할당하지 않고 내부 속성만 교체합니다)

Name Type Description
targetGeometry UPlaneBufferGeometry

속성을 가져올 대상 지오메트리

Returns:
Type Description
UPlaneBufferGeometry 이 지오메트리(this)

dispose()void

공유분을 하나 돌려줍니다. 다른 소유자가 남아 있으면 GL 자원은 그대로 두고, 마지막 소유자였을 때만 실제로 해제합니다.
정점 자료를 제자리에서 고친 뒤 다시 올려야 할 때는 dispose()가 아니라 attribute의 needsUpdate를 사용합니다.

Returns:
Type Description
void

getDefaultHeight()number

높이 데이터가 없을 때 사용하는 기본 높이값을 반환합니다.

Returns:
Type Description
number 기본 높이값

getOffset()Vector3

평면의 오프셋(원점 이동값)을 반환합니다.

Returns:
Type Description
Vector3 오프셋 벡터

getOffsetBox()Box3

오프셋이 적용된 바운딩 박스를 반환합니다.

Returns:
Type Description
Box3 오프셋이 적용된 바운딩 박스

getPointAtIndex(x, y, includeSkirt)Object|undefined

격자 인덱스(x, y) 위치의 정점 좌표를 반환합니다.

Name Type Default Description
x number

가로 인덱스

y number

세로 인덱스

includeSkirt boolean true optional

skirt 영역을 인덱스 범위에 포함할지 여부

Returns:
Type Description
Object | undefined 정점 좌표 (범위를 벗어나면 undefined)

getRatio()number

격자 해상도 비율(ratio)을 반환합니다.

Returns:
Type Description
number 격자 비율

getSegmentCount()number|undefined

가로 방향 정점 개수를 반환합니다.

Returns:
Type Description
number | undefined 정점 개수

getShareCount()number

소유자 수를 반환합니다. 생성 직후는 1입니다.

Returns:
Type Description
number

getSkirtIndex()number

스커트(가장자리 여백) 인덱스를 반환합니다. (스커트를 쓰지 않으면 0)

Returns:
Type Description
number 스커트 인덱스

isSkirt()boolean

가장자리 스커트를 사용하는지 여부를 반환합니다.

Returns:
Type Description
boolean 스커트 사용 여부

setDefaultHeight(height)number

높이 데이터가 없을 때 사용할 기본 높이값을 설정합니다.

Name Type Description
height number

기본 높이값

Returns:
Type Description
number 설정된 기본 높이값

share()this

이 geometry를 다른 메시와 공유합니다. 소유자 수를 1 늘리고 자기 자신을 돌려주므로 생성자 인자에 바로 쓸 수 있습니다.
예: super(tile._mesh.geometry.share(), material, opt)
타일 메시(UTileMesh)와 이미지 레이어의 지형 메시(UTerrainMesh)가 같은 geometry 객체를 쓰므로, 각 소유자는 share()로 받고 dispose()로 돌려줍니다. 마지막 소유자가 dispose()할 때만 GL 자원이 해제됩니다.

Returns:
Type Description
this

static getCache(width, height, widthSegments, heightSegments)UPlaneTemplateInfo|undefined

주어진 크기·세그먼트에 해당하는 캐시된 템플릿 정보를 반환합니다.

Name Type Description
width number

너비

height number

세로 길이

widthSegments number

가로 분할 수

heightSegments number

세로 분할 수

Returns:
Type Description
UPlaneTemplateInfo | undefined 캐시된 템플릿 정보 (없으면 undefined)

static getCacheKey(width, height, widthSegments, heightSegments)string

크기·세그먼트 값으로 캐시 키 문자열을 생성합니다.

Name Type Description
width number

너비

height number

세로 길이

widthSegments number

가로 분할 수

heightSegments number

세로 분할 수

Returns:
Type Description
string 캐시 키

Type Definitions

UPlaneCustomBoxobject

customBox에 저장되는 데이터 구조

Properties:
Name Type Description
minx number
miny number
maxx number
maxy number
height number

UPlaneTemplateInfoobject

templateInfo 캐시에 저장되는 데이터 구조

Properties:
Name Type Description
indices Array.<number>
vertices Array.<number>
normals Array.<number>
uvs Array.<number>
uwidth number
uheight number
segmentWidth number
segmentHeight number
boundingBox Box3