RotateControl
카메라의 회전을 담당하는 컨트롤
class RotateControl extends Component<RotateControlEvents> implements CameraControl
Extends
- Component<RotateControlEvents>
Implements
Properties
현재 컨트롤이 동작중인지를 나타내는 값
키보드를 이용한 회전을 비활성화합니다.
x축 회전(pitch)을 비활성화합니다.
y축 회전(yaw)을 비활성화합니다.
회전 애니메이션의 시간 (ms)
회전 애니메이션에 적용할 easing 함수
컨트롤이 활성화되었는지 여부를 나타내는 값
키보드를 통한 회전 배율
현재 pitch 값
마우스/터치를 통한 회전 배율
true
로 설정할 경우, 모바일(터치) 환경의 캔버스 영역 내에서 스크롤을 가능하게 합니다.
이 값을 활성화할 경우, 사용자가 카메라 뷰를 위/아래로 바꾸기 위해서는 먼저 가로로 스와이프한 이후에 세로로 스와이프해야만 합니다.
현재 yaw 값
Methods
인스턴스를 삭제하고 부착된 모든 이벤트 리스너를 제거합니다.
컨트롤을 비활성화하고 모든 이벤트 리스너들을 제거합니다.
컨트롤을 활성화하고 이벤트 리스너들을 추가합니다.
컨트롤의 내부 크기를 갱신합니다.
컨트롤을 카메라의 현재 상태와 동기화합니다.
Constructor
new RotateControl(controlEl: HTMLElement, enableBlocked: boolean, options: Partial<RotateControlOptions>): RotateControl
Parameters
HTMLElement
입력을 받을 엘리먼트
boolean
초기화 과정에서 컨트롤 활성화 여부
컨트롤 옵션들
Properties
animating
animatingboolean
현재 컨트롤이 동작중인지를 나타내는 값
disableKeyboard
disableKeyboardboolean
false
키보드를 이용한 회전을 비활성화합니다.
disablePitch
disablePitchboolean
false
x축 회전(pitch)을 비활성화합니다.
disableYaw
disableYawboolean
false
y축 회전(yaw)을 비활성화합니다.
duration
durationnumber
300
회전 애니메이션의 시간 (ms)
easing
enabled
enabledboolean
컨트롤이 활성화되었는지 여부를 나타내는 값
keyboardScale
keyboardScale[number,number]
[1, 1]
키보드를 통한 회전 배율
pitch
pointerScale
pointerScale[number,number]
[1, 1]
마우스/터치를 통한 회전 배율
scrollable
scrollableboolean
true
로 설정할 경우, 모바일(터치) 환경의 캔버스 영역 내에서 스크롤을 가능하게 합니다.
이 값을 활성화할 경우, 사용자가 카메라 뷰를 위/아래로 바꾸기 위해서는 먼저 가로로 스와이프한 이후에 세로로 스와이프해야만 합니다.
yaw
Methods
destroy
destroyvoid
destroy(): void
인스턴스를 삭제하고 부착된 모든 이벤트 리스너를 제거합니다.
disable
disablevoid
disable(): void
컨트롤을 비활성화하고 모든 이벤트 리스너들을 제거합니다.
enable
enablevoid
enable(): void
컨트롤을 활성화하고 이벤트 리스너들을 추가합니다.
hasOn
hasOnboolean
hasOn<K>(eventName: K): boolean
Parameters
K
off
off
off<K>(eventName: K, handlerToDetach: EventCallback<RotateControlEvents, K, RotateControl>): RotateControl
Parameters
K
EventCallback<RotateControlEvents, K, RotateControl>
on
on
on(eventHash: Partial<{ change: ((event: { delta: RotateDeltaType; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>): RotateControl
Parameters
Partial<{ change: ((event: { delta: RotateDeltaType; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>
once
once
once(eventHash: Partial<{ change: ((event: { delta: RotateDeltaType; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>): RotateControl
Parameters
Partial<{ change: ((event: { delta: RotateDeltaType; isKeyboard: boolean; isTouch: boolean }) => any); disable: ((event: { updateCursor: boolean }) => any); enable: ((event: { control: CameraControl; updateCursor: boolean }) => any); inputEnd: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; scrolling: boolean }) => any); inputStart: ((event: { inputType: "zoom" | "rotate" } & { isKeyboard: boolean; isTouch: boolean; srcEvent: MouseEvent | TouchEvent | KeyboardEvent }) => any); staticClick: ((event: { isTouch: boolean }) => any) }>
resize
resizevoid
resize(hfov: number, aspect: number, width: number, height: number): void
컨트롤의 내부 크기를 갱신합니다.
Parameters
number
카메라의 수평방향 fov값 (도 단위)
number
카메라 가로/세로 비율
number
갱신된 너비
number
갱신된 높이
sync
trigger
trigger
trigger<K>(event: K, ...params: EventTriggerParams<RotateControlEvents, K>): RotateControl
Parameters
K
EventTriggerParams<RotateControlEvents, K>