@xtctwins/tctwins-bimx-viewer 0.1.0

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.
Files changed (44) hide show
  1. package/README.md +0 -0
  2. package/dist/tctwins-bimx-viewer.min.es.js +847 -0
  3. package/dist/version.js +2 -0
  4. package/package.json +60 -0
  5. package/types/index.d.ts +6 -0
  6. package/types/src/BIMViewer.d.ts +668 -0
  7. package/types/src/BusyModal.d.ts +28 -0
  8. package/types/src/Controller.d.ts +142 -0
  9. package/types/src/EventTrigger.d.ts +23 -0
  10. package/types/src/IFCElementDescriptions/IFCElementDescriptions.d.ts +780 -0
  11. package/types/src/IFCObjectDefaults/ModelIFCObjectColors.d.ts +26 -0
  12. package/types/src/IFCObjectDefaults/ViewerIFCObjectColors.d.ts +161 -0
  13. package/types/src/TMap.d.ts +27 -0
  14. package/types/src/collision/ObjectsKdTree3.d.ts +37 -0
  15. package/types/src/contextMenus/CanvasContextMenu.d.ts +12 -0
  16. package/types/src/contextMenus/ModelsContextMenu.d.ts +13 -0
  17. package/types/src/contextMenus/ObjectContextMenu.d.ts +20 -0
  18. package/types/src/contextMenus/TreeViewContextMenu.d.ts +20 -0
  19. package/types/src/explorer/ClassesExplorer.d.ts +75 -0
  20. package/types/src/explorer/ModelsExplorer.d.ts +106 -0
  21. package/types/src/explorer/ObjectsExplorer.d.ts +44 -0
  22. package/types/src/explorer/StoreysExplorer.d.ts +58 -0
  23. package/types/src/inspector/PropertiesInspector.d.ts +39 -0
  24. package/types/src/messages.d.ts +373 -0
  25. package/types/src/server/OSSHelper.d.ts +4 -0
  26. package/types/src/server/Server.d.ts +129 -0
  27. package/types/src/toolbar/AnnotationTool.d.ts +71 -0
  28. package/types/src/toolbar/CommentsTool.d.ts +248 -0
  29. package/types/src/toolbar/FirstPersonMode.d.ts +55 -0
  30. package/types/src/toolbar/FitAction.d.ts +21 -0
  31. package/types/src/toolbar/HideTool.d.ts +13 -0
  32. package/types/src/toolbar/MarqueeSelectionTool.d.ts +28 -0
  33. package/types/src/toolbar/MeasureTool.d.ts +12 -0
  34. package/types/src/toolbar/MeasureTools/MeasureAngleTool.d.ts +115 -0
  35. package/types/src/toolbar/MeasureTools/MeasureDistanceTool.d.ts +123 -0
  36. package/types/src/toolbar/NavCubeMode.d.ts +21 -0
  37. package/types/src/toolbar/OrthoMode.d.ts +21 -0
  38. package/types/src/toolbar/QueryTool.d.ts +13 -0
  39. package/types/src/toolbar/ResetAction.d.ts +16 -0
  40. package/types/src/toolbar/SectionTool.d.ts +131 -0
  41. package/types/src/toolbar/SelectionTool.d.ts +14 -0
  42. package/types/src/toolbar/SettingTool.d.ts +13 -0
  43. package/types/src/toolbar/ShowSpacesMode.d.ts +22 -0
  44. package/types/src/toolbar/ThreeDMode.d.ts +20 -0
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @desc Default initial properties for {@link Entity}s loaded from models accompanied by metadata.
3
+ *
4
+ * When loading a model, a loader plugins such as {@link GLTFLoaderPlugin} and {@link BIMServerLoaderPlugin} create
5
+ * a tree of {@link Entity}s that represent the model. These loaders can optionally load metadata, to create
6
+ * a {@link MetaModel} corresponding to the root {@link Entity}, with a {@link MetaObject} corresponding to each
7
+ * object {@link Entity} within the tree.
8
+ *
9
+ * @private
10
+ * @type {{String:Object}}
11
+ */
12
+ declare const ModelIFCObjectColors: {
13
+ IfcSpace: {
14
+ opacity: number;
15
+ };
16
+ IfcWindow: {
17
+ opacity: number;
18
+ };
19
+ IfcOpeningElement: {
20
+ opacity: number;
21
+ };
22
+ IfcPlate: {
23
+ opacity: number;
24
+ };
25
+ };
26
+ export default ModelIFCObjectColors;
@@ -0,0 +1,161 @@
1
+ /**
2
+ * @desc Default initial properties for {@link Entity}s loaded from models accompanied by metadata.
3
+ *
4
+ * When loading a model, a loader plugins such as {@link GLTFLoaderPlugin} and {@link BIMServerLoaderPlugin} create
5
+ * a tree of {@link Entity}s that represent the model. These loaders can optionally load metadata, to create
6
+ * a {@link MetaModel} corresponding to the root {@link Entity}, with a {@link MetaObject} corresponding to each
7
+ * object {@link Entity} within the tree.
8
+ *
9
+ * @private
10
+ * @type {{String:Object}}
11
+ */
12
+ declare const ViewerIFCObjectColors: {
13
+ IfcRoof: {
14
+ colorize: number[];
15
+ priority: number;
16
+ };
17
+ IfcSlab: {
18
+ colorize: number[];
19
+ priority: number;
20
+ };
21
+ IfcWall: {
22
+ colorize: number[];
23
+ priority: number;
24
+ };
25
+ IfcWallStandardCase: {
26
+ colorize: number[];
27
+ priority: number;
28
+ };
29
+ IfcCovering: {
30
+ colorize: number[];
31
+ priority: number;
32
+ };
33
+ IfcDoor: {
34
+ colorize: number[];
35
+ priority: number;
36
+ };
37
+ IfcStair: {
38
+ colorize: number[];
39
+ priority: number;
40
+ };
41
+ IfcStairFlight: {
42
+ colorize: number[];
43
+ priority: number;
44
+ };
45
+ IfcProxy: {
46
+ colorize: number[];
47
+ priority: number;
48
+ };
49
+ IfcRamp: {
50
+ colorize: number[];
51
+ priority: number;
52
+ };
53
+ IfcColumn: {
54
+ colorize: number[];
55
+ priority: number;
56
+ };
57
+ IfcBeam: {
58
+ colorize: number[];
59
+ priority: number;
60
+ };
61
+ IfcCurtainWall: {
62
+ colorize: number[];
63
+ priority: number;
64
+ };
65
+ IfcPlate: {
66
+ colorize: number[];
67
+ opacity: number;
68
+ priority: number;
69
+ };
70
+ IfcTransportElement: {
71
+ colorize: number[];
72
+ priority: number;
73
+ };
74
+ IfcFooting: {
75
+ colorize: number[];
76
+ priority: number;
77
+ };
78
+ IfcRailing: {
79
+ colorize: number[];
80
+ priority: number;
81
+ };
82
+ IfcFurnishingElement: {
83
+ colorize: number[];
84
+ priority: number;
85
+ };
86
+ IfcFurniture: {
87
+ colorize: number[];
88
+ priority: number;
89
+ };
90
+ IfcSystemFurnitureElement: {
91
+ colorize: number[];
92
+ priority: number;
93
+ };
94
+ IfcFlowSegment: {
95
+ colorize: number[];
96
+ priority: number;
97
+ };
98
+ IfcFlowitting: {
99
+ colorize: number[];
100
+ priority: number;
101
+ };
102
+ IfcFlowTerminal: {
103
+ colorize: number[];
104
+ priority: number;
105
+ };
106
+ IfcFlowController: {
107
+ colorize: number[];
108
+ priority: number;
109
+ };
110
+ IfcFlowFitting: {
111
+ colorize: number[];
112
+ priority: number;
113
+ };
114
+ IfcDuctSegment: {
115
+ colorize: number[];
116
+ priority: number;
117
+ };
118
+ IfcDistributionFlowElement: {
119
+ colorize: number[];
120
+ priority: number;
121
+ };
122
+ IfcDuctFitting: {
123
+ colorize: number[];
124
+ priority: number;
125
+ };
126
+ IfcLightFixture: {
127
+ colorize: number[];
128
+ priority: number;
129
+ };
130
+ IfcAirTerminal: {
131
+ colorize: number[];
132
+ priority: number;
133
+ };
134
+ IfcOpeningElement: {
135
+ colorize: number[];
136
+ opacity: number;
137
+ priority: number;
138
+ };
139
+ IfcSpace: {
140
+ opacity: number;
141
+ };
142
+ IfcWindow: {
143
+ colorize: number[];
144
+ opacity: number;
145
+ priority: number;
146
+ };
147
+ IfcBuildingElementProxy: {
148
+ colorize: number[];
149
+ };
150
+ IfcSite: {
151
+ colorize: number[];
152
+ };
153
+ IfcMember: {
154
+ colorize: number[];
155
+ };
156
+ DEFAULT: {
157
+ colorize: number[];
158
+ priority: number;
159
+ };
160
+ };
161
+ export default ViewerIFCObjectColors;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * 表示一个map的类
3
+ * @class
4
+ */
5
+ export default class TMap {
6
+ items: any;
7
+ protected _lastUniqueId: number;
8
+ /**
9
+ * 创建一个map实例。
10
+ * @constructor
11
+ * @param {any} items - map的成员。
12
+ * @param {number} baseId - map的成员ID。
13
+ */
14
+ constructor(items?: any, baseId?: number);
15
+ /**
16
+ * 添加成员。
17
+ * @param {any} args - 成员。
18
+ * @returns {number} - 成员ID。
19
+ */
20
+ addItem(...args: any): number;
21
+ /**
22
+ * 移除成员
23
+ * @param {number} id - 成员ID。
24
+ * @returns {any} - 移除的成员。
25
+ */
26
+ removeItem(id: number): any;
27
+ }
@@ -0,0 +1,37 @@
1
+ /**
2
+ * A k-d tree for World-space 3D Entity collision detection with AABBs and frustums.
3
+ * @class
4
+ */
5
+ export default class ObjectsKdTree3 {
6
+ viewer: any;
7
+ protected _maxTreeDepth: number;
8
+ protected _root: any;
9
+ protected _needsRebuild: boolean;
10
+ protected _onModelLoaded: any;
11
+ protected _onModelUnloaded: any;
12
+ /**
13
+ * 创建一个KdTree3。
14
+ * @param {any} cfg - 配置参数。
15
+ */
16
+ constructor(cfg: any);
17
+ /**
18
+ * 获取KdTree的根节点。
19
+ * @returns {any} - 根节点。
20
+ */
21
+ get root(): any;
22
+ /**
23
+ * 重新构建KdTree。
24
+ */
25
+ protected _rebuild(): void;
26
+ /**
27
+ * 插入实体到KdTree。
28
+ * @param {any} node - KdTree节点。
29
+ * @param {any} entity - 实体数据
30
+ * @param {number} depth - 深度。
31
+ */
32
+ protected _insertEntity(node: any, entity: any, depth: number): void;
33
+ /**
34
+ * 删除KdTree。
35
+ */
36
+ destroy(): void;
37
+ }
@@ -0,0 +1,12 @@
1
+ import { ContextMenu } from "@xtctwins/tctwins-core";
2
+ /**
3
+ * 表示Canvas的上下文菜单
4
+ * @class
5
+ */
6
+ export default class CanvasContextMenu extends ContextMenu {
7
+ /**
8
+ * 创建一个Canvas上下文菜单
9
+ * @param {*} cfg 上下文菜单配置
10
+ */
11
+ constructor(cfg?: any);
12
+ }
@@ -0,0 +1,13 @@
1
+ import { ContextMenu } from "@xtctwins/tctwins-core";
2
+ /**
3
+ * 表示模型上下文菜单。
4
+ * @param {*} cfg Configs
5
+ * @param {Boolean} [cfg.enableEditModels=false] Set true to show Add/Edit/Delete options in the menu.
6
+ */
7
+ export default class ModelsContextMenu extends ContextMenu {
8
+ /**
9
+ * 创建一个模型上下文菜单。
10
+ *
11
+ */
12
+ constructor(cfg?: any);
13
+ }
@@ -0,0 +1,20 @@
1
+ import { ContextMenu } from "@xtctwins/tctwins-core";
2
+ import BIMViewer from "../BIMViewer";
3
+ /**
4
+ * 表示对象上下文菜单。
5
+ *
6
+ */
7
+ export default class ObjectContextMenu extends ContextMenu {
8
+ protected _bimViewer: BIMViewer;
9
+ /**
10
+ * 创建一个对象上下文菜单
11
+ * @param {BIMViewer} bimViewer
12
+ * @param {*} cfg
13
+ */
14
+ constructor(bimViewer: BIMViewer, cfg?: any);
15
+ /**
16
+ * 创建菜单项
17
+ *
18
+ */
19
+ protected _buildMenu(): void;
20
+ }
@@ -0,0 +1,20 @@
1
+ import { ContextMenu } from "@xtctwins/tctwins-core";
2
+ import BIMViewer from "../BIMViewer";
3
+ /**
4
+ * 表示树状视图上下文菜单。
5
+ * @class
6
+ */
7
+ export default class TreeViewContextMenu extends ContextMenu {
8
+ protected _bimViewer: BIMViewer;
9
+ /**
10
+ * 创建一个树状视图上下文菜单。
11
+ * @param {BIMViewer} bimViewer
12
+ * @param {*} cfg
13
+ */
14
+ constructor(bimViewer: BIMViewer, cfg?: any);
15
+ /**
16
+ * 创建菜单项
17
+ *
18
+ */
19
+ protected _buildMenu(): void;
20
+ }
@@ -0,0 +1,75 @@
1
+ import { TreeViewPlugin } from "@xtctwins/tctwins-core";
2
+ import Controller from "../Controller";
3
+ import EventTrigger from "../EventTrigger";
4
+ /**
5
+ *
6
+ * @class
7
+ */
8
+ export default class ClassesExplorer extends Controller {
9
+ protected _treeView: TreeViewPlugin;
10
+ protected _onModelLoaded: any;
11
+ protected _onMetaDataLoaded: any;
12
+ protected _onModelUnloaded: any;
13
+ protected eventTrigger: EventTrigger;
14
+ protected _rootNode: any;
15
+ protected _nodeList: any;
16
+ protected _objectList: any;
17
+ /**
18
+ *
19
+ * @param {*} parent
20
+ * @param {*} cfg
21
+ */
22
+ constructor(parent: any, cfg?: any);
23
+ get rootNode(): any;
24
+ get nodesList(): any;
25
+ get objectList(): any;
26
+ getNodeIdByObjectId(objectId: string): any;
27
+ /**
28
+ * 获取指定id节点的children
29
+ * @param {*} nodeId
30
+ * @returns node
31
+ */
32
+ getNodeById(nodeId: string): any;
33
+ /**
34
+ * 获取指定id节点的children
35
+ * @param {*} nodeId
36
+ * @returns nodes
37
+ */
38
+ getChildrenById(nodeId: string): void;
39
+ /**
40
+ * 勾选框点击事件
41
+ * @param event
42
+ */
43
+ checkboxChangeHandler(nodeId: any, check: boolean): void;
44
+ /**
45
+ * 点击标题
46
+ * @param e 点击事件
47
+ */
48
+ nodeTitleClicked(nodeId: any): void;
49
+ /**
50
+ *
51
+ * @param {boolean} enabled
52
+ */
53
+ setEnabled(enabled: boolean): void;
54
+ /**
55
+ *
56
+ * @param {number} depth
57
+ */
58
+ expandTreeViewToDepth(depth: number): void;
59
+ /**
60
+ *
61
+ * @param {string} objectId
62
+ */
63
+ showNodeInTreeView(objectId: string): void;
64
+ /**
65
+ *
66
+ *
67
+ */
68
+ unShowNodeInTreeView(): void;
69
+ /**
70
+ *
71
+ *
72
+ */
73
+ destroy(): void;
74
+ get treeView(): TreeViewPlugin;
75
+ }
@@ -0,0 +1,106 @@
1
+ import { XTCLoaderPlugin, WebIFCLoaderPlugin } from "@xtctwins/tctwins-core";
2
+ import Controller from "../Controller";
3
+ import EventTrigger from "../EventTrigger";
4
+ /**
5
+ * Custom data access strategy for {@link XTCLoaderPlugin}.
6
+ * @class
7
+ */
8
+ declare class BIMViewerDataSource {
9
+ protected _server: any;
10
+ protected _projectId: string;
11
+ protected _modelId: string;
12
+ /**
13
+ * @param {*} server
14
+ */
15
+ constructor(server: any, cfg: any);
16
+ /**
17
+ * 设置项目ID
18
+ * @param {string} _projectId
19
+ */
20
+ setProjectId(projectId: string): void;
21
+ /**
22
+ * 设置模型ID
23
+ * @param {string} modelId
24
+ */
25
+ setModelId(modelId: string): void;
26
+ /**
27
+ * 获取清单
28
+ * @param {*} src
29
+ * @param {Function} ok
30
+ * @param {Function} error
31
+ */
32
+ getManifest(src: any, ok: Function, error: Function): void;
33
+ /**
34
+ * 获取元模型数据
35
+ * @param {*} src
36
+ * @param {Function} ok
37
+ * @param {Function} error
38
+ */
39
+ getMetaModel(src: any, ok: Function, error: Function): void;
40
+ /**
41
+ * 获取XTC模型
42
+ * @param {*} src
43
+ * @param {Function} ok
44
+ * @param {Function} error
45
+ */
46
+ getXTC(src: any, ok: Function, error: Function): void;
47
+ }
48
+ /**
49
+ *
50
+ * @class
51
+ */
52
+ export default class ModelsExplorer extends Controller {
53
+ protected _dataSource: BIMViewerDataSource;
54
+ _xtcLoader: XTCLoaderPlugin | null | undefined;
55
+ _ifcLoader: WebIFCLoaderPlugin | null | undefined;
56
+ protected _modelsInfo: any;
57
+ protected _numModels: number;
58
+ protected _numModelsLoaded: number;
59
+ protected _projectId: string | null;
60
+ protected _modelFromOutSide: boolean;
61
+ protected _modelType: string;
62
+ protected _modelArrayBuffer: ArrayBuffer;
63
+ protected _modelMetaData: any;
64
+ protected _modelSrc: string;
65
+ protected _modelConfig: any;
66
+ protected _eventTrigger: EventTrigger;
67
+ /**
68
+ *
69
+ * @param {*} parent
70
+ * @param {*} cfg
71
+ */
72
+ constructor(parent: any, cfg: any);
73
+ /**
74
+ *
75
+ */
76
+ getModelIds(): string[];
77
+ /**
78
+ * @param {string} modelId
79
+ * @param {Function} done
80
+ * @param {Function} error
81
+ */
82
+ loadModel(modelId: string, done?: Function, error?: Function): void;
83
+ /**
84
+ * 单独加载元数据
85
+ * @param metaModel
86
+ * @param deflatedMetadata
87
+ */
88
+ loadMetadata(metaModel: any, deflatedMetadata: any, done?: Function): void;
89
+ /**
90
+ * @param {string} modelId
91
+ * @param {*} modelInfo
92
+ * @param {*} json
93
+ * @param {Function} done
94
+ * @param {Function} error
95
+ */
96
+ protected _loadGeometry(modelId: string, modelInfo: any, json: any, done: Function, error: Function): void;
97
+ /**
98
+ *
99
+ */
100
+ _jumpToInitialCamera(): void;
101
+ /**
102
+ *
103
+ */
104
+ destroy(): void;
105
+ }
106
+ export {};
@@ -0,0 +1,44 @@
1
+ import { TreeViewPlugin } from "@xtctwins/tctwins-core";
2
+ import Controller from "../Controller";
3
+ import EventTrigger from "../EventTrigger";
4
+ /**
5
+ *
6
+ * @class
7
+ */
8
+ export default class ObjectsExplorer extends Controller {
9
+ protected _treeView: TreeViewPlugin;
10
+ protected _onModelLoaded: any;
11
+ protected _onMetaDataLoaded: any;
12
+ protected _onModelUnloaded: any;
13
+ protected eventTrigger: EventTrigger;
14
+ protected _rootNode: any;
15
+ protected _nodeList: any;
16
+ protected _objectList: any;
17
+ /**
18
+ * @param {*} parent
19
+ * @param {*} cfg
20
+ */
21
+ constructor(parent: any, cfg?: any);
22
+ get rootNode(): any;
23
+ get nodesList(): any;
24
+ get objectList(): any;
25
+ get treeView(): TreeViewPlugin;
26
+ getNodeIdByObjectId(objectId: string): null | undefined;
27
+ /**
28
+ * 获取指定id节点的children
29
+ * @param {*} nodeId
30
+ * @returns node
31
+ */
32
+ getNodeById(nodeId: string): any;
33
+ /**
34
+ * 获取指定id节点的children
35
+ * @param {*} nodeId
36
+ * @returns nodes
37
+ */
38
+ getChildrenById(nodeId: string): void;
39
+ /**
40
+ * @param {boolean} enabled
41
+ */
42
+ setEnabled(enabled: boolean): void;
43
+ destroy(): void;
44
+ }
@@ -0,0 +1,58 @@
1
+ import { TreeViewPlugin } from "@xtctwins/tctwins-core";
2
+ import Controller from "../Controller";
3
+ import EventTrigger from "../EventTrigger";
4
+ /**
5
+ *
6
+ * @class
7
+ */
8
+ export default class StoreysExplorer extends Controller {
9
+ protected _treeView: TreeViewPlugin;
10
+ protected _onModelLoaded: any;
11
+ protected _onMetaDataLoaded: any;
12
+ protected _onModelUnloaded: any;
13
+ protected eventTrigger: EventTrigger;
14
+ protected _rootNode: any;
15
+ protected _nodeList: any;
16
+ protected _objectList: any;
17
+ /**
18
+ * @param {*} parent
19
+ * @param {*} cfg
20
+ */
21
+ constructor(parent: any, cfg?: any);
22
+ get rootNode(): any;
23
+ get nodesList(): any;
24
+ get objectList(): any;
25
+ getNodeIdByObjectId(objectId: string): null | undefined;
26
+ /**
27
+ * 获取指定id节点的children
28
+ * @param {*} nodeId
29
+ * @returns node
30
+ */
31
+ getNodeById(nodeId: string): any;
32
+ /**
33
+ * 获取指定id节点的children
34
+ * @param {*} nodeId
35
+ * @returns nodes
36
+ */
37
+ getChildrenById(nodeId: string): void;
38
+ /**
39
+ * 勾选框点击事件
40
+ * @param event
41
+ */
42
+ checkboxChangeHandler(nodeId: any, check: boolean): void;
43
+ /**
44
+ * 点击标题
45
+ * @param e 点击事件
46
+ */
47
+ nodeTitleClicked(nodeId: any): void;
48
+ /**
49
+ * @param {boolean} enabled
50
+ */
51
+ setEnabled(enabled: boolean): void;
52
+ protected _selectObjects(objectIds: string, done: Function): void;
53
+ destroy(): void;
54
+ expandTreeViewToDepth(depth: number): void;
55
+ showNodeInTreeView(objectId: string): void;
56
+ unShowNodeInTreeView(): void;
57
+ selectStorey(storeyObjectId: string, done: Function): void;
58
+ }
@@ -0,0 +1,39 @@
1
+ import Controller from "../Controller";
2
+ /**
3
+ * @class
4
+ */
5
+ export default class PropertiesInspector extends Controller {
6
+ protected _metaObject: any;
7
+ protected _onModelUnloaded: any;
8
+ /**
9
+ * 创建一个PropertiesInspector.
10
+ * @param {*} parent -
11
+ * @param {*} cfg - PropertiesInspector configuration.
12
+ */
13
+ constructor(parent: any, cfg?: any);
14
+ getEntityInfo(objectId: string): {
15
+ id: any;
16
+ name: any;
17
+ type: any;
18
+ propertySets: any;
19
+ } | null;
20
+ /**
21
+ * 显示属性集。
22
+ * @param {string} objectId 对象ID
23
+ */
24
+ showObjectPropertySets(objectId: string): void;
25
+ /**
26
+ * 清除。
27
+ */
28
+ clear(): void;
29
+ /**
30
+ * 设置属性集。
31
+ * @para {*} metaObject
32
+ * @para {*} propertySets
33
+ */
34
+ protected _setPropertySets(metaObject: any, propertySets?: any): void;
35
+ /**
36
+ *
37
+ */
38
+ destroy(): void;
39
+ }