GeOnDT GeOnDT for JS

Class: U3dModelLayer

U3dModelLayer

~extends U3dLayer
3D 모델 레이어 최상위 클래스

new U3dModelLayer(opt)

Name Type Default Description
opt U3dModelLayer~U3dModelLayerCO {} optional

Members

editedEventRecord.<string, U3dModelLayer~EditedEvent>

editedListArray.<string>

removedListArray.<string>

Methods

addFaceIndexInfo(object, info, faceIndex)U3dModelLayer~EditedEvent|undefined

Name Type Description
object ModelMesh
info U3dModelLayer~FaceIndexInfo
faceIndex number
Returns:
Type Description
U3dModelLayer~EditedEvent | undefined

addTileFromScene(tile)Object3D|void

Name Type Description
tile U3dQuadTile
Returns:
Type Description
Object3D | void

cancelRemoveAll()void

건물 제거 작업을 전체 취소하는 함수

Returns:
Type Description
void

cancelRemoveByUid(uid)void

3D 모델의 uid를 입력받아 제거 작업을 취소하는 함수

Name Type Description
uid string

모델의 uid

Returns:
Type Description
void

change(drawArg)void

Name Type Description
drawArg UDrawArg
Returns:
Type Description
void

checkDivisionMeshIdle()void

Returns:
Type Description
void

containByPosition(key, position, limit, drawArg, maxHeight)boolean

입력 좌표가 캐시에 포함되는지 여부를 반환합니다.

Name Type Description
key string

캐시 키

position WorldPositionVector3

기준 위치 (월드 좌표, EPSG:3857)

limit number

거리 제한

drawArg UDrawArg

DrawArg

maxHeight number optional

최대 높이

Returns:
Type Description
boolean 포함 여부

createGroup(tile)boolean

Name Type Description
tile U3dQuadTile
Returns:
Type Description
boolean

createGroupByKey(key)boolean

Name Type Description
key string
Returns:
Type Description
boolean

createModelByFrustum(tile, drawArg, force)boolean

Name Type Description
tile U3dQuadTile
drawArg UDrawArg
force boolean optional
Returns:
Type Description
boolean

deleteMesh(mesh)void

Name Type Description
mesh Object3D
Returns:
Type Description
void

deleteRemovedUidList(uid)void

Name Type Description
uid string | Array.<string>
Returns:
Type Description
void

dispose()Promise.<boolean>

Returns:
Type Description
Promise.<boolean> promise 함수. 작업 완료시 true 반환

disposeTileFromDistance(limit)void

입력받은 제한거리 밖의 타일을 dispose하는 함수

Name Type Description
limit number

제한거리

Returns:
Type Description
void

editFilter(featureId)boolean

필터 ID를 입력받아 해당 필터가 editedList에 적재되어 있는지를 반환하는 함수

Name Type Description
featureId string

필터 ID

Returns:
Type Description
boolean editedList 적재 여부

editedModel(mesh, editedEvent)boolean|void

모델 Mesh를 편집하는 함수

Name Type Description
mesh ModelMesh

편집할 3D 모델 mesh

editedEvent U3dModelLayer~EditedEvent

편집 유형을 담은 Object

Returns:
Type Description
boolean | void 작업 성공 시 true, 실패 시 false
Example
let model = 3D 모델;
 const editedEvent = {
            id: 'test',
            position: {x: -11361536.602535466, y: -3456516.401416856, z: 0},
            editData,
            mode: 'translate',
            axis:  {x: 0, y: 0, z: 0}
        }
layer.editedModel(model, editedEvent)

fncDeleteGroup(object)void

Name Type Description
object Object3D optional
Returns:
Type Description
void

getEditedEventById(id)U3dModelLayer~EditedEvent|undefined

Name Type Description
id string
Returns:
Type Description
U3dModelLayer~EditedEvent | undefined

getEmissiveColor()Color

Returns:
Type Description
Color

getMaterialIndexByFace(object, faceIndex)U3dModelLayer~SplitInfo|void

Name Type Description
object Object3D
faceIndex number
Returns:
Type Description
U3dModelLayer~SplitInfo | void

getMetaData()UMeta

U3dModelLayer의 메타데이터를 반환하는 함수

Returns:
Type Description
UMeta
Example
meta {
            transparent: true, //투명도 적용 여부
        };

getModelById(id, isMerged)ModelMesh|undefined

ID 값으로 해당하는 모델을 반환하는 함수

Name Type Description
id string

모델 ID

isMerged boolean optional

검색 대상 병합 속성 여부

Returns:
Type Description
ModelMesh | undefined 모델

getRemovedUidList()Array.<string>

제거된 모델의 uid가 담겨있는 removedList를 반환하는 함수

Returns:
Type Description
Array.<string> removedList

getTileFromScene(tile)Object3D|undefined

Name Type Description
tile U3dQuadTile
Returns:
Type Description
Object3D | undefined

getToonImgUrl()string|undefined

Returns:
Type Description
string | undefined

getWorkingLevel2()number

Returns:
Type Description
number

getWorkingLevel3()number

Returns:
Type Description
number

isTileDisposed(tile, drawArg)boolean

입력받은 타일의 dispose 여부를 반환하는 함수

Name Type Description
tile U3dQuadTile

타일

drawArg UDrawArg

레이어의 drawArg

Returns:
Type Description
boolean dispose 여부

isUpdate()boolean

Returns:
Type Description
boolean

mergedMeshDivision(object, afterFunction)Array.<Object3D>|undefined

Name Type Description
object ModelMesh
afterFunction function optional
Returns:
Type Description
Array.<Object3D> | undefined

process(curTime)number

Name Type Description
curTime number
Returns:
Type Description
number

processWork(curTime)number|void

Name Type Description
curTime number
Returns:
Type Description
number | void

processWork2(curTime)number|void

Name Type Description
curTime number
Returns:
Type Description
number | void

refresh()void

Returns:
Type Description
void

registerRemovedUidList(uid)void

Name Type Description
uid string | Array.<string>
Returns:
Type Description
void

removeEdit(modelId)void

Name Type Description
modelId string
Returns:
Type Description
void

removeEditModelAll()void

편집이 이뤄진 모든 3D 모델을 제거하는 함수

Returns:
Type Description
void

removeFilter(featureId)boolean

필터 ID를 입력받아 해당 필터가 removedList에 적재되어 있는지를 반환하는 함수

Name Type Description
featureId string

필터 ID

Returns:
Type Description
boolean removedList 적재 여부

removeMaterialIndex(object, materialIndex)boolean

Name Type Description
object ModelMesh
materialIndex number
Returns:
Type Description
boolean

removeModelByUid(uid)void

uid를 입력받아 3D 모델을 제거하는 함수

Name Type Description
uid string

모델의 uid

Returns:
Type Description
void

removeTileFromScene(tile)Object3D|void

Name Type Description
tile U3dQuadTile
Returns:
Type Description
Object3D | void

setEditEvent(meshes)void

Name Type Description
meshes Array.<Object3D>
Returns:
Type Description
void

setEmissiveColor(r, g, b)boolean

Name Type Description
r number
g number
b number
Returns:
Type Description
boolean

setOpacity(val)void

Name Type Description
val number
Returns:
Type Description
void

setOriginCenter(mesh)void

입력 받은 Mesh의 BoundingBox를 생성하고 가운데점(Center)을 구하는 함수

Name Type Description
mesh ModelMesh

모델 Mesh

Returns:
Type Description
void

setSplitEvent(parent, child)U3dModelLayer~EditedEvent|undefined

Name Type Description
parent ModelMesh
child ModelMesh
Returns:
Type Description
U3dModelLayer~EditedEvent | undefined

setToonImgUrl(url)void

Name Type Description
url string
Returns:
Type Description
void

setWireframe(setWireframe)void

건물의 material을 wireFrame으로 렌더링합니다.

Name Type Description
setWireframe boolean

설정 여부

Returns:
Type Description
void

settingModelLayerMaterial(material)void

Name Type Description
material ModelMaterial
Returns:
Type Description
void

show(show, refresh)void

레이어 가시화 함수

Name Type Description
show boolean

가시화 여부. show면 true, hide면 false를 넣는다.

refresh boolean optional
Returns:
Type Description
void

update(drawArg)void

Name Type Description
drawArg UDrawArg
Returns:
Type Description
void

updateDetailByFrustum(tile, drawArg, force)boolean

Name Type Description
tile U3dQuadTile
drawArg UDrawArg optional
force boolean optional
Returns:
Type Description
boolean

updateHeight(tile, drawArg, force)void

Name Type Description
tile U3dQuadTile
drawArg UDrawArg optional
force boolean optional
Returns:
Type Description
void

Type Definitions

EditDataobject

모델 편집 데이터

Properties:
Name Type Argument Description
translate Vector3 <optional>

위치 편집 임계값

rotate Euler | Vector3 <optional>

회전 편집값

scale Vector3 <optional>

크기 편집값

split string <optional>

분할 시 부모 mesh uid

materialSplit Map.<number, U3dModelLayer~SplitInfo> <optional>

머터리얼 분할 정보

materialColor U3dModelLayer~MaterialColorInfo <optional>

머터리얼 색상 정보

EditedEventobject

모델 편집 이벤트 정보

Properties:
Name Type Argument Description
id string

편집 모델 ID

position Vector3 <optional>

편집할 위치

editData U3dModelLayer~EditData

편집할 모델 정보

mode string <optional>

편집 모드 (translate, rotation, scale)

axis Vector3 <optional>

편집할 기준 축

mesh ModelMesh <optional>

편집할 mesh 객체

isSetColor boolean <optional>

색상 설정 여부

color string | number | ColorRepresentation <optional>

적용할 색상

opacity number | string <optional>

적용할 불투명도

exceptTexture boolean <optional>

텍스처 제외 여부

afterFunction function <optional>

편집 후 콜백

FaceIndexInfoobject

addFaceIndexInfo 호출 시 사용되는 face 분할 정보

Properties:
Name Type Argument Description
composedInfo Object

합성 메시 정보

materialIndex number

머터리얼 인덱스

tileMaxKey string <optional>

타일 최대 키

ImageOptobject

모델 mesh 옵션

Properties:
Name Type Argument Description
images Array.<{baseurl: string, name: string}> <optional>

MaterialColorInfoobject

머터리얼 색상 편집 정보

Properties:
Name Type Argument Description
id string

모델 ID

materialIndex number

머터리얼 인덱스

start number

geometry group start

count number

geometry group count

tileMaxKey string <optional>

타일 최대 키

MeshUserDataExtobject

Mesh.userData 확장

Properties:
Name Type Argument Description
id string <optional>
oid string <optional>
label Object3D <optional>
centerGoogle Object <optional>

RGBColorobject

RGB 색상 객체

Properties:
Name Type Description
r number

Red

g number

Green

b number

Blue

SplitInfoobject

분할 편집 정보

Properties:
Name Type Argument Description
childId string

자식 mesh ID

materialIndex number

머터리얼 인덱스

tileMaxKey string <optional>

타일 최대 키

U3dModelLayerCOobject

~extends U3dLayer~U3dLayerCO
U3dModelLayer 생성자 옵션

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

모델 텍스처 사용 여부

setWireframe boolean <optional>
false

모델 wireFrame 설정 여부

compressmodel boolean <optional>
false

모델 압축 여부 (압축 방식:gzip)

ext string <optional>
'.u3f'

모델 데이터 형식

emissiveColor U3dModelLayer~RGBColor <optional>

모델 발광(emissive) 색상 (기본값: r=0.006, g=0.006, b=0.006)