GeOnDT GeOnDT for JS

Class: U3dModelBasicLayer

U3dModelBasicLayer

~extends U3dModelLayer
3D 모델 레이어 클래스
obj, 3ds, fbx, glb 등 3D 포멧 모델을 출력하는 기본 레이어

new U3dModelBasicLayer(opt)

U3dModelBasicLayer 생성자

Name Type Description
opt Partial.<U3dModelBasicLayerCO>

Members

OPT_KEYS

Methods

checkIsExistModel(name, baseurl)boolean

모델 레이어 중복 여부를 검사하는 함수

Name Type Description
name string

모델 이름

baseurl string optional

모델 url, 미입력 시 name 만으로 검색

Returns:
Type Description
boolean 모델 레이어 중복 여부

dispose()

레이어를 처분(dispose)하는 함수
레이어만 삭제하는 remove() 함수와 달리 레이어에 할당된 모든 이벤트, POI, Cache를 제거한다.

get3DBoxFromGoogleBox(googleBox)UBox3

Object의 GoogleBox 값으로 3DBox(UBox3)를 구하고 이를 반환하는 함수

Name Type Description
googleBox BoundingBox2D

GoogleBox

Returns:
Type Description
UBox3 3DBox

getBoundingBox()Box3

레이어의 경계 상자(바운딩박스)를 반환하는 함수

Returns:
Type Description
Box3 바운딩박스 객체

getModelInfo(name, baseurl)ModelInfo|undefined

모델 레이어 등록된 모델 정보를 검색하여 리턴하는 함수

Name Type Description
name string

모델 이름

baseurl string optional

모델 url, 미입력 시 name 만으로 검색

Returns:
Type Description
ModelInfo | undefined 등록된 모델 정보

getObjectCenter()Vector3

Object의 가운데점 좌표을 반환하는 함수

Returns:
Type Description
Vector3 Object의 가운데점 좌표

getTexture(url)Promise.<Texture>

URL에 해당하는 텍스처를 Load하는 함수

Name Type Description
url string

텍스처 URL

Returns:
Type Description
Promise.<Texture> promise 함수. 작업 성공 시 Load한 텍스처를 반환.

getU3FInfo(model, baseurl)DeferredObject.<any>

U3F 모델을 Load하고 해당 모델의 정보를 반환하는 함수

Name Type Description
model ModelInfo | KeyValue | string | undefined

U3F 모델 파라미터

baseurl string

U3F 모델 URL

Returns:
Type Description
DeferredObject.<any> promise 함수. 작업 성공 시 Load한 U3F 3D Object 배열을 반환한다.

initializeU3f()Promise.<boolean>

U3F 모델을 초기화하는 함수

Returns:
Type Description
Promise.<boolean>

load(model, textureUrl)Promise.<ModelObject3D>

3D 모델을 Load하는 함수

Name Type Description
model ModelInfo

모델 데이터

textureUrl string optional

텍스처 URL

Returns:
Type Description
Promise.<ModelObject3D> promise 함수. 작업 성공 시 Load한 3D Object들을 반환한다.

parseXML(xml)

XML 문서를 파싱하는 함수
[용어]
파싱(Parsing) - 특정 형식으로 구성된 데이터를 분석해 활용 가능한 데이터로 재구성하는 과정.

Name Type Description
xml XMLHttpRequest

xml 문서

reLoad()Promise.<string>

모델 리스트에 적재된 모델들을 다시 Load하는 함수

Returns:
Type Description
Promise.<string>

refresh()

레이어 새로고침 함수

setOpacity(val)

레이어 상의 3D 모델들의 투명도를 설정 함수

Name Type Description
val number

투명도 설정값 (0 ~ 1)

setVisibleByName(name, visible)

모델의 이름을 입력받아 특정 모델의 가시화 여부를 설정하는 함수

Name Type Description
name string

모델 이름

visible boolean

가시화 설정 변수. show면 true, hide면 false를 넣는다.

show(show)

3D 모델 레이어 가시화 함수

Name Type Description
show boolean

가시화 옵션값. show는 true, hide는 false 값을 넣은다.

Type Definitions

BoundingBox2Dobject

2D 경계 영역 (2D AABB BoundingBox)

Properties:
Name Type Argument Description
minx number
miny number
minz number <optional>
maxx number
maxy number
maxz number <optional>

ModelInfoobject

서버에서 다운로드 할 모델 정보

Properties:
Name Type Argument Description
name string

모델 이름 (사용자 정의)

baseurl string

모델 데이터 경로

fileName string

모델 데이터 이름 (파일 이름)

ext string

모델 데이터 형식

resolve function <optional>
reject function <optional>
Example
const modelInfo = {
     name     : 'helicopter',
     baseurl  : 'https://ServiceData//component/helicopter/ka27/',
     fileName : 'ka27.fbx',
     ext      : 'fbx'
 };
 option.listmodel.push(modelInfo);

ModelObject3DObject3D Partial.<{_xml: KeyValue, _name: string, _ext: string, _drawArg: UDrawArg, _nodeID: number, af: boolean, animations: Array.<AnimationClip>, hasGizmo: {removeGizmoUI: function()}, setManualUpdate: function()}>

모델 3D 오브젝트 (Object3D + 레이어 확장 멤버)

U3dModelBasicLayerCOobject

~extends U3dModelLayer~U3dModelLayerCO
U3dModelBasicLayer 생성자 옵션

Properties:
Name Type Argument Default Description
name string

레이어 이름

baseUrl string <optional>

모델 데이터(3DS,OBJ,FBX,GLB 등)를 받아올 요청 URL

side number <optional>
2

기본값 DoubleSide

type string <optional>
'model'

레이어 타입

ext string <optional>
'3ds'

레이어 모델 기본 형식

drawLine boolean <optional>
true

레이어에 올라가는 모델들의 외곽선 생성 여부. true면 생성한다.

needTexture boolean <optional>
true

모델 텍스처 출력 여부

needXml boolean <optional>
true

xml 사용 여부

listModel Array.<U3dModelBasicLayer.types~ModelInfo> <optional>
[]

서버에서 다운로드할 모델 정보 배열

path string <optional>

레이어의 데이터 경로 정보

useLod boolean <optional>

레이어 LOD 사용 여부

yUp boolean <optional>
false

레이어 모델의 Y축 up 여부

scale Vector3 <optional>
{x: 1, y: 1, z: 1}

레이어 크기값

location string <optional>

레이어의 위치 좌표 (EPSG:3857)

geoLocation GeoPosition <optional>
{x: 0, y: 0, z: 0}

레이어의 위경도 좌표 (EPSG:4326)

rotation Vector3Like <optional>
{x: 0, y: 0, z: 0}

레이어 회전값

boundingBox U3dModelBasicLayer.types~BoundingBox2D <optional>
{minx: 0, miny: 0, maxx: 0, maxy: 0}

2D 경계 영역 (2D AABB BoundingBox)

height number <optional>
0

레이어 높이

useU3f boolean <optional>
false

U3F모델 사용 여부

xmlUrl string <optional>

xml 요청 URL

containMetaData boolean <optional>
false

메타 데이터 사용 여부. baseurl + metaData.json 형식의 파일이 있을때 사용.

object UGroup <optional>

복제할 원본 모델 그룹