Editor
大约 3 分钟
Editor
引擎内置编辑器,继承自BaseEvent,通过Viewer实例访问获取。
注意
如果需要历史记录器生效,物体的所有操作如添加、删除、更新等,应通过editor实现。
属性成员
selected
选中对象
- 类型:
THREE.Object3D 
history
历史记录器
- 类型:
VT.History 
drawer
绘制控件
- 类型:
VT.DrawControl绘制控件 
方法
setEnable
是否开启编辑器,编辑器默认关闭
- setEnable(enable)
 - 类型:
Function - 参数: 
- enable 
{Boolean}控件对象 
 - enable 
 - 返回:无
 
viewer.editor.setEnable(true);
eachSelected
遍历选中物体
- eachSelected(callback)
 - 类型:
Function - 参数: 
- callback 
{Function}回调方法,参数为选中物体 
 - callback 
 - 返回:无
 
// 遍历选中物体,并打印出名称
viewer.editor.eachSelected((thing) => {
    console.log(thing.name);
});
deleteSelected
删除选中对象
- deleteSelected()
 - 类型:
Function - 参数:无
 - 返回:无
 
draw
激活绘制工具并根据参数绘制
- draw(option)
 - 类型:
Function - 参数: 
- option 
{Object}绘制参数,除type为绘制类型,option内的其它参数均为该物体的参数- type 
{String}必选,绘制类型,为THING物体对象 
 - type 
 
 - option 
 - 返回:无
 
// 绘制点位
viewer.editor.draw({
    type: "billboard",
    material: {
        map: {
            image: "thing-point"
        }
    }
});
endDraw
结束绘制
- endDraw()
 - 类型:
Function - 参数:无
 - 返回:无
 
objectByUuid
根据UUID获取物体对象
- objectByUuid(uuid)
 - 类型:
Function - 参数: 
- uuid 
{String}对象唯一编号 
 - uuid 
 - 返回:无
 
select
选中物体对象
- select(object)
 - 类型:
Function - 参数: 
- object 
{VT.Thing | THREE.Object3D}物体对象 
 - object 
 - 返回:无
 
deselect
取消选中
- deselect()
 - 类型:
Function - 参数:无
 - 返回:无
 
removeTransformControls
移除变化控件
- removeTransformControls()
 - 类型:
Function - 参数:无
 - 返回:无
 
updateObject
更新对象,执行本方法将记录到历史记录中。
注意
暂不支持历史记录的更新属性包括:dimensionHelper、shader、video、style、box、edge、userData
- updateObject(object, config)
 - 类型:
Function - 参数: 
- object 
{VT.Thing | THREE.Object3D}物体对象 - config 
{Object}配置项,支持的更新如下 
 - object 
 - 返回:无
 
const { 
    uuid, 
    name, 
    visible, 
    renderOrder, 
    position, 
    rotation, 
    scale, 
    center,
    frustumCulled, 
    layers, 
    properties, 
    interact,
    receiveShadow, 
    castShadow, 
    box, 
    edge, 
    geometry, 
    style, 
    userData, 
    locked,
    dimensionHelper, 
} = config;
// 更新模型位置
viewer.editor.updateObject(model, {position: [15, 20, 11]});
// 更新模型名称
viewer.editor.updateObject(model, {name: "newName"})
add
添加物体对象
- add(object, parent)
 - 类型:
Function - 参数: 
- object 
{VT.Thing | THREE.Object3D}物体对象 - parent 
{VT.Thing | THREE.Object3D}父节点 
 - object 
 - 返回:无
 
move
移动对象
- move(object, parent, before)
 - 类型:
Function - 参数: 
- object 
{VT.Thing | THREE.Object3D}物体对象 - parent 
{VT.Thing | THREE.Object3D}父节点 - before 
{Integer}插入的序列号 
 - object 
 - 返回:无
 
remove
删除对象
- remove(object)
 - 类型:
Function - 参数: 
- object 
{VT.Thing | THREE.Object3D}物体对象 
 - object 
 - 返回:无
 
clone
克隆对象
- clone(object)
 - 类型:
Function - 参数: 
- object 
{VT.Thing | THREE.Object3D}物体对象 
 - object 
 - 返回:无
 
undo
撤消上一步动作
注意
如果需要历史记录器生效,物体的所有操作如添加、删除、更新等,应通过editor实现。
- undo()
 - 类型:
Function - 参数:无
 - 返回:无
 
redo
重新做一次上一次取消的动作
注意
如果需要历史记录器生效,物体的所有操作如添加、删除、更新等,应通过editor实现。
- redo()
 - 类型:
Function - 参数:无
 - 返回:无
 
getRootTree
获取场景树
- getRootTree(option)
 - 类型:
Function - 参数: 
- option 
{Object}过滤参数,均可选- keyword 
{String}名称过滤关键字 - type 
{String}物体类型过滤关键字 
 - keyword 
 
 - option 
 - 返回:
{Array}