@x-viewer/core 0.9.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 (238) hide show
  1. package/README.md +2 -0
  2. package/dist/index.esm.js +11790 -0
  3. package/dist/types/Locale.d.ts +23 -0
  4. package/dist/types/components/dxf-layout-bar/DxfLayoutBar.d.ts +26 -0
  5. package/dist/types/components/dxf-layout-bar/index.d.ts +1 -0
  6. package/dist/types/components/tool-tip/Tooltip.d.ts +20 -0
  7. package/dist/types/components/tool-tip/index.d.ts +1 -0
  8. package/dist/types/core/Configs.d.ts +288 -0
  9. package/dist/types/core/Constants.d.ts +81 -0
  10. package/dist/types/core/Units.d.ts +16 -0
  11. package/dist/types/core/VersionManager.d.ts +14 -0
  12. package/dist/types/core/camera/CameraManager.d.ts +80 -0
  13. package/dist/types/core/camera/index.d.ts +1 -0
  14. package/dist/types/core/camera-controls/CameraControls.d.ts +744 -0
  15. package/dist/types/core/camera-controls/Constants.d.ts +2 -0
  16. package/dist/types/core/camera-controls/EventDispatcher.d.ts +41 -0
  17. package/dist/types/core/camera-controls/index.d.ts +3 -0
  18. package/dist/types/core/camera-controls/types.d.ts +112 -0
  19. package/dist/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts +3 -0
  20. package/dist/types/core/camera-controls/utils/math-utils.d.ts +14 -0
  21. package/dist/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts +2 -0
  22. package/dist/types/core/canvas/CanvasRender.d.ts +52 -0
  23. package/dist/types/core/canvas/Constants.d.ts +31 -0
  24. package/dist/types/core/canvas/Drawable.d.ts +98 -0
  25. package/dist/types/core/canvas/DrawableList.d.ts +40 -0
  26. package/dist/types/core/canvas/MarkerDrawable.d.ts +30 -0
  27. package/dist/types/core/canvas/PathDrawable.d.ts +39 -0
  28. package/dist/types/core/canvas/index.d.ts +6 -0
  29. package/dist/types/core/compare/BaseDxfCompareHelper.d.ts +104 -0
  30. package/dist/types/core/compare/CompareDrawable.d.ts +18 -0
  31. package/dist/types/core/compare/DxfCompareHelper.d.ts +69 -0
  32. package/dist/types/core/compare/DxfCompareMarkupManager.d.ts +11 -0
  33. package/dist/types/core/compare/index.d.ts +4 -0
  34. package/dist/types/core/components/Container.d.ts +38 -0
  35. package/dist/types/core/components/ProgressBar.d.ts +31 -0
  36. package/dist/types/core/components/Spinner.d.ts +16 -0
  37. package/dist/types/core/components/index.d.ts +3 -0
  38. package/dist/types/core/controls/CameraControlsEx.d.ts +37 -0
  39. package/dist/types/core/controls/Control.d.ts +17 -0
  40. package/dist/types/core/controls/OrbitControls.d.ts +13 -0
  41. package/dist/types/core/controls/PlanControls.d.ts +13 -0
  42. package/dist/types/core/controls/index.d.ts +4 -0
  43. package/dist/types/core/dxf/DxfCompare.d.ts +151 -0
  44. package/dist/types/core/dxf/DxfConstants.d.ts +33 -0
  45. package/dist/types/core/dxf/DxfLoader.d.ts +557 -0
  46. package/dist/types/core/dxf/DxfObject.d.ts +33 -0
  47. package/dist/types/core/dxf/DxfUtils.d.ts +45 -0
  48. package/dist/types/core/dxf/HatchPatternShaders.d.ts +12 -0
  49. package/dist/types/core/dxf/LinePatternShaders.d.ts +12 -0
  50. package/dist/types/core/dxf/bspline.d.ts +7 -0
  51. package/dist/types/core/dxf/dxfom-mtext.d.ts +46 -0
  52. package/dist/types/core/dxf/dxfom-text.d.ts +16 -0
  53. package/dist/types/core/dxf/index.d.ts +10 -0
  54. package/dist/types/core/dxf/round10.d.ts +1 -0
  55. package/dist/types/core/dxf-parser/AutoCadColorIndex.d.ts +8 -0
  56. package/dist/types/core/dxf-parser/DxfBaseReader.d.ts +12 -0
  57. package/dist/types/core/dxf-parser/DxfBinaryReader.d.ts +14 -0
  58. package/dist/types/core/dxf-parser/DxfParser.d.ts +324 -0
  59. package/dist/types/core/dxf-parser/DxfTextReader.d.ts +31 -0
  60. package/dist/types/core/dxf-parser/ParseHelpers.d.ts +45 -0
  61. package/dist/types/core/dxf-parser/entities/3dface.d.ts +13 -0
  62. package/dist/types/core/dxf-parser/entities/arc.d.ts +18 -0
  63. package/dist/types/core/dxf-parser/entities/attdef.d.ts +33 -0
  64. package/dist/types/core/dxf-parser/entities/attrib.d.ts +33 -0
  65. package/dist/types/core/dxf-parser/entities/circle.d.ts +15 -0
  66. package/dist/types/core/dxf-parser/entities/dimension.d.ts +24 -0
  67. package/dist/types/core/dxf-parser/entities/ellipse.d.ts +17 -0
  68. package/dist/types/core/dxf-parser/entities/geomtry.d.ts +42 -0
  69. package/dist/types/core/dxf-parser/entities/hatch.d.ts +110 -0
  70. package/dist/types/core/dxf-parser/entities/image.d.ts +39 -0
  71. package/dist/types/core/dxf-parser/entities/insert.d.ts +22 -0
  72. package/dist/types/core/dxf-parser/entities/leader.d.ts +23 -0
  73. package/dist/types/core/dxf-parser/entities/line.d.ts +12 -0
  74. package/dist/types/core/dxf-parser/entities/lwpolyline.d.ts +23 -0
  75. package/dist/types/core/dxf-parser/entities/mleader.d.ts +103 -0
  76. package/dist/types/core/dxf-parser/entities/mtext.d.ts +20 -0
  77. package/dist/types/core/dxf-parser/entities/ole2frame.d.ts +22 -0
  78. package/dist/types/core/dxf-parser/entities/point.d.ts +13 -0
  79. package/dist/types/core/dxf-parser/entities/polyline.d.ts +22 -0
  80. package/dist/types/core/dxf-parser/entities/ray.d.ts +12 -0
  81. package/dist/types/core/dxf-parser/entities/region.d.ts +12 -0
  82. package/dist/types/core/dxf-parser/entities/seqend.d.ts +10 -0
  83. package/dist/types/core/dxf-parser/entities/solid.d.ts +12 -0
  84. package/dist/types/core/dxf-parser/entities/spline.d.ts +25 -0
  85. package/dist/types/core/dxf-parser/entities/table.d.ts +44 -0
  86. package/dist/types/core/dxf-parser/entities/text.d.ts +20 -0
  87. package/dist/types/core/dxf-parser/entities/vertex.d.ts +22 -0
  88. package/dist/types/core/dxf-parser/entities/viewport.d.ts +56 -0
  89. package/dist/types/core/dxf-parser/entities/xline.d.ts +12 -0
  90. package/dist/types/core/dxf-parser/index.d.ts +27 -0
  91. package/dist/types/core/dxf-parser/objects/common.d.ts +26 -0
  92. package/dist/types/core/dxf-parser/objects/dictionary.d.ts +23 -0
  93. package/dist/types/core/dxf-parser/objects/imagedef.d.ts +24 -0
  94. package/dist/types/core/dxf-parser/objects/layout.d.ts +29 -0
  95. package/dist/types/core/dxf-parser/objects/sortentstable.d.ts +12 -0
  96. package/dist/types/core/dxf-parser/objects/spatialfilter.d.ts +22 -0
  97. package/dist/types/core/dxf-parser/objects/xrecord.d.ts +11 -0
  98. package/dist/types/core/effect/EffectManager.d.ts +43 -0
  99. package/dist/types/core/effect/index.d.ts +1 -0
  100. package/dist/types/core/font/BaseFont.d.ts +41 -0
  101. package/dist/types/core/font/FontManager.d.ts +52 -0
  102. package/dist/types/core/font/MeshFont.d.ts +14 -0
  103. package/dist/types/core/font/ShxFont.d.ts +49 -0
  104. package/dist/types/core/font/index.d.ts +1 -0
  105. package/dist/types/core/font/shx/ExtraLettersTemplate.d.ts +4 -0
  106. package/dist/types/core/font/shx/Shx.constants.d.ts +20 -0
  107. package/dist/types/core/font/shx/ShxParser.d.ts +18 -0
  108. package/dist/types/core/font/shx/TextShape.d.ts +24 -0
  109. package/dist/types/core/font/shx/gbk/index.d.ts +4 -0
  110. package/dist/types/core/font/shx/index.d.ts +1 -0
  111. package/dist/types/core/font/shx/util/BitConverter.d.ts +18 -0
  112. package/dist/types/core/geometry-offset/Edge.d.ts +27 -0
  113. package/dist/types/core/geometry-offset/Offset.d.ts +46 -0
  114. package/dist/types/core/geometry-offset/index.d.ts +1 -0
  115. package/dist/types/core/helpers/BinaryReader.d.ts +23 -0
  116. package/dist/types/core/helpers/BoxSelectHelper.d.ts +44 -0
  117. package/dist/types/core/helpers/InstantiateHelper.d.ts +26 -0
  118. package/dist/types/core/helpers/LoadingHelper.d.ts +65 -0
  119. package/dist/types/core/helpers/MeshBvhHelper.d.ts +15 -0
  120. package/dist/types/core/helpers/MobileTouchHelperDrawable.d.ts +26 -0
  121. package/dist/types/core/helpers/OSnapHelper.d.ts +159 -0
  122. package/dist/types/core/helpers/ObjectPixelSizeHelper.d.ts +13 -0
  123. package/dist/types/core/helpers/PickMarkupHelper.d.ts +29 -0
  124. package/dist/types/core/helpers/RafHelper.d.ts +18 -0
  125. package/dist/types/core/helpers/ZoomToRectHelper.d.ts +20 -0
  126. package/dist/types/core/helpers/index.d.ts +11 -0
  127. package/dist/types/core/index.d.ts +24 -0
  128. package/dist/types/core/indexeddb/BaseTable.d.ts +36 -0
  129. package/dist/types/core/indexeddb/DxfDataTable.d.ts +22 -0
  130. package/dist/types/core/indexeddb/FontDataTable.d.ts +32 -0
  131. package/dist/types/core/indexeddb/IndexedDbManager.d.ts +49 -0
  132. package/dist/types/core/indexeddb/index.d.ts +4 -0
  133. package/dist/types/core/input-manager/InputManager.d.ts +147 -0
  134. package/dist/types/core/input-manager/index.d.ts +1 -0
  135. package/dist/types/core/interactions/Interaction.d.ts +10 -0
  136. package/dist/types/core/interactions/Viewer2dInteraction.d.ts +17 -0
  137. package/dist/types/core/interactions/Viewer3dInteraction.d.ts +26 -0
  138. package/dist/types/core/interactions/index.d.ts +1 -0
  139. package/dist/types/core/materials/BimTilesHighlightMaterial.d.ts +21 -0
  140. package/dist/types/core/materials/BimTilesMaterial.d.ts +26 -0
  141. package/dist/types/core/materials/BimTilesPickMaterial.d.ts +9 -0
  142. package/dist/types/core/materials/BimTilesTransparentMaterial.d.ts +20 -0
  143. package/dist/types/core/materials/StandardMaterialEx.d.ts +16 -0
  144. package/dist/types/core/materials/constants.d.ts +0 -0
  145. package/dist/types/core/materials/index.d.ts +5 -0
  146. package/dist/types/core/model/Constants.d.ts +58 -0
  147. package/dist/types/core/model/Model.d.ts +18 -0
  148. package/dist/types/core/model/Model2d.d.ts +142 -0
  149. package/dist/types/core/model/Model3d.d.ts +137 -0
  150. package/dist/types/core/model/bimtiles/BatchedMeshesParser.d.ts +26 -0
  151. package/dist/types/core/model/bimtiles/BimTilesConfigParser.d.ts +43 -0
  152. package/dist/types/core/model/bimtiles/BimTilesData.d.ts +280 -0
  153. package/dist/types/core/model/bimtiles/BimTilesMaterialManager.d.ts +139 -0
  154. package/dist/types/core/model/bimtiles/BimTilesModel.d.ts +67 -0
  155. package/dist/types/core/model/bimtiles/BimTilesPropertyParser.d.ts +42 -0
  156. package/dist/types/core/model/bimtiles/BimTilesRenderer.d.ts +49 -0
  157. package/dist/types/core/model/bimtiles/InstancedMeshesParser.d.ts +37 -0
  158. package/dist/types/core/model/bimtiles/TileParser.d.ts +11 -0
  159. package/dist/types/core/model/bimtiles/Utils.d.ts +29 -0
  160. package/dist/types/core/model/index.d.ts +6 -0
  161. package/dist/types/core/patches/Constants.d.ts +6 -0
  162. package/dist/types/core/patches/Line.d.ts +2 -0
  163. package/dist/types/core/patches/Mesh.d.ts +2 -0
  164. package/dist/types/core/patches/Points.d.ts +2 -0
  165. package/dist/types/core/patches/index.d.ts +4 -0
  166. package/dist/types/core/patches/shaders/ShaderChunk.d.ts +2 -0
  167. package/dist/types/core/patches/shaders/shaderChunk/common_ex.glsl.d.ts +2 -0
  168. package/dist/types/core/patches/shaders/shaderChunk/id_pars_vertex.glsl.d.ts +2 -0
  169. package/dist/types/core/patches/shaders/shaderChunk/id_vertex.glsl.d.ts +2 -0
  170. package/dist/types/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts +2 -0
  171. package/dist/types/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts +2 -0
  172. package/dist/types/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts +2 -0
  173. package/dist/types/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts +2 -0
  174. package/dist/types/core/patches/shaders/shaderChunk/state_fragment.glsl.d.ts +2 -0
  175. package/dist/types/core/patches/shaders/shaderChunk/state_highlight_fragment.glsl.d.ts +2 -0
  176. package/dist/types/core/patches/shaders/shaderChunk/state_pars_fragment.glsl.d.ts +2 -0
  177. package/dist/types/core/patches/shaders/shaderChunk/state_transparent_fragment.glsl.d.ts +2 -0
  178. package/dist/types/core/patches/shaders/shaderLib/pick_ex.glsl.d.ts +2 -0
  179. package/dist/types/core/patches/shaders/shaderLib/standard_ex.glsl.d.ts +2 -0
  180. package/dist/types/core/pick/PickManager.d.ts +52 -0
  181. package/dist/types/core/pick/index.d.ts +1 -0
  182. package/dist/types/core/scene/SceneManager.d.ts +48 -0
  183. package/dist/types/core/scene/index.d.ts +1 -0
  184. package/dist/types/core/shp-js/BitView.d.ts +12 -0
  185. package/dist/types/core/shp-js/SHPLoader.d.ts +12 -0
  186. package/dist/types/core/shp-js/Shp.d.ts +10 -0
  187. package/dist/types/core/shp-js/ShpThree.d.ts +23 -0
  188. package/dist/types/core/shp-js/index.d.ts +4 -0
  189. package/dist/types/core/text-texture/TextTexture.d.ts +45 -0
  190. package/dist/types/core/text-texture/index.d.ts +1 -0
  191. package/dist/types/core/undo/Command.d.ts +6 -0
  192. package/dist/types/core/undo/UndoManager.d.ts +24 -0
  193. package/dist/types/core/undo/index.d.ts +2 -0
  194. package/dist/types/core/utils/CSS2DObjectUtils.d.ts +14 -0
  195. package/dist/types/core/utils/CancelablePromise.d.ts +6 -0
  196. package/dist/types/core/utils/ColorUtils.d.ts +25 -0
  197. package/dist/types/core/utils/CommonUtils.d.ts +141 -0
  198. package/dist/types/core/utils/CoordinateUtils.d.ts +81 -0
  199. package/dist/types/core/utils/DecimalPrecisionUtils.d.ts +10 -0
  200. package/dist/types/core/utils/DeviceUtils.d.ts +15 -0
  201. package/dist/types/core/utils/EdgeUtils.d.ts +14 -0
  202. package/dist/types/core/utils/Event.d.ts +33 -0
  203. package/dist/types/core/utils/ExportUtils.d.ts +61 -0
  204. package/dist/types/core/utils/FpsUtils.d.ts +13 -0
  205. package/dist/types/core/utils/GeometryUtils.d.ts +78 -0
  206. package/dist/types/core/utils/LodashUtils.d.ts +208 -0
  207. package/dist/types/core/utils/LogUtils.d.ts +29 -0
  208. package/dist/types/core/utils/MaterialUtils.d.ts +40 -0
  209. package/dist/types/core/utils/MathUtils.d.ts +41 -0
  210. package/dist/types/core/utils/MergeUtils.d.ts +126 -0
  211. package/dist/types/core/utils/ObjectUtils.d.ts +216 -0
  212. package/dist/types/core/utils/PolygonUtils.d.ts +9 -0
  213. package/dist/types/core/utils/SVGObjectUtils.d.ts +22 -0
  214. package/dist/types/core/utils/SceneUtils.d.ts +26 -0
  215. package/dist/types/core/utils/SectionUtils.d.ts +11 -0
  216. package/dist/types/core/utils/SimplifyUtils.d.ts +15 -0
  217. package/dist/types/core/utils/TextureUtils.d.ts +16 -0
  218. package/dist/types/core/utils/UVUtils.d.ts +21 -0
  219. package/dist/types/core/utils/UnitConversionUtils.d.ts +31 -0
  220. package/dist/types/core/utils/index.d.ts +26 -0
  221. package/dist/types/core/viewers/BaseViewer.d.ts +253 -0
  222. package/dist/types/core/viewers/BimTilesViewer.d.ts +130 -0
  223. package/dist/types/core/viewers/Constants.d.ts +9 -0
  224. package/dist/types/core/viewers/Plugin.d.ts +30 -0
  225. package/dist/types/core/viewers/Viewer2d.d.ts +413 -0
  226. package/dist/types/core/viewers/Viewer3d.d.ts +136 -0
  227. package/dist/types/core/viewers/Viewer3dLite.d.ts +144 -0
  228. package/dist/types/core/viewers/ViewerEvent.d.ts +108 -0
  229. package/dist/types/core/viewers/index.d.ts +8 -0
  230. package/dist/types/core/webcam/WebCam.d.ts +28 -0
  231. package/dist/types/core/webcam/index.d.ts +1 -0
  232. package/dist/types/core/workers/CreateMeshBvh.worker.d.ts +1 -0
  233. package/dist/types/core/workers/GenerateMeshBvhWorker.d.ts +17 -0
  234. package/dist/types/core/workers/index.d.ts +1 -0
  235. package/dist/types/export.doc.d.ts +9 -0
  236. package/dist/types/index.d.ts +23 -0
  237. package/dist/types/version.d.ts +2 -0
  238. package/package.json +88 -0
@@ -0,0 +1,147 @@
1
+ import { Event } from "../../core/utils";
2
+ export type NativeEvent = UIEvent | MouseEvent | PointerEvent | WheelEvent | KeyboardEvent;
3
+ export interface IUIEvent {
4
+ readonly type: string;
5
+ readonly target: any;
6
+ readonly preventDefault: () => void;
7
+ }
8
+ export interface IMouseEvent extends IUIEvent {
9
+ readonly altKey: boolean;
10
+ readonly ctrlKey: boolean;
11
+ readonly shiftKey: boolean;
12
+ readonly button: number;
13
+ readonly clientX: number;
14
+ readonly clientY: number;
15
+ readonly pageX: number;
16
+ readonly pageY: number;
17
+ readonly x: number;
18
+ readonly y: number;
19
+ readonly timestamp: number;
20
+ }
21
+ export interface IPointerEvent extends IMouseEvent {
22
+ readonly pointerId: number;
23
+ readonly pointerType: string;
24
+ }
25
+ export interface IWheelEvent extends IMouseEvent {
26
+ readonly deltaMode: number;
27
+ readonly deltaX: number;
28
+ readonly deltaY: number;
29
+ readonly deltaZ: number;
30
+ }
31
+ export interface IKeyboardEvent extends IUIEvent {
32
+ readonly altKey: boolean;
33
+ readonly ctrlKey: boolean;
34
+ readonly shiftKey: boolean;
35
+ readonly key: string;
36
+ readonly code: string;
37
+ }
38
+ export declare enum MouseButton {
39
+ /** Left Click or Touch */
40
+ Left = 0,
41
+ /** Middle Click */
42
+ Middle = 1,
43
+ /** Right Click */
44
+ Right = 2,
45
+ /** Browser Back */
46
+ Back = 3,
47
+ /** Browser Forward */
48
+ Forward = 4
49
+ }
50
+ type MouseButtonType = MouseButton;
51
+ /**
52
+ * Event info.
53
+ */
54
+ export interface EventInfo {
55
+ x: number;
56
+ y: number;
57
+ pageX: number;
58
+ pageY: number;
59
+ clientX: number;
60
+ clientY: number;
61
+ deltaMode: number;
62
+ deltaX: number;
63
+ deltaY: number;
64
+ movementX: number;
65
+ movementY: number;
66
+ code?: string;
67
+ pointerId: number;
68
+ pointers?: EventInfo[];
69
+ button?: MouseButtonType;
70
+ buttons: MouseButtonType;
71
+ pointerType: string;
72
+ key?: string;
73
+ altKey: boolean;
74
+ ctrlKey: boolean;
75
+ shiftKey: boolean;
76
+ metaKey: boolean;
77
+ timestamp: number;
78
+ originalEvent?: NativeEvent;
79
+ }
80
+ /**
81
+ * Input events.
82
+ */
83
+ export type InputEvents = {
84
+ pointerdown: EventInfo;
85
+ pointermove: EventInfo;
86
+ pointerup: EventInfo;
87
+ pointercancel: EventInfo;
88
+ pointerenter: EventInfo;
89
+ pointerleave: EventInfo;
90
+ wheel: EventInfo;
91
+ click: EventInfo;
92
+ dblclick: EventInfo;
93
+ contextmenu: EventInfo;
94
+ mousedown: EventInfo;
95
+ mousemove: EventInfo;
96
+ mouseup: EventInfo;
97
+ touchstart: EventInfo;
98
+ touchmove: EventInfo;
99
+ touchend: EventInfo;
100
+ keydown: EventInfo;
101
+ keyup: EventInfo;
102
+ resize: EventInfo;
103
+ };
104
+ export declare class InputManager extends Event<InputEvents> {
105
+ private element;
106
+ private enabled;
107
+ private keyboardEnabled;
108
+ protected mouseDownPositionX: number;
109
+ protected mouseDownPositionY: number;
110
+ protected lastLeftPointerUpTime: number;
111
+ private pointers;
112
+ constructor(element: HTMLElement);
113
+ getEnabled(): boolean;
114
+ setEnabled(enable: boolean): void;
115
+ getkKeyboardEnabled(): boolean;
116
+ setkKeyboardEnabled(enable: boolean): void;
117
+ setCursor(cursorStyle: string): void;
118
+ bindEvents(): void;
119
+ private handleClick;
120
+ private handlePointerDown;
121
+ private handlePointerMove;
122
+ private handlePointerUp;
123
+ private handlePointerCancel;
124
+ private handleMouseWheel;
125
+ private handleContextMenu;
126
+ private handlePointerEnter;
127
+ private handlePointerLeave;
128
+ private handleResize;
129
+ private handleKeydown;
130
+ private handleKeyup;
131
+ unBindEvents(): void;
132
+ private getBaseEvent;
133
+ private stop;
134
+ private updatePointers;
135
+ private removePointers;
136
+ style: {};
137
+ getBoundingClientRect(): DOMRect;
138
+ /**
139
+ * Checks if user clicked on last position, this is used to detect a dblclick event.
140
+ */
141
+ private isCloseToLastPosition;
142
+ /**
143
+ * Checks if a dblclick event happen.
144
+ */
145
+ private isDoubleClick;
146
+ }
147
+ export {};
@@ -0,0 +1 @@
1
+ export { InputManager, InputEvents as InputEvent, MouseButton, EventInfo } from "./InputManager";
@@ -0,0 +1,10 @@
1
+ import type { BaseViewer } from "../../core/viewers/BaseViewer";
2
+ export declare class Interaction {
3
+ protected viewer: BaseViewer;
4
+ private _events;
5
+ constructor(viewer: BaseViewer);
6
+ addEvents(events: string[]): void;
7
+ removeEvents(events: string[]): void;
8
+ destroy(): void;
9
+ clearSelection(): void;
10
+ }
@@ -0,0 +1,17 @@
1
+ import { Object3D } from "three";
2
+ import { Interaction } from "./Interaction";
3
+ import { Drawable } from "../../core/canvas/Drawable";
4
+ import type { Viewer2d } from "../../core/viewers/Viewer2d";
5
+ export declare class Viewer2dInteraction extends Interaction {
6
+ private mouseDown;
7
+ private mouseMoved;
8
+ private inputManager;
9
+ selectedObject?: Object3D | Drawable;
10
+ constructor(viewer: Viewer2d);
11
+ private handle_pointerdown;
12
+ private handle_pointermove;
13
+ private handle_pointerup;
14
+ private handleMouseClick;
15
+ destroy(): void;
16
+ clearSelection(): void;
17
+ }
@@ -0,0 +1,26 @@
1
+ import { Object3D } from "three";
2
+ import { Interaction } from "./Interaction";
3
+ import { BaseViewer } from "../viewers/BaseViewer";
4
+ import { Drawable } from "../../core/canvas/Drawable";
5
+ export declare class Viewer3dInteraction extends Interaction {
6
+ private mouseMoved;
7
+ private mouseButtonPressed;
8
+ private lastLeftPointerUpTime;
9
+ private mouseDownPositionX;
10
+ private mouseDownPositionY;
11
+ private currentIntersection;
12
+ private isSelected;
13
+ selectedObject?: Object3D | Drawable;
14
+ constructor(viewer: BaseViewer);
15
+ private onObjectSelected;
16
+ private onObjectDeselected;
17
+ private isCloseToLastPosition;
18
+ private isDoubleClick;
19
+ private handle_pointerdown;
20
+ private handle_pointermove;
21
+ private handle_pointerup;
22
+ private handleClickObject;
23
+ private handleAnchorPoint;
24
+ destroy(): void;
25
+ clearSelection(): void;
26
+ }
@@ -0,0 +1 @@
1
+ export * from "./Interaction";
@@ -0,0 +1,21 @@
1
+ import * as THREE from "three";
2
+ import { BimTilesMaterialParameters } from "./BimTilesMaterial";
3
+ /**
4
+ * Material used for highlighting objects.
5
+ */
6
+ export declare class BimTilesHighlightMaterial extends THREE.MeshStandardMaterial {
7
+ isBimTilesHighlightMaterial: boolean;
8
+ type: string;
9
+ transparent: boolean;
10
+ opacity: number;
11
+ depthTest: boolean;
12
+ side: 2;
13
+ uniforms: {
14
+ [uniform: string]: THREE.IUniform<any>;
15
+ };
16
+ vertexShader: string;
17
+ fragmentShader: string;
18
+ stateTexture: THREE.DataTexture;
19
+ constructor(params: BimTilesMaterialParameters);
20
+ setValues(params: BimTilesMaterialParameters): void;
21
+ }
@@ -0,0 +1,26 @@
1
+ import * as THREE from "three";
2
+ import { MeshStandardMaterialParameters } from "three";
3
+ export interface BimTilesMaterialParameters extends MeshStandardMaterialParameters {
4
+ stateTexture: THREE.DataTexture;
5
+ }
6
+ /**
7
+ * Customized material used by bimtiles.
8
+ */
9
+ export declare class BimTilesMaterial extends THREE.MeshStandardMaterial {
10
+ isBimTilesMaterial: boolean;
11
+ type: string;
12
+ uniforms: {
13
+ [uniform: string]: THREE.IUniform<any>;
14
+ };
15
+ vertexShader: string;
16
+ fragmentShader: string;
17
+ stateTexture: THREE.DataTexture;
18
+ readonly defaultOutlineColor: THREE.Color;
19
+ protected useBCOutline: boolean;
20
+ protected outlineVisible: boolean;
21
+ constructor(params: BimTilesMaterialParameters);
22
+ setOutlineVisible(visible: boolean): void;
23
+ enableOutline(enable: boolean): void;
24
+ setOutLineColor(color?: THREE.Color): void;
25
+ setValues(params: BimTilesMaterialParameters): void;
26
+ }
@@ -0,0 +1,9 @@
1
+ import * as THREE from "three";
2
+ import { BimTilesMaterialParameters } from "./BimTilesMaterial";
3
+ export declare class BimTilesPickMaterial extends THREE.ShaderMaterial {
4
+ isBimTilesPickMaterial: boolean;
5
+ type: string;
6
+ stateTexture: THREE.DataTexture;
7
+ constructor(params: BimTilesMaterialParameters);
8
+ setValues(params: BimTilesMaterialParameters): void;
9
+ }
@@ -0,0 +1,20 @@
1
+ import * as THREE from "three";
2
+ import { BimTilesMaterialParameters } from "./BimTilesMaterial";
3
+ /**
4
+ * Material used for transparent objects.
5
+ */
6
+ export declare class BimTilesTransparentMaterial extends THREE.MeshStandardMaterial {
7
+ isBimTilesTransparentMaterial: boolean;
8
+ type: string;
9
+ transparent: boolean;
10
+ opacity: number;
11
+ side: 0;
12
+ uniforms: {
13
+ [uniform: string]: THREE.IUniform<any>;
14
+ };
15
+ vertexShader: string;
16
+ fragmentShader: string;
17
+ stateTexture: THREE.DataTexture;
18
+ constructor(params: BimTilesMaterialParameters);
19
+ setValues(params: BimTilesMaterialParameters): void;
20
+ }
@@ -0,0 +1,16 @@
1
+ import * as THREE from "three";
2
+ export declare class StandardMaterialEx extends THREE.MeshStandardMaterial {
3
+ isStandardMaterialEx: boolean;
4
+ useBCOutline: boolean;
5
+ outlineVisible: boolean;
6
+ outlineColor: THREE.Color;
7
+ uniforms: Record<string, any>;
8
+ vertexShader: string;
9
+ fragmentShader: string;
10
+ useForCap: boolean;
11
+ constructor(params?: any);
12
+ refreshUniforms(): void;
13
+ setOutlineVisible(visible: boolean): void;
14
+ setOutLineColor(color?: THREE.Color): void;
15
+ copy(source: any): this;
16
+ }
File without changes
@@ -0,0 +1,5 @@
1
+ export * from "./StandardMaterialEx";
2
+ export * from "./BimTilesMaterial";
3
+ export * from "./BimTilesPickMaterial";
4
+ export * from "./BimTilesHighlightMaterial";
5
+ export * from "./BimTilesTransparentMaterial";
@@ -0,0 +1,58 @@
1
+ import * as THREE from "three";
2
+ import type { DxfData } from "../../core/dxf";
3
+ import type { PdfData } from "../../core/viewers";
4
+ /**
5
+ * Loaded 3d model info for Viewer3d.
6
+ */
7
+ export interface ModelData3d {
8
+ /**
9
+ * modelId that is unique for loaded models
10
+ */
11
+ modelId: string;
12
+ /**
13
+ * Three.js object.
14
+ */
15
+ object?: THREE.Object3D;
16
+ /**
17
+ * Bounding box of the model.
18
+ */
19
+ bbox?: THREE.Box3;
20
+ /**
21
+ * Edge objects of the model.
22
+ */
23
+ edges?: THREE.LineSegments[];
24
+ /**
25
+ * TilesRenderer for BimTiles
26
+ * @internal
27
+ */
28
+ tilesRenderer?: any;
29
+ }
30
+ /**
31
+ * Loaded 2d model info for Viewer2d.
32
+ */
33
+ export interface ModelData2d {
34
+ /**
35
+ * modelId that is unique for loaded models
36
+ */
37
+ modelId: string;
38
+ /**
39
+ * Used for dxf data.
40
+ */
41
+ dxfData?: DxfData;
42
+ /**
43
+ * Used for pdf data.
44
+ */
45
+ pdfData?: PdfData;
46
+ /**
47
+ * Model space transform matrix.
48
+ * @internal
49
+ */
50
+ msTransformMatrix?: THREE.Matrix4;
51
+ }
52
+ /**
53
+ * BimTile object.
54
+ */
55
+ export interface TileObject {
56
+ tilesetId: number;
57
+ userId: number;
58
+ }
@@ -0,0 +1,18 @@
1
+ import * as THREE from "three";
2
+ /**
3
+ * Base model class.
4
+ */
5
+ export declare abstract class Model {
6
+ /**
7
+ * The model id, it should be unique in the lifecycle of a viewer.
8
+ */
9
+ abstract modelId: string;
10
+ /**
11
+ * Gets the THREE.Object3D of this model.
12
+ */
13
+ abstract getModelObject(): THREE.Object3D;
14
+ /**
15
+ * Gets the bounding box of this model.
16
+ */
17
+ abstract getBBox(): THREE.Box3;
18
+ }
@@ -0,0 +1,142 @@
1
+ import * as THREE from "three";
2
+ import { ModelData2d } from "./Constants";
3
+ import { Units } from "../../core/Units";
4
+ import { DxfData } from "../../core/dxf";
5
+ import { ILayer, ILayoutObject, IPoint, IViewport, IViewportEntity } from "../../core/dxf-parser";
6
+ import { Model } from "../../core/model/Model";
7
+ import type { PdfData, PdfLayer } from "../../core/viewers/Viewer2d";
8
+ /**
9
+ * Loaded 2d model info for Viewer2d.
10
+ */
11
+ export declare class Model2d extends Model {
12
+ modelId: string;
13
+ private modelData;
14
+ modelObject: THREE.Object3D;
15
+ private bbox?;
16
+ constructor(modelData: ModelData2d);
17
+ get pdfData(): PdfData | undefined;
18
+ get dxfData(): DxfData | undefined;
19
+ /**
20
+ * @internal
21
+ */
22
+ get msTransformMatrix(): THREE.Matrix4 | undefined;
23
+ /**
24
+ * @internal
25
+ */
26
+ set msTransformMatrix(matrix: THREE.Matrix4 | undefined);
27
+ /**
28
+ * @internal
29
+ */
30
+ get loadedEntityCount(): number;
31
+ /**
32
+ * Gets dxf data header.
33
+ */
34
+ get header(): Record<string, string | number | IPoint> | undefined;
35
+ /**
36
+ * Gets dxf data viewports.
37
+ */
38
+ get viewports(): IViewport[] | undefined;
39
+ /**
40
+ * Gets layers.
41
+ */
42
+ get layers(): Record<string, ILayer | PdfLayer> | undefined;
43
+ /**
44
+ * Gets dxf data layoutViewportsMap.
45
+ * @internal
46
+ */
47
+ get layoutViewportsMap(): Record<string, IViewportEntity[]> | undefined;
48
+ /**
49
+ * Gets three.js object of the model.
50
+ */
51
+ getModelObject(): THREE.Object3D;
52
+ /**
53
+ * Gets model bounding box.
54
+ */
55
+ getBBox(): THREE.Box3;
56
+ /**
57
+ * Gets dxf units.
58
+ * @internal
59
+ */
60
+ getUnits(): Units;
61
+ /**
62
+ * Gets dxf model space extent.
63
+ * @internal
64
+ */
65
+ getModelSpaceExtent(): THREE.Box3 | undefined;
66
+ /**
67
+ * Gets layer by layer name.
68
+ */
69
+ getLayer(layerName: string): ILayer | PdfLayer | undefined;
70
+ /**
71
+ * Gets layer object and three.js object by layer name.
72
+ */
73
+ getObjectsByLayer(layerName: string): THREE.Object3D[] | undefined;
74
+ /**
75
+ * Gets layout of dxf data.
76
+ */
77
+ getLayouts(): ILayoutObject[];
78
+ getLayoutByName(layoutName: string): ILayoutObject | undefined;
79
+ /**
80
+ * Gets layout extent of dxf data.
81
+ * @internal
82
+ */
83
+ getLayoutExtent(layout: ILayoutObject): THREE.Box3;
84
+ /**
85
+ * Gets layout viewports.
86
+ * @internal
87
+ */
88
+ getLayoutViewports(layout: ILayoutObject): IViewportEntity[];
89
+ /**
90
+ * Gets the layout level three.js object.
91
+ */
92
+ getLayoutLevelObject(layoutName: string): THREE.Object3D | undefined;
93
+ /**
94
+ * Sets model visibility.
95
+ */
96
+ setVisible(visible: boolean): void;
97
+ /**
98
+ * Sets layer visibility.
99
+ */
100
+ setLayerVisible(layerName: string, visible: boolean, enableHideVisuallySmallObjects?: boolean, cameraZoom?: number): void;
101
+ /**
102
+ * Sets layer opacity.
103
+ */
104
+ setLayerOpacity(layerName: string, opacity: number): void;
105
+ /**
106
+ * Sets layer color.
107
+ */
108
+ setLayerColor(layerName: string, color: number): void;
109
+ /**
110
+ * Resets layer color.
111
+ */
112
+ resetLayerColor(layerName: string): void;
113
+ /**
114
+ * @internal
115
+ */
116
+ switchTransformMs(layoutName: string): void;
117
+ activateLayout(layoutName: string | undefined, isLayoutInitialized: boolean): void;
118
+ getFilteredViewports(layout: ILayoutObject): IViewportEntity[];
119
+ private generateObjectsByViewport;
120
+ private setMaterialUniforms;
121
+ private getObjectsByBoundingBox;
122
+ /**
123
+ * Shows objects for given layout, and hide any other layouts.
124
+ */
125
+ showLayoutObjects(layoutName: string): void;
126
+ /**
127
+ * Checks if a layer is frozen for viewport (VP Freeze)
128
+ */
129
+ private isLayerFrozenForViewport;
130
+ addSpatialFilterSection(object: THREE.Object3D, dxfData: DxfData, bFromViewport?: boolean): void;
131
+ private findSpatialFilter;
132
+ private getAnyMaterial;
133
+ private generateSectionsBySpatialFilter;
134
+ private hasObject;
135
+ private hasObjectWithId;
136
+ /**
137
+ * Highlights an object.
138
+ */
139
+ highlightObject(object: THREE.Object3D): void;
140
+ unHighlightObject(object: THREE.Object3D): void;
141
+ clearHighlight(): void;
142
+ }
@@ -0,0 +1,137 @@
1
+ import * as THREE from "three";
2
+ import { ModelData3d } from "./Constants";
3
+ import { Model } from "./Model";
4
+ /**
5
+ * Loaded 3d model info for Viewer3d.
6
+ */
7
+ export declare class Model3d extends Model {
8
+ modelId: string;
9
+ bbox?: THREE.Box3;
10
+ /**
11
+ * Root object that contains normal object, object for highlight, object for transparent, etc.
12
+ */
13
+ rootObject: THREE.Group;
14
+ /**
15
+ * Normal model object.
16
+ */
17
+ modelObject: THREE.Object3D;
18
+ /**
19
+ * Object for highlight usage.
20
+ */
21
+ highlighUsage: THREE.Group;
22
+ /**
23
+ * Object for transparent usage.
24
+ */
25
+ transparentUsage: THREE.Group;
26
+ /**
27
+ * Each edge object is created under its Mesh object.
28
+ * These are references of edge objects.
29
+ */
30
+ edges?: THREE.Object3D[];
31
+ /**
32
+ * Object that is being highlighted.
33
+ */
34
+ highlightedObject?: THREE.Object3D;
35
+ constructor(modelData: ModelData3d);
36
+ /**
37
+ * Gets the THREE.Object3D of this model.
38
+ */
39
+ getModelObject(): THREE.Object3D;
40
+ /**
41
+ * Gets the bounding box of this model.
42
+ */
43
+ getBBox(): THREE.Box3;
44
+ /**
45
+ * Enables/disables edges.
46
+ */
47
+ enableOutline(enable: boolean, onProgress?: (event: ProgressEvent) => void): Promise<void>;
48
+ /**
49
+ * Sets object's color.
50
+ */
51
+ setObjectColor(object: THREE.Object3D, color: number): void;
52
+ /**
53
+ * Sets object's opacity.
54
+ * TODO: The handling of instances and batches this time is not perfect. For example, the situation of multiple instances or batches was not considered.
55
+ * Optimization will be carried out in the future.
56
+ */
57
+ setObjectOpacity(targetObject: THREE.Object3D, opacity?: number, batchId?: number, instanceId?: number): void;
58
+ /**
59
+ * Clears object's opacity.
60
+ */
61
+ clearObjectOpacity(object: THREE.Object3D, batchId?: number, instanceId?: number): void;
62
+ /**
63
+ * Is object transparent.
64
+ */
65
+ isObjectTransparent(object: THREE.Object3D): boolean;
66
+ /**
67
+ * Checks if there is any transparent object in model.
68
+ * Note that this only consider the objects that we set as transparent,
69
+ * it does not count objects that are transparent by default (like glass).
70
+ */
71
+ hasTransparentObject(): boolean;
72
+ /**
73
+ * Sets model's opacity.
74
+ */
75
+ setOpacity(opacity?: number): void;
76
+ /**
77
+ * Clears model's opacity.
78
+ */
79
+ clearOpacity(): void;
80
+ /**
81
+ * Highlights an object.
82
+ */
83
+ highlightObjectById(objectId: number, batchId?: number, instanceId?: number): void;
84
+ /**
85
+ * Highlights an object.
86
+ */
87
+ highlightObject(object: THREE.Object3D, batchId?: number, instanceId?: number): void;
88
+ /**
89
+ * Gets highlighted object.
90
+ */
91
+ getHighlightedObject(): THREE.Object3D | undefined;
92
+ /**
93
+ * If there is highlighted object.
94
+ */
95
+ hasHighlightedObject(): boolean;
96
+ /**
97
+ * Clears highlight for object(s) if any.
98
+ */
99
+ clearHighlight(): void;
100
+ setDoubleSidedMaterials(): void;
101
+ revertDoubleSidedMaterials(): void;
102
+ /**
103
+ * Sets an object's visibility.
104
+ */
105
+ setObjectVisible(object: THREE.Object3D, visible: boolean): void;
106
+ /**
107
+ * Sets model's visibility.
108
+ */
109
+ setVisible(visible: boolean): void;
110
+ /**
111
+ * Checks if there is any visible object.
112
+ */
113
+ hasVisibleObject(): boolean;
114
+ /**
115
+ * Checks if there is any invisible object.
116
+ */
117
+ hasInvisibleObject(): boolean;
118
+ private createBatchMeshById;
119
+ private createInstanceMeshById;
120
+ setClipPlanes(clippingPlanes: THREE.Plane[]): void;
121
+ /**
122
+ * @internal
123
+ */
124
+ getObjectTree(): void;
125
+ /**
126
+ * If current Model3d contains target object.
127
+ */
128
+ hasObject(object: THREE.Object3D): boolean;
129
+ /**
130
+ * If current Model3d contains target object.
131
+ */
132
+ hasObjectWithId(id: number): THREE.Object3D<THREE.Object3DEventMap> | undefined;
133
+ /**
134
+ * Generates "uv1" for all meshes in this model. "uv1" is useful for lightmap.
135
+ */
136
+ generateSmartUv1(): void;
137
+ }