Appearance
snapshots-view
视图组件: 保存 ModelView 某一刻的截图, 并保留摄像机视角快照, 点击时可以恢复到当时的摄像机视角。
视图组件必须要配合 modelView 组件进行使用。
注册组件
javascript
...
import { DftSnapshotsView } from "vue3-dft-vision";
const app = createApp(App);
app.use(DftSnapshotsView);
...
javascript
...
import { DftSnapshotsView } from "vue2-dft-vision";
Vue.component('DftSnapshotsView',DftSnapshotsView)
...
使用方式
vue
<template>
<div style="width: 100vw; height: 100vh; display: flex">
<dft-model-view
:sceneConstructor="DFTCore.Scene"
:scene-options="sceneOptions"
></dft-model-view>
<div style="width: 200px">
<dft-snapshots-view :snapshots="snapshots"></dft-snapshots-view>
</div>
</div>
</template>
<script setup>
import { reactive, ref } from "vue";
import DFTCore from "../public/lib/dft-vision-core-es6.min.js";
const sceneOptions = reactive({
// 数据源,默认 DFTCore.OFFLINE
dataType: DFTCore.OFFLINE,
// 文件路径
url: "/pdv/1004",
});
const snapshots = reactive([]);
</script>
vue
<template>
<div style="width: 100vw; height: 100vh; display: flex">
<dft-model-view
:sceneConstructor="DFTCore.Scene"
:scene-options="sceneOptions"
></dft-model-view>
<div style="width: 200px">
<dft-snapshots-view :snapshots="snapshots"></dft-snapshots-view>
</div>
</div>
</template>
<script>
import DFTCore from "../public/lib/dft-vision-core-es6.min.js";
export default {
data() {
return {
sceneOptions: {
// 数据源,默认 DFTCore.OFFLINE
dataType: DFTCore.OFFLINE,
// 文件路径
url: "/pdv/1004",
// 资源文件夹地址
},
DFTCore,
snapshots: [],
};
},
};
</script>
props
属性 | 说明 | 类型 | 默认值 |
---|---|---|---|
symbol | 分组标识, 同组内组件产生联动交互, 默认所有组件在同一个组 | string | symbol | |
snapshots(v-model) | 视图快照列表 | Snapshot[] | [] |
editable | 是否可编辑 | boolean | true |
showAddButton | 是否展示新增按钮 | boolean | true |
bgColor | 每个视图的背景颜色 | string | #97A3BF |
initialViewSnapshot | 视图的初始位置 | Object | {} |
viewNodeTipsStyle | 视图提示信息弹窗样式 | Object | { height: '100%', top: 0, right: 0, zIndex: 9 } |
beforeAdd | 添加之前调用, 返回 false 阻止添加 | (snapshot: Snapshot, { snapshots: Snapshot[] }) => false | void | |
beforeRename | 重命名之前调用, 返回 false 阻止重命名 | (newName: string, { targetSnapshot: Snapshot }) => false | void | |
beforeDelete | 删除之前调用, 返回 false 阻止删除 | (snapshot: Snapshot, { snapshots: Snapshot[] }) => false | void |
events
事件名 | 说明 | 类型 |
---|---|---|
click | 视图点击事件 | (snapshot: Snapshot) => void |
add | 新增视图 | (snapshot: Snapshot, { snapshots: Snapshot[] }) => void |
delete | 删除视图 | (snapshot: Snapshot, { snapshots: Snapshot[] }) => void |
rename | 重命名 | (newName: string, { targetSnapshot: Snapshot }) => void |
sort | 排序 | { currentView: Snapshot, nextView: Snapshot | ''}) => void |