CameraControlComponent()

CameraControlComponent相机控制器

new CameraControlComponent()

相机控制器。

Extends

Members

active :boolean

激活或停用组件。
Overrides:

app :THING.App

获取应用程序。
Overrides:

autoAdjustInstanceOffset :boolean

开启/禁用 自动修正实例偏移
Example
let camera = THING.App.current.camera;
camera.autoAdjustInstanceOffset = false;
// @expect(camera.autoAdjustInstanceOffset == false);

boundary :BoundingBoxResult

设置/获取 相机的target位置的包围盒
Example
let camera = THING.App.current.camera;
let center = [10,10,10];
let halfSize = [20,20,20];
let boundary = {center, halfSize};
camera.boundary = boundary;
// @expect(camera.boundary.center[0] == 10 && camera.boundary.halfSize[0] == 20);

dampingFactor :number

设置/获取 惯性系数
Example
let camera = THING.App.current.camera;
camera.dampingFactor = 10;
// @expect(camera.dampingFactor == 10);

distanceLimited :Array.<(number|null)>

相机距离限制 null代表无限制
Example
let camera = THING.App.current.camera;
camera.distanceLimited = [10,1000];
// @expect(camera.distanceLimited[0] == 10 && camera.distanceLimited[1] == 1000);

enable :boolean

开启/禁用控制器
Example
let camera = THING.App.current.camera;
camera.enable = false;
// @expect(camera.enable == false)

enableAdjustNear :boolean

开启/禁用 自动校正近剪裁面
Example
let camera = THING.App.current.camera;
camera.enableAdjustNear = false;
// @expect(camera.enableAdjustNear == false)

enableAdjustPanSpeed :boolean

开启/禁用 自动校正平移速度
Example
let camera = THING.App.current.camera;
camera.enableAdjustPanSpeed = false;
// @expect(camera.enableAdjustPanSpeed == false);

enableAdjustTargetPosition :boolean

开启/禁用 自动校正target(地球相机模式下需禁用)
Example
let camera = THING.App.current.camera;
camera.enableAdjustTargetPosition = false;
// @expect(camera.enableAdjustTargetPosition == false)

enableAutoMoveTargetForward :boolean

开启/禁用 自动向前移动target?
Example
let camera = THING.App.current.camera;
camera.enableAutoMoveTargetForward = false;
// @expect(camera.enableAutoMoveTargetForward == false)

enableDamping :boolean

开启/禁用 惯性
Example
let camera = THING.App.current.camera;
camera.enableDamping = false;
// @expect(camera.enableDamping == false);

enableKeyboardControl :boolean

开启/禁用 键盘控制
Example
let camera = THING.App.current.camera;
camera.enableKeyboardControl = false;
// @expect(camera.enableKeyboardControl == false);

enableMapControl :boolean

开启/禁用 类似地图操作习惯的模式 左键平移右键旋转
Example
THING.App.current.camera.enableMapControl = true;
// @expect(THING.App.current.camera.enableMapControl == true);

enablePan :boolean

开启/禁用 平移
Example
let camera = THING.App.current.camera;
camera.enablePan = false;
// @expect(camera.enablePan == false);

enablePickWhenChanging :boolean

相机改变时是否开启pick
Example
let camera = THING.App.current.camera;
camera.enablePickWhenChanging = false;
// @expect(camera.enablePickWhenChanging == false);

enableRotate :boolean

开启/禁用 旋转
Example
let camera = THING.App.current.camera;
camera.enableRotate = false;
// @expect(camera.enableRotate == false);

enableZoom :boolean

开启/禁用 缩放
Example
let camera = THING.App.current.camera;
camera.enableZoom = false;
// @expect(camera.enableZoom == false);

enableZoomToMouseCursorOnWheel :boolean

开启/禁用 按照鼠标位置缩放(指哪儿打哪儿)
Example
let camera = THING.App.current.camera;
camera.enableZoomToMouseCursorOnWheel = false;
// @expect(camera.enableZoomToMouseCursorOnWheel == false);

horzAngleLimit :Array.<number>

限制相机水平角
Example
let camera = THING.App.current.camera;
camera.horzAngleLimit = [10,100];
// @expect(camera.horzAngleLimit[0] == 10 && camera.horzAngleLimit[1] == 100);

isChanging :boolean

相机的位置,旋转角度是否在变化
Example
let camera = THING.App.current.camera;
camera.pan(0, -50);
// @expect(camera.isChanging == true)

keyPanSpeed :number

设置/获取 键盘平移速度
Example
let camera = THING.App.current.camera;
camera.keyPanSpeed = 10;
// @expect(camera.keyPanSpeed == 10);

mode :CameraMode

设置相机模式 在THING.EARTH创建的地图上使用THING.CameraMode.Map 在非地图使用THING.CameraMode.Normal
Example
app.camera.mode = THING.CameraMode.Map;
app.camera.mode = THING.CameraMode.Normal;

object :THING.BaseObject

获取对象。
Overrides:

onActiveChange :OnActiveChangeComponentCallback

活动状态改变时的回调函数。
Overrides:

onAfterAdd :OnAfterAddComponentCallback

添加之后。
Overrides:

onAfterAddChild :OnAddChildComponentCallback

添加子对象之后的回调函数。
Overrides:

onAfterRemove :OnAfterRemoveComponentCallback

移除之后。
Overrides:

onAfterRemoveChild :OnRemoveChildComponentCallback

移除子对象之后的回调函数。
Overrides:

onBeforeAdd :OnBeforeAddComponentCallback

添加之前。
Overrides:

onBeforeAddChild :OnAddChildComponentCallback

添加子对象之前的回调函数。
Overrides:

onBeforeRemove :OnBeforeRemoveComponentCallback

移除之前。
Overrides:

onBeforeRemoveChild :OnRemoveChildComponentCallback

移除子对象之前的回调函数。
Overrides:

onCopy :OnCopyComponentCallback

复制时的回调函数。
Overrides:

onInit :OnInitComponentCallback

初始化时的回调函数。
Overrides:

onLoadResource :OnLoadResourceComponentCallback

加载资源时的回调函数。
Overrides:

onParentChange :OnParentChangeComponentCallback

改变父对象时的回调函数。
Overrides:

onRefresh :OnRefreshComponentCallback

刷新时的回调函数。
Overrides:

onResize :OnResizeComponentCallback

调整大小时的回调函数。
Overrides:

onUnloadResource :OnUnloadResourceComponentCallback

卸载资源时的回调函数。
Overrides:

onUpdate :OnUpdateComponentCallback

更新时的回调函数。
Overrides:

onVisibleChange :OnVisibleChangeComponentCallback

可见性改变时的回调函数。
Overrides:

panSpeed :number

设置/获取 平移速度(鼠标,触屏)
Example
let camera = THING.App.current.camera;
camera.panSpeed = 10;
// @expect(camera.panSpeed == 10);

rotateSpeed :number

设置/获取 旋转速度
Example
let camera = THING.App.current.camera;
camera.rotateSpeed = 10;
// @expect(camera.rotateSpeed == 10);

screenSpacePanning :boolean

设置/获取 相机是否在屏幕空间平移True表示平移操作基于屏幕,否则表示基于相机的Y轴方向。默认值为true。
Example
let camera = THING.App.current.camera;
camera.screenSpacePanning = false;
// @expect(camera.screenSpacePanning == false);

target :Array.<number>

设置/获取 相机目标点位置(世界坐标系)
Example
let camera = THING.App.current.camera;
camera.target = [10,10,10];
// @expect(camera.target[0] == 10 && camera.target[1] == 10 && camera.target[2] == 10);

upDirection :Array.<number>

设置/获取 相机的up方向
Example
let camera = THING.App.current.camera;
camera.upDirection = [10,10,10];
// @expect(camera.upDirection[0] == 10 && camera.upDirection[1] == 10 && camera.upDirection[2] == 10);

vertAngleLimit :Array.<number>

限制相机竖直角
Example
let camera = THING.App.current.camera;
camera.vertAngleLimit = [10,100];
// @expect(camera.vertAngleLimit[0] == 10 && camera.vertAngleLimit[1] == 100);

zoomSpeed :number

设置/获取 缩放速度
Example
let camera = THING.App.current.camera;
camera.zoomSpeed = 10;
// @expect(camera.zoomSpeed == 10);

zoomToMouseCursorOnWheelSpeed :number

获取/设置鼠标滚轮缩放时的速度因子。
Example
let camera = THING.App.current.camera;
camera.zoomToMouseCursorOnWheelSpeed = 10;
// @expect(camera.zoomToMouseCursorOnWheelSpeed == 10);

Methods

onAdd(object)

当添加组件时。
Parameters:
Name Type Description
object THING.BaseObject 对象。
Overrides:

onRemove()

当移除组件时。
Overrides:

pan(deltaX, deltaY, durationopt)

在屏幕空间平移
Parameters:
Name Type Attributes Default Description
deltaX number 屏幕空间x方向的偏移量
deltaY number 屏幕空间y方向的偏移量
duration number <optional>
500 时间(毫秒)
Example
// Move camera with bottom direction
	app.camera.pan(0, -50);

zoom(distance, param, options)

相机向前或向后移动 (放大或缩小)
Parameters:
Name Type Description
distance number 相机向前(+)或向后(-)移动的距离
param object 参数
Properties
Name Type Attributes Default Description
duration number <optional>
500 时间
updateTarget boolean <optional>
true 是否更新相机的target
options