GeOnDT GeOnDT for JS

Class: UDevToolView

UDevToolView

UDevToolView 클래스
디버그용 UI를 화면에 띄워 App 설정 값을 조절하거나
현재 FPS나 메모리 사용량 등 성능 디버깅 정보를 확인할 수 있게 도와주는 개발 도구 창

new UDevToolView(app, opt)

UDevToolView 생성자

Name Type Default Description
app U3dApp
opt UDevToolsViewCO {} optional

Methods

addController(itemOpt)GUI_DevToolController|undefined

UI 컨트롤러를 추가하는 메서드입니다. 반환된 컨트롤러의 setTitle()로 마우스를 올렸을 때 표시할 설명을 설정할 수 있습니다. 옵션의 onChange·onFinishChange 콜백이 정상 반환되면 항목 이름과 입력값을 정보 로그로 기록합니다.

Name Type Description
itemOpt GUI_Contoller_OPT

컨트롤러의 초기값, 배치와 변경 콜백

Returns:
Type Description
GUI_DevToolController | undefined 생성된 컨트롤러. 생성 실패 시 undefined
Example
view.addController({tabName: 'Settings', name: 'Tile Ratio', value: 1, min: 0.3, max: 3})
    ?.setTitle('타일 크기 배율을 조절합니다.');

addFolder(name, tabName)THREE_GUI|undefined

폴더를 추가하는 메서드입니다.
상위 탭을 설정 안하면, 현재 활성화 된 탭에 폴더를 추가합니다.

Name Type Description
name string

폴더 이름

tabName string optional

폴더를 추가할 상위 탭 이름

Returns:
Type Description
THREE_GUI | undefined 생성된 폴더

addGraph(title, traceName, opt)HTMLCanvasElement|undefined

특정 컨트롤러 값을 추적하는 그래프를 추가하는 메서드입니다.

Name Type Default Description
title string

그래프 제목(이름)

traceName string

추적할 컨트롤러 이름

opt GUI_GRAPH_OPT {} optional

그래프 추가 옵션

Returns:
Type Description
HTMLCanvasElement | undefined 그래프 추가 성공 시 그래프 반환, 실패하면 undefined 반환

addTab(name)GUI_TAB_INFO|undefined

탭을 추가하는 메서드입니다.

Name Type Description
name string

추가할 탭 이름

Returns:
Type Description
GUI_TAB_INFO | undefined 추가한 탭 정보

dispose()

UDevToolView를 제거하는 메서드입니다.

getController(name)THREE_GUI_Controller|undefined

이름에 해당하는 컨트롤러를 반환하는 메서드입니다.

Name Type Description
name string

컨트롤러 이름

Returns:
Type Description
THREE_GUI_Controller | undefined 이름에 해당하는 컨트롤러가 없으면 undefined 반환

getControllersInFolder(folderName, tabName)Array.<THREE_GUI_Controller>

폴더 하위 컨트롤러를 반환하는 메서드입니다.

Name Type Description
folderName string

폴더 이름

tabName string optional

폴더 상위 탭 이름

Returns:
Type Description
Array.<THREE_GUI_Controller> 컨트롤러 목록

getControllersInTab(tabName)Array.<THREE_GUI_Controller>

탭 하위 컨트롤러를 반환하는 메서드입니다.

Name Type Description
tabName string

탭 이름

Returns:
Type Description
Array.<THREE_GUI_Controller> 컨트롤러 목록

getMaxHeight()string|undefined

UDevToolView 최대 높이를 조회하는 메서드입니다.

Returns:
Type Description
string | undefined UDevToolView maxHeight

getWidth()number

UDevToolView 너비를 조회하는 메서드입니다.

Returns:
Type Description
number UDevToolView 너비

hasTab(name)boolean

이름에 해당하는 탭이 존재하는지 조회하는 메서드입니다.

Name Type Description
name string

탭 이름

Returns:
Type Description
boolean 탭이 있으면 true, 없으면 false

hide()

UDevToolView를 화면에서 숨기는 메서드입니다.

offUpdate(callback)

등록한 사용자 update 콜백을 제거합니다.
파라미터로 null이나 undefined를 넣으면 전체 update 콜백을 제거합니다.

Name Type Description
callback function optional

onUpdate(callback)function

Status update loop마다 실행할 사용자 콜백을 등록하는 메서드입니다.

Name Type Description
callback function
Returns:
Type Description
function

refresh()

현재 앱 설정과 상태를 다시 읽어 개발 도구의 표시값을 갱신합니다. 기본 Settings 항목은 앱 getter와 현재 컨트롤러의 factor에서 읽으며, Status는 현재 측정값으로 갱신합니다. 외부 setter로 변경한 값을 표시할 때 사용하며 앱 설정이나 Reset의 초기 기준은 바꾸지 않습니다. 사용자 추가 컨트롤러는 연결된 state의 현재 값만 표시합니다. 뷰를 해제한 뒤에는 아무 작업도 하지 않습니다.

Example
app.setTileUpdateSensitivity(2);
app.getDevToolView()?.refresh();

removeAllGraph()

전체 그래프를 제거하는 메서드입니다.

removeController(name, tabName)boolean

이름에 해당하는 컨트롤러를 제거하는 메서드입니다.

Name Type Description
name string

제거할 컨트롤러 이름

tabName string optional

컨트롤러가 속한 탭 이름

Returns:
Type Description
boolean 제거 성공 여부

removeFolder(name, tabName)boolean

이름에 해당하는 폴더를 제거하는 메서드입니다.

Name Type Description
name string

제거할 폴더 이름

tabName string optional

폴더가 속한 탭 이름

Returns:
Type Description
boolean 제거 성공 여부

removeGraph(tile)

그래프를 제거하는 메서드입니다.

Name Type Description
tile string

제거할 그래프 제목(이름)

removeTab(name)

이름에 해당하는 탭을 제거하는 메서드입니다.

Name Type Description
name string

제거할 탭 이름

setMaxHeight(maxHeight)

UDevToolView 최대 높이를 설정하는 메서드입니다.
숫자를 입력하면 숫자 픽셀 높이 (100 -> 100px) 로 설정합니다.
css 설정과 호환되는 string 값으로 설정 가능합니다.

Name Type Description
maxHeight number | string
Example
const devToolView = app.getDevToolView();

devToolView.setMaxHeight(100);
devToolView.setMaxHeight('100px');
devToolView.setMaxHeight('80vh');

setWidth(width)

UDevToolView 너비를 설정하는 메서드입니다

Name Type Description
width number

너비

show()

UDevToolView를 화면에 표시하는 메서드입니다.