@xtctwins/tctwins-bimx-engine 0.2.35 → 0.2.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +193 -193
- package/dist/AnnotationTool-CK-fXB9a.mjs +167 -0
- package/dist/BIMX_Viewer_Lib.es.js +1 -1
- package/dist/BIMX_Viewer_Lib.umd.js +132 -132
- package/dist/{CommentTool-CLMHvhDg.mjs → CommentTool-DwVVLKJu.mjs} +114 -114
- package/dist/{HiddenTool-BxaocYlM.mjs → HiddenTool-DhdgebEt.mjs} +9 -9
- package/dist/{InspectorTool-BxkVjc2N.mjs → InspectorTool-ME7wIfcg.mjs} +45 -45
- package/dist/{MeasureTool-Dhh6Sbgx.mjs → MeasureTool-CcazBLjD.mjs} +56 -56
- package/dist/{MouseTool-G6PrOtTo.mjs → MouseTool-D7RsRmmE.mjs} +11 -11
- package/dist/{NavigateTool-DUViKucE.mjs → NavigateTool-xyZqojna.mjs} +2 -2
- package/dist/{RoamTool-DT-C5_LD.mjs → RoamTool-Co9FTa_E.mjs} +19 -19
- package/dist/{ScreenShotTool-DwD3os1T.mjs → ScreenShotTool-BzfgPHti.mjs} +125 -125
- package/dist/{SectionTool-BECncGjg.mjs → SectionTool-RuoFO5jr.mjs} +48 -48
- package/dist/{SettingTool-BJINjCEN.mjs → SettingTool-D3SGM7Fn.mjs} +126 -126
- package/dist/{StructureTree-DfKJQsz5.mjs → StructureTree-B4BdTZzg.mjs} +425 -416
- package/dist/{alert-CbUpN85r.mjs → alert-ByjJAM5u.mjs} +2 -2
- package/dist/{const-LMNhQnhe.mjs → const-C8FWJPiL.mjs} +8 -8
- package/dist/el-input-number-BlleXSu7.mjs +858 -0
- package/dist/{index-BjiSueKY.mjs → index-Cs5X3s4M.mjs} +38060 -38345
- package/dist/index.html +17 -17
- package/dist/{panel.vue_vue_type_style_index_0_lang-D7gHheNJ.mjs → panel.vue_vue_type_style_index_0_lang-qMgCfuqH.mjs} +1 -1
- package/dist/style.css +1 -1
- package/dist/{tallPanel-BeNxxovX.mjs → tallPanel-b39dROMP.mjs} +22 -22
- package/package.json +66 -65
- package/types/components/BCFComponents/BCFAddPanel.vue.d.ts +38 -10
- package/types/components/BCFComponents/BCFDetailPanel.vue.d.ts +37 -9
- package/types/components/BCFComponents/BCFDisplayList.vue.d.ts +5 -7
- package/types/components/BCFComponents/BCFFilter.vue.d.ts +5 -7
- package/types/components/BCFComponents/BCFTool.vue.d.ts +4 -7
- package/types/components/BCFComponents/addObjectOrAnno.vue.d.ts +5 -7
- package/types/components/BCFComponents/checkObjectPanel.vue.d.ts +5 -6
- package/types/components/BCFComponents/commentInput.vue.d.ts +36 -10
- package/types/components/BCFComponents/commentsView.vue.d.ts +36 -7
- package/types/components/BCFComponents/dialogPanel.vue.d.ts +5 -8
- package/types/components/BCFComponents/imageView.vue.d.ts +5 -7
- package/types/components/BCFComponents/imageZoomIn.vue.d.ts +5 -6
- package/types/components/BimViewerComponents/AnnotationTool.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/ClickEvent.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/CommentTool.vue.d.ts +32 -1
- package/types/components/BimViewerComponents/HiddenTool.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/MobileCommentsTool/add.vue.d.ts +6 -8
- package/types/components/BimViewerComponents/MobileCommentsTool/detail.vue.d.ts +4 -5
- package/types/components/BimViewerComponents/MobileCommentsTool/draw.vue.d.ts +2 -2
- package/types/components/BimViewerComponents/MobileCommentsTool/filter.vue.d.ts +250 -1
- package/types/components/BimViewerComponents/MobileCommentsTool/list.vue.d.ts +271 -7
- package/types/components/BimViewerComponents/MobileCommentsTool/zoomIn.vue.d.ts +5 -6
- package/types/components/BimViewerComponents/MouseTool.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/NavigateTool.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/PCCommentTool/pcdraw.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/RoamTool.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/SettingTool.vue.d.ts +4 -6
- package/types/components/BimViewerComponents/StructureTree.vue.d.ts +3042 -1
- package/types/components/BimViewerComponents/Toolbar.vue.d.ts +1 -1
- package/types/components/BimViewerComponents/mobileToolbar.vue.d.ts +18 -1
- package/types/components/MobileBCFComponents/MobileBCFAdd.vue.d.ts +37 -10
- package/types/components/MobileBCFComponents/MobileBCFDetail.vue.d.ts +37 -9
- package/types/components/MobileBCFComponents/MobileBCFDisplayList.vue.d.ts +271 -7
- package/types/components/MobileBCFComponents/MobileBCFFilter.vue.d.ts +250 -1
- package/types/components/MobileBCFComponents/MobileBCFTool.vue.d.ts +5 -8
- package/types/components/MobileBCFComponents/MobileCommentInput.vue.d.ts +38 -12
- package/types/components/MobileBCFComponents/MobileCommentsView.vue.d.ts +7 -9
- package/types/components/MobileBCFComponents/selectPanel.vue.d.ts +5 -7
- package/types/components/bimxViewer.vue.d.ts +7 -14
- package/types/components/utilsComponents/alert.vue.d.ts +1 -1
- package/types/components/utilsComponents/closeButton.vue.d.ts +1 -1
- package/types/components/utilsComponents/closeButton_dark.vue.d.ts +1 -1
- package/types/components/utilsComponents/emptyPage.vue.d.ts +1 -1
- package/types/components/utilsComponents/loading.vue.d.ts +1 -1
- package/types/components/utilsComponents/panel.vue.d.ts +8 -2
- package/types/components/utilsComponents/prompt.vue.d.ts +1 -1
- package/types/components/utilsComponents/rectangleButton.vue.d.ts +3 -1
- package/types/components/utilsComponents/tallPanel.vue.d.ts +13 -3
- package/types/components/utilsComponents/tallPanel_noPos.vue.d.ts +13 -3
- package/types/pages/viewerEntry.vue.d.ts +4 -56
- package/types/store/toolbars.d.ts +46 -46
- package/dist/AnnotationTool-DP8T6V26.mjs +0 -164
- package/dist/el-input-number-BOTXzhIN.mjs +0 -818
- package/types/components/BCFComponents/BCFCommentNew.vue.d.ts +0 -22
- package/types/components/BimViewerComponents/emptyPage.vue.d.ts +0 -8
- package/types/tests/cmt.d.ts +0 -1
package/README.md
CHANGED
|
@@ -1,193 +1,193 @@
|
|
|
1
|
-
## @xtctwins/tctwins-bimx-engine
|
|
2
|
-
|
|
3
|
-
# xtc 三维文件查看器
|
|
4
|
-
|
|
5
|
-
## 安装相关依赖
|
|
6
|
-
|
|
7
|
-
## UI element-plus
|
|
8
|
-
|
|
9
|
-
<https://www.npmjs.com/package/element-plus>
|
|
10
|
-
|
|
11
|
-
```ssh
|
|
12
|
-
npm i element-plus
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## 事件总线 mitt
|
|
16
|
-
|
|
17
|
-
<https://www.npmjs.com/package/mitt>
|
|
18
|
-
|
|
19
|
-
```ssh
|
|
20
|
-
npm i mitt
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## 状态管理 pinia
|
|
24
|
-
|
|
25
|
-
<https://www.npmjs.com/package/pinia>
|
|
26
|
-
|
|
27
|
-
```ssh
|
|
28
|
-
npm i pinia
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## 文件获取 ali-oss
|
|
32
|
-
|
|
33
|
-
<https://www.npmjs.com/package/ali-oss>
|
|
34
|
-
|
|
35
|
-
```ssh
|
|
36
|
-
npm i ali-oss
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
# 安装依赖
|
|
40
|
-
|
|
41
|
-
```ssh
|
|
42
|
-
// 安装依赖
|
|
43
|
-
npm i @xtctwins/tctwins-bimx-engine
|
|
44
|
-
// 引入样式
|
|
45
|
-
import "@xtctwins/tctwins-bimx-engine/dist/style.css";
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
# Example
|
|
49
|
-
|
|
50
|
-
```ts
|
|
51
|
-
<template>
|
|
52
|
-
<!-- 一个模型 -->
|
|
53
|
-
<!-- :model-buffer 和 :file-path 选一个使用即可-->
|
|
54
|
-
<!-- :model-buffer 是直接传入模型buffer数据-->
|
|
55
|
-
<!-- :file-path 是传入文件下载路径-->
|
|
56
|
-
<BIMXViewer
|
|
57
|
-
v-if="initialzed"
|
|
58
|
-
:load-meta="true"
|
|
59
|
-
:file-path="filePath"
|
|
60
|
-
:nav-cube-size="120"
|
|
61
|
-
:background-color="'#d0d0d0'"
|
|
62
|
-
@emit-handler="EmitHandler" />
|
|
63
|
-
|
|
64
|
-
<!-- 集成模型 -->
|
|
65
|
-
<!-- 请使用-->
|
|
66
|
-
<!--:file-paths="filePaths"-->
|
|
67
|
-
<!--:multi-model="true"-->
|
|
68
|
-
</template>
|
|
69
|
-
|
|
70
|
-
<script lang="ts" setup>
|
|
71
|
-
import { onMounted, ref } from "vue";
|
|
72
|
-
import { BIMXViewer } from "@xtctwins/tctwins-bimx-engine";
|
|
73
|
-
import type { EventContent } from "@xtctwins/tctwins-bimx-engine";
|
|
74
|
-
import "@xtctwins/tctwins-bimx-engine/dist/style.css";
|
|
75
|
-
|
|
76
|
-
const initialzed = ref(false);
|
|
77
|
-
const filePath = ref(`https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/test/1公寓幕墙.xtc`);
|
|
78
|
-
const filePaths = [
|
|
79
|
-
"https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/tests/models/multiModel/model2/20250205170745913287.xtc",
|
|
80
|
-
"https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/tests/models/multiModel/model2/20250205170736552499.xtc",
|
|
81
|
-
"https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/tests/models/multiModel/model2/20250205170731500203.xtc"
|
|
82
|
-
];
|
|
83
|
-
const modelBuffer = ref<ArrayBuffer>();
|
|
84
|
-
|
|
85
|
-
onMounted(() => {
|
|
86
|
-
//如果选择直接传入模型modelBuffer,请在获取到buffer后再初始化BIMXViewer
|
|
87
|
-
// getModel(() => {
|
|
88
|
-
// initialzed.value = true;
|
|
89
|
-
// });
|
|
90
|
-
|
|
91
|
-
//如果使用filePath或者filePaths则直接初始化BIMXViewer即可
|
|
92
|
-
initialzed.value = true;
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
//监听引擎传出的事件
|
|
96
|
-
const EmitHandler = (content: EventContent) => {
|
|
97
|
-
console.log(content);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
//xtc模型数据
|
|
101
|
-
const getModel = (callback: () => void) => {
|
|
102
|
-
// 自行填写获取模型文件的内容
|
|
103
|
-
// ...
|
|
104
|
-
// modelBuffer.value = ...
|
|
105
|
-
callback();
|
|
106
|
-
};
|
|
107
|
-
</script>
|
|
108
|
-
|
|
109
|
-
<style>
|
|
110
|
-
#app {
|
|
111
|
-
position: absolute;
|
|
112
|
-
left: 0;
|
|
113
|
-
right: 0;
|
|
114
|
-
top: 0;
|
|
115
|
-
bottom: 0;
|
|
116
|
-
width: 100%;
|
|
117
|
-
height: 100%;
|
|
118
|
-
}
|
|
119
|
-
</style>
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
## 其他参数解释
|
|
124
|
-
|
|
125
|
-
### 基础设置
|
|
126
|
-
|
|
127
|
-
是否载入构件属性信息(xts文件),
|
|
128
|
-
如果要载入,在模型xtc文件相同路径下必须有同名xts文件
|
|
129
|
-
|
|
130
|
-
```ssh
|
|
131
|
-
:load-meta="true"
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
是否显示导航盒
|
|
135
|
-
|
|
136
|
-
```ssh
|
|
137
|
-
:showNavCube="true"
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
导航盒尺寸
|
|
141
|
-
|
|
142
|
-
```ssh
|
|
143
|
-
:nav-cube-size="120"
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
背景颜色
|
|
147
|
-
|
|
148
|
-
```ssh
|
|
149
|
-
:background-color="#d0d0d0"
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
### 功能
|
|
153
|
-
|
|
154
|
-
添加需要的即可
|
|
155
|
-
|
|
156
|
-
```ssh
|
|
157
|
-
inspector
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
inspector - 构建属性面板开启 (需要开启loadMeta)
|
|
161
|
-
|
|
162
|
-
```ssh
|
|
163
|
-
reseta
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
reseta - 重置模型视角
|
|
167
|
-
|
|
168
|
-
## 事件
|
|
169
|
-
|
|
170
|
-
```ssh
|
|
171
|
-
//监听引擎传出的事件
|
|
172
|
-
const EmitHandler = (content: EventContent) => {
|
|
173
|
-
console.log(content);
|
|
174
|
-
};
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
```ts
|
|
178
|
-
//事件内容
|
|
179
|
-
type EventContent = {
|
|
180
|
-
isTool: boolean;
|
|
181
|
-
event_target: ComponentName | "BimXViewer" | "ToolBar";
|
|
182
|
-
event_name: string;
|
|
183
|
-
content: {};
|
|
184
|
-
};
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
事件内容包括:
|
|
188
|
-
|
|
189
|
-
```ssh
|
|
190
|
-
"pickedEntity" - 点击构件
|
|
191
|
-
"pickedNothing" - 点击空白处
|
|
192
|
-
...
|
|
193
|
-
```
|
|
1
|
+
## @xtctwins/tctwins-bimx-engine
|
|
2
|
+
|
|
3
|
+
# xtc 三维文件查看器
|
|
4
|
+
|
|
5
|
+
## 安装相关依赖
|
|
6
|
+
|
|
7
|
+
## UI element-plus
|
|
8
|
+
|
|
9
|
+
<https://www.npmjs.com/package/element-plus>
|
|
10
|
+
|
|
11
|
+
```ssh
|
|
12
|
+
npm i element-plus
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## 事件总线 mitt
|
|
16
|
+
|
|
17
|
+
<https://www.npmjs.com/package/mitt>
|
|
18
|
+
|
|
19
|
+
```ssh
|
|
20
|
+
npm i mitt
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 状态管理 pinia
|
|
24
|
+
|
|
25
|
+
<https://www.npmjs.com/package/pinia>
|
|
26
|
+
|
|
27
|
+
```ssh
|
|
28
|
+
npm i pinia
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## 文件获取 ali-oss
|
|
32
|
+
|
|
33
|
+
<https://www.npmjs.com/package/ali-oss>
|
|
34
|
+
|
|
35
|
+
```ssh
|
|
36
|
+
npm i ali-oss
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
# 安装依赖
|
|
40
|
+
|
|
41
|
+
```ssh
|
|
42
|
+
// 安装依赖
|
|
43
|
+
npm i @xtctwins/tctwins-bimx-engine
|
|
44
|
+
// 引入样式
|
|
45
|
+
import "@xtctwins/tctwins-bimx-engine/dist/style.css";
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
# Example
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
<template>
|
|
52
|
+
<!-- 一个模型 -->
|
|
53
|
+
<!-- :model-buffer 和 :file-path 选一个使用即可-->
|
|
54
|
+
<!-- :model-buffer 是直接传入模型buffer数据-->
|
|
55
|
+
<!-- :file-path 是传入文件下载路径-->
|
|
56
|
+
<BIMXViewer
|
|
57
|
+
v-if="initialzed"
|
|
58
|
+
:load-meta="true"
|
|
59
|
+
:file-path="filePath"
|
|
60
|
+
:nav-cube-size="120"
|
|
61
|
+
:background-color="'#d0d0d0'"
|
|
62
|
+
@emit-handler="EmitHandler" />
|
|
63
|
+
|
|
64
|
+
<!-- 集成模型 -->
|
|
65
|
+
<!-- 请使用-->
|
|
66
|
+
<!--:file-paths="filePaths"-->
|
|
67
|
+
<!--:multi-model="true"-->
|
|
68
|
+
</template>
|
|
69
|
+
|
|
70
|
+
<script lang="ts" setup>
|
|
71
|
+
import { onMounted, ref } from "vue";
|
|
72
|
+
import { BIMXViewer } from "@xtctwins/tctwins-bimx-engine";
|
|
73
|
+
import type { EventContent } from "@xtctwins/tctwins-bimx-engine";
|
|
74
|
+
import "@xtctwins/tctwins-bimx-engine/dist/style.css";
|
|
75
|
+
|
|
76
|
+
const initialzed = ref(false);
|
|
77
|
+
const filePath = ref(`https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/test/1公寓幕墙.xtc`);
|
|
78
|
+
const filePaths = [
|
|
79
|
+
"https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/tests/models/multiModel/model2/20250205170745913287.xtc",
|
|
80
|
+
"https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/tests/models/multiModel/model2/20250205170736552499.xtc",
|
|
81
|
+
"https://bimkk-oss-test.oss-cn-beijing.aliyuncs.com/tests/models/multiModel/model2/20250205170731500203.xtc"
|
|
82
|
+
];
|
|
83
|
+
const modelBuffer = ref<ArrayBuffer>();
|
|
84
|
+
|
|
85
|
+
onMounted(() => {
|
|
86
|
+
//如果选择直接传入模型modelBuffer,请在获取到buffer后再初始化BIMXViewer
|
|
87
|
+
// getModel(() => {
|
|
88
|
+
// initialzed.value = true;
|
|
89
|
+
// });
|
|
90
|
+
|
|
91
|
+
//如果使用filePath或者filePaths则直接初始化BIMXViewer即可
|
|
92
|
+
initialzed.value = true;
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
//监听引擎传出的事件
|
|
96
|
+
const EmitHandler = (content: EventContent) => {
|
|
97
|
+
console.log(content);
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
//xtc模型数据
|
|
101
|
+
const getModel = (callback: () => void) => {
|
|
102
|
+
// 自行填写获取模型文件的内容
|
|
103
|
+
// ...
|
|
104
|
+
// modelBuffer.value = ...
|
|
105
|
+
callback();
|
|
106
|
+
};
|
|
107
|
+
</script>
|
|
108
|
+
|
|
109
|
+
<style>
|
|
110
|
+
#app {
|
|
111
|
+
position: absolute;
|
|
112
|
+
left: 0;
|
|
113
|
+
right: 0;
|
|
114
|
+
top: 0;
|
|
115
|
+
bottom: 0;
|
|
116
|
+
width: 100%;
|
|
117
|
+
height: 100%;
|
|
118
|
+
}
|
|
119
|
+
</style>
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 其他参数解释
|
|
124
|
+
|
|
125
|
+
### 基础设置
|
|
126
|
+
|
|
127
|
+
是否载入构件属性信息(xts文件),
|
|
128
|
+
如果要载入,在模型xtc文件相同路径下必须有同名xts文件
|
|
129
|
+
|
|
130
|
+
```ssh
|
|
131
|
+
:load-meta="true"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
是否显示导航盒
|
|
135
|
+
|
|
136
|
+
```ssh
|
|
137
|
+
:showNavCube="true"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
导航盒尺寸
|
|
141
|
+
|
|
142
|
+
```ssh
|
|
143
|
+
:nav-cube-size="120"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
背景颜色
|
|
147
|
+
|
|
148
|
+
```ssh
|
|
149
|
+
:background-color="#d0d0d0"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 功能
|
|
153
|
+
|
|
154
|
+
添加需要的即可
|
|
155
|
+
|
|
156
|
+
```ssh
|
|
157
|
+
inspector
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
inspector - 构建属性面板开启 (需要开启loadMeta)
|
|
161
|
+
|
|
162
|
+
```ssh
|
|
163
|
+
reseta
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
reseta - 重置模型视角
|
|
167
|
+
|
|
168
|
+
## 事件
|
|
169
|
+
|
|
170
|
+
```ssh
|
|
171
|
+
//监听引擎传出的事件
|
|
172
|
+
const EmitHandler = (content: EventContent) => {
|
|
173
|
+
console.log(content);
|
|
174
|
+
};
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
```ts
|
|
178
|
+
//事件内容
|
|
179
|
+
type EventContent = {
|
|
180
|
+
isTool: boolean;
|
|
181
|
+
event_target: ComponentName | "BimXViewer" | "ToolBar";
|
|
182
|
+
event_name: string;
|
|
183
|
+
content: {};
|
|
184
|
+
};
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
事件内容包括:
|
|
188
|
+
|
|
189
|
+
```ssh
|
|
190
|
+
"pickedEntity" - 点击构件
|
|
191
|
+
"pickedNothing" - 点击空白处
|
|
192
|
+
...
|
|
193
|
+
```
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { _ as X } from "./alert-ByjJAM5u.mjs";
|
|
2
|
+
import { defineComponent as D, ref as b, watch as O, onMounted as q, onBeforeUnmount as H, openBlock as i, createElementBlock as a, unref as n, createCommentVNode as p, createElementVNode as r, normalizeClass as f, Fragment as B, renderList as C, toDisplayString as R, withDirectives as U, createVNode as z, vShow as F } from "vue";
|
|
3
|
+
import { q as j, t as o, v, O as l, A as G } from "./index-Cs5X3s4M.mjs";
|
|
4
|
+
import { A as c } from "./const-C8FWJPiL.mjs";
|
|
5
|
+
const J = { class: "annotation_component" }, K = {
|
|
6
|
+
key: 0,
|
|
7
|
+
id: "annotation_toolbar",
|
|
8
|
+
class: "annotation_toolbar"
|
|
9
|
+
}, Q = {
|
|
10
|
+
key: 0,
|
|
11
|
+
class: "toolbar_trangle"
|
|
12
|
+
}, Y = { class: "annotation_toolbar_group" }, Z = ["id", "disabled", "onClick"], ee = ["src"], ne = {
|
|
13
|
+
key: 1,
|
|
14
|
+
class: "toolbar_trangle"
|
|
15
|
+
}, te = {
|
|
16
|
+
key: 1,
|
|
17
|
+
class: "mobile_annotation_toolbar"
|
|
18
|
+
}, oe = { class: "anno_toolList" }, ie = { class: "label-list" }, ae = ["onClick"], se = { class: "item-img" }, re = ["src"], le = { class: "item-name" }, ce = /* @__PURE__ */ D({
|
|
19
|
+
__name: "AnnotationTool",
|
|
20
|
+
props: ["componentId"],
|
|
21
|
+
emits: ["uploadImage", "clickAnnotation", "emitHandler"],
|
|
22
|
+
setup($, { emit: y }) {
|
|
23
|
+
const w = j(), P = y, d = (e) => {
|
|
24
|
+
P("emitHandler", e);
|
|
25
|
+
};
|
|
26
|
+
let T;
|
|
27
|
+
const A = b(!0), s = b("");
|
|
28
|
+
let m;
|
|
29
|
+
const S = b(), h = $;
|
|
30
|
+
O(
|
|
31
|
+
() => w.isToolActive(h.componentId),
|
|
32
|
+
(e) => {
|
|
33
|
+
e || (s.value = "");
|
|
34
|
+
}
|
|
35
|
+
), q(() => {
|
|
36
|
+
S.value = o("annoLimit"), w.setReadyById(h.componentId);
|
|
37
|
+
});
|
|
38
|
+
const M = {
|
|
39
|
+
image: `${l}/BIMX_Website/main/mainView/function_icon/annotation_icons/image_active.png`,
|
|
40
|
+
file: `${l}/BIMX_Website/main/mainView/function_icon/annotation_icons/file_active.png`,
|
|
41
|
+
record: `${l}/BIMX_Website/main/mainView/function_icon/annotation_icons/record_active.png`,
|
|
42
|
+
text: `${l}/BIMX_Website/main/mainView/function_icon/annotation_icons/text_active.png`,
|
|
43
|
+
video: `${l}/BIMX_Website/main/mainView/function_icon/annotation_icons/video_active.png`
|
|
44
|
+
}, k = () => {
|
|
45
|
+
T = window.bimViewer.annotationTool, T.setTypeImage(M), m = window.bimViewer.eventTrigger, m.on("createAnnotation", (e) => {
|
|
46
|
+
d({
|
|
47
|
+
isTool: !0,
|
|
48
|
+
event_target: "AnnotationTool",
|
|
49
|
+
event_name: "createAnnotation",
|
|
50
|
+
content: {
|
|
51
|
+
currentAnnotation: e
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}), m.on("markerClicked", (e) => {
|
|
55
|
+
d({
|
|
56
|
+
isTool: !0,
|
|
57
|
+
event_target: "AnnotationTool",
|
|
58
|
+
event_name: "clickAnnotation",
|
|
59
|
+
content: {
|
|
60
|
+
targetAnno: e
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
}), o("isMobile") || m.on("requestDeleteMarker", (e) => {
|
|
64
|
+
d({
|
|
65
|
+
isTool: !0,
|
|
66
|
+
event_target: "AnnotationTool",
|
|
67
|
+
event_name: "requestDelAnno",
|
|
68
|
+
content: {
|
|
69
|
+
msg: "请求删除指定标注",
|
|
70
|
+
annoId: e
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
v.on("BimViewer", k);
|
|
76
|
+
const I = (e) => {
|
|
77
|
+
g(x(e.type));
|
|
78
|
+
};
|
|
79
|
+
v.on("setAnnoStatus", I), H(() => {
|
|
80
|
+
v.off("BimViewer", k), v.off("setAnnoStatus", I);
|
|
81
|
+
});
|
|
82
|
+
const x = (e) => {
|
|
83
|
+
if (e === "image")
|
|
84
|
+
return c[0];
|
|
85
|
+
if (e === "record")
|
|
86
|
+
return c[1];
|
|
87
|
+
if (e === "video")
|
|
88
|
+
return c[2];
|
|
89
|
+
if (e === "file")
|
|
90
|
+
return c[3];
|
|
91
|
+
if (e === "text")
|
|
92
|
+
return c[4];
|
|
93
|
+
}, g = (e) => {
|
|
94
|
+
o("editPrivilege") != 1 && (s.value === e.code ? (s.value = "", V(e, !1)) : (s.value = e.code, V(e, !0)));
|
|
95
|
+
}, L = (e) => {
|
|
96
|
+
window.bimViewer.annotationTool.setEnabled(e);
|
|
97
|
+
}, V = (e, _) => {
|
|
98
|
+
L(_), N(e.code, _);
|
|
99
|
+
}, N = (e, _) => {
|
|
100
|
+
window.bimViewer.annotationTool.setCurrentType(e), d({
|
|
101
|
+
isTool: !0,
|
|
102
|
+
event_target: "AnnotationTool",
|
|
103
|
+
event_name: "clickAnnoTool",
|
|
104
|
+
content: {
|
|
105
|
+
active: _,
|
|
106
|
+
tool_type: e
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
return (e, _) => {
|
|
111
|
+
const E = X;
|
|
112
|
+
return i(), a("div", J, [
|
|
113
|
+
n(o)("isMobile") ? (i(), a("div", te, [
|
|
114
|
+
r("div", oe, [
|
|
115
|
+
r("div", ie, [
|
|
116
|
+
(i(!0), a(B, null, C(n(c), (t, u) => (i(), a("div", {
|
|
117
|
+
key: u,
|
|
118
|
+
class: f(["label-item", { "label-item-active": s.value === t.code && n(o)("editPrivilege") == 0, noPermission: n(o)("editPrivilege") == 1 }]),
|
|
119
|
+
onClick: (W) => g(t)
|
|
120
|
+
}, [
|
|
121
|
+
r("div", se, [
|
|
122
|
+
r("img", {
|
|
123
|
+
class: "label-item-img",
|
|
124
|
+
src: n(l) + `/bim-viewer/annotation/new-icons/bimkk-mobile-anno-${s.value === t.code && n(o)("editPrivilege") == 0 ? t.imgActive : t.img}.svg`,
|
|
125
|
+
alt: ""
|
|
126
|
+
}, null, 8, re),
|
|
127
|
+
r("div", le, R(t.name), 1)
|
|
128
|
+
])
|
|
129
|
+
], 10, ae))), 128))
|
|
130
|
+
])
|
|
131
|
+
])
|
|
132
|
+
])) : (i(), a("div", K, [
|
|
133
|
+
n(o)("annotationPos").pos.includes("top") ? (i(), a("div", Q)) : p("", !0),
|
|
134
|
+
r("div", {
|
|
135
|
+
class: f(["annotation_toolbar_wrapper", { annotation_toolbar_wrapper_disable: n(o)("editPrivilege") == 1 }])
|
|
136
|
+
}, [
|
|
137
|
+
r("div", Y, [
|
|
138
|
+
(i(!0), a(B, null, C(n(c), (t, u) => (i(), a("button", {
|
|
139
|
+
id: `annotation_tool_btn_${u}`,
|
|
140
|
+
key: u,
|
|
141
|
+
class: f(["annotation_tool_btn", { active: s.value === t.code }]),
|
|
142
|
+
disabled: n(o)("editPrivilege") == 1,
|
|
143
|
+
onClick: (W) => g(t)
|
|
144
|
+
}, [
|
|
145
|
+
p("", !0),
|
|
146
|
+
r("img", {
|
|
147
|
+
src: `${n(l)}/bim-viewer/action-bars/panno-${s.value !== t.code ? t.img : t.imgActive}.svg`
|
|
148
|
+
}, null, 8, ee)
|
|
149
|
+
], 10, Z))), 128))
|
|
150
|
+
])
|
|
151
|
+
], 2),
|
|
152
|
+
n(o)("annotationPos").pos.includes("bottom") ? (i(), a("div", ne)) : p("", !0)
|
|
153
|
+
])),
|
|
154
|
+
U(z(E, {
|
|
155
|
+
"click-handle": () => {
|
|
156
|
+
A.value = !1;
|
|
157
|
+
}
|
|
158
|
+
}, null, 8, ["click-handle"]), [
|
|
159
|
+
[F, A.value && n(o)("editPrivilege") == 0]
|
|
160
|
+
])
|
|
161
|
+
]);
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}), ve = /* @__PURE__ */ G(ce, [["__scopeId", "data-v-59b9d05d"]]);
|
|
165
|
+
export {
|
|
166
|
+
ve as default
|
|
167
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { an as e, D as o, ao as t, aq as i, V as l, at as r, ap as n, ar as I, as as B } from "./index-Cs5X3s4M.mjs";
|
|
2
2
|
export {
|
|
3
3
|
e as BIMXViewer,
|
|
4
4
|
o as BIMX_CONFIGS,
|