@maqiuyao/dxf-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 (227) hide show
  1. package/README.md +79 -0
  2. package/dist/assets/vite-project.css +1 -0
  3. package/dist/dxf-viewer.cjs +1533 -0
  4. package/dist/dxf-viewer.js +33490 -0
  5. package/dist/src/dxfViewer/core/Configs.d.ts +250 -0
  6. package/dist/src/dxfViewer/core/Constants.d.ts +76 -0
  7. package/dist/src/dxfViewer/core/Units.d.ts +16 -0
  8. package/dist/src/dxfViewer/core/VersionManager.d.ts +14 -0
  9. package/dist/src/dxfViewer/core/camera/CameraManager.d.ts +81 -0
  10. package/dist/src/dxfViewer/core/camera/index.d.ts +1 -0
  11. package/dist/src/dxfViewer/core/camera-controls/CameraControls.d.ts +744 -0
  12. package/dist/src/dxfViewer/core/camera-controls/Constants.d.ts +2 -0
  13. package/dist/src/dxfViewer/core/camera-controls/EventDispatcher.d.ts +42 -0
  14. package/dist/src/dxfViewer/core/camera-controls/index.d.ts +2 -0
  15. package/dist/src/dxfViewer/core/camera-controls/types.d.ts +112 -0
  16. package/dist/src/dxfViewer/core/camera-controls/utils/extractClientCoordFromEvent.d.ts +7 -0
  17. package/dist/src/dxfViewer/core/camera-controls/utils/math-utils.d.ts +14 -0
  18. package/dist/src/dxfViewer/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts +2 -0
  19. package/dist/src/dxfViewer/core/canvas/CanvasRender.d.ts +49 -0
  20. package/dist/src/dxfViewer/core/canvas/Constants.d.ts +28 -0
  21. package/dist/src/dxfViewer/core/canvas/Drawable.d.ts +87 -0
  22. package/dist/src/dxfViewer/core/canvas/DrawableList.d.ts +40 -0
  23. package/dist/src/dxfViewer/core/canvas/index.d.ts +4 -0
  24. package/dist/src/dxfViewer/core/compare/BaseDxfCompareHelper.d.ts +104 -0
  25. package/dist/src/dxfViewer/core/compare/CompareDrawable.d.ts +30 -0
  26. package/dist/src/dxfViewer/core/compare/DxfCompareHelper.d.ts +76 -0
  27. package/dist/src/dxfViewer/core/compare/DxfCompareMarkupManager.d.ts +11 -0
  28. package/dist/src/dxfViewer/core/compare/index.d.ts +4 -0
  29. package/dist/src/dxfViewer/core/components/Container.d.ts +38 -0
  30. package/dist/src/dxfViewer/core/components/ProgressBar.d.ts +31 -0
  31. package/dist/src/dxfViewer/core/components/Spinner.d.ts +13 -0
  32. package/dist/src/dxfViewer/core/components/index.d.ts +3 -0
  33. package/dist/src/dxfViewer/core/controls/CameraControlsEx.d.ts +33 -0
  34. package/dist/src/dxfViewer/core/controls/Control.d.ts +17 -0
  35. package/dist/src/dxfViewer/core/controls/OrbitControls.d.ts +13 -0
  36. package/dist/src/dxfViewer/core/controls/PlanControls.d.ts +13 -0
  37. package/dist/src/dxfViewer/core/controls/index.d.ts +3 -0
  38. package/dist/src/dxfViewer/core/dxf/DxfCompare.d.ts +170 -0
  39. package/dist/src/dxfViewer/core/dxf/DxfConstants.d.ts +24 -0
  40. package/dist/src/dxfViewer/core/dxf/DxfLoader.d.ts +569 -0
  41. package/dist/src/dxfViewer/core/dxf/DxfObject.d.ts +44 -0
  42. package/dist/src/dxfViewer/core/dxf/DxfUtils.d.ts +79 -0
  43. package/dist/src/dxfViewer/core/dxf/HatchPatternShaders.d.ts +12 -0
  44. package/dist/src/dxfViewer/core/dxf/LinePatternShaders.d.ts +12 -0
  45. package/dist/src/dxfViewer/core/dxf/bspline.d.ts +7 -0
  46. package/dist/src/dxfViewer/core/dxf/dxfom-mtext.d.ts +46 -0
  47. package/dist/src/dxfViewer/core/dxf/dxfom-text.d.ts +16 -0
  48. package/dist/src/dxfViewer/core/dxf/index.d.ts +10 -0
  49. package/dist/src/dxfViewer/core/dxf/round10.d.ts +1 -0
  50. package/dist/src/dxfViewer/core/dxf-parser/AutoCadColorIndex.d.ts +8 -0
  51. package/dist/src/dxfViewer/core/dxf-parser/DxfBaseReader.d.ts +13 -0
  52. package/dist/src/dxfViewer/core/dxf-parser/DxfBinaryReader.d.ts +14 -0
  53. package/dist/src/dxfViewer/core/dxf-parser/DxfParser.d.ts +321 -0
  54. package/dist/src/dxfViewer/core/dxf-parser/DxfTextReader.d.ts +30 -0
  55. package/dist/src/dxfViewer/core/dxf-parser/ParseHelpers.d.ts +18 -0
  56. package/dist/src/dxfViewer/core/dxf-parser/entities/3dface.d.ts +11 -0
  57. package/dist/src/dxfViewer/core/dxf-parser/entities/arc.d.ts +16 -0
  58. package/dist/src/dxfViewer/core/dxf-parser/entities/attdef.d.ts +31 -0
  59. package/dist/src/dxfViewer/core/dxf-parser/entities/attrib.d.ts +31 -0
  60. package/dist/src/dxfViewer/core/dxf-parser/entities/circle.d.ts +13 -0
  61. package/dist/src/dxfViewer/core/dxf-parser/entities/dimension.d.ts +22 -0
  62. package/dist/src/dxfViewer/core/dxf-parser/entities/ellipse.d.ts +15 -0
  63. package/dist/src/dxfViewer/core/dxf-parser/entities/geomtry.d.ts +40 -0
  64. package/dist/src/dxfViewer/core/dxf-parser/entities/hatch.d.ts +104 -0
  65. package/dist/src/dxfViewer/core/dxf-parser/entities/image.d.ts +37 -0
  66. package/dist/src/dxfViewer/core/dxf-parser/entities/insert.d.ts +21 -0
  67. package/dist/src/dxfViewer/core/dxf-parser/entities/leader.d.ts +20 -0
  68. package/dist/src/dxfViewer/core/dxf-parser/entities/line.d.ts +10 -0
  69. package/dist/src/dxfViewer/core/dxf-parser/entities/lwpolyline.d.ts +17 -0
  70. package/dist/src/dxfViewer/core/dxf-parser/entities/mleader.d.ts +97 -0
  71. package/dist/src/dxfViewer/core/dxf-parser/entities/mtext.d.ts +18 -0
  72. package/dist/src/dxfViewer/core/dxf-parser/entities/ole2frame.d.ts +18 -0
  73. package/dist/src/dxfViewer/core/dxf-parser/entities/point.d.ts +11 -0
  74. package/dist/src/dxfViewer/core/dxf-parser/entities/polyline.d.ts +19 -0
  75. package/dist/src/dxfViewer/core/dxf-parser/entities/ray.d.ts +10 -0
  76. package/dist/src/dxfViewer/core/dxf-parser/entities/region.d.ts +10 -0
  77. package/dist/src/dxfViewer/core/dxf-parser/entities/seqend.d.ts +8 -0
  78. package/dist/src/dxfViewer/core/dxf-parser/entities/solid.d.ts +10 -0
  79. package/dist/src/dxfViewer/core/dxf-parser/entities/spline.d.ts +23 -0
  80. package/dist/src/dxfViewer/core/dxf-parser/entities/table.d.ts +44 -0
  81. package/dist/src/dxfViewer/core/dxf-parser/entities/text.d.ts +18 -0
  82. package/dist/src/dxfViewer/core/dxf-parser/entities/vertex.d.ts +23 -0
  83. package/dist/src/dxfViewer/core/dxf-parser/entities/viewport.d.ts +46 -0
  84. package/dist/src/dxfViewer/core/dxf-parser/entities/xline.d.ts +10 -0
  85. package/dist/src/dxfViewer/core/dxf-parser/index.d.ts +27 -0
  86. package/dist/src/dxfViewer/core/dxf-parser/objects/common.d.ts +15 -0
  87. package/dist/src/dxfViewer/core/dxf-parser/objects/dictionary.d.ts +19 -0
  88. package/dist/src/dxfViewer/core/dxf-parser/objects/imagedef.d.ts +24 -0
  89. package/dist/src/dxfViewer/core/dxf-parser/objects/layout.d.ts +26 -0
  90. package/dist/src/dxfViewer/core/dxf-parser/objects/sortentstable.d.ts +12 -0
  91. package/dist/src/dxfViewer/core/dxf-parser/objects/spatialfilter.d.ts +22 -0
  92. package/dist/src/dxfViewer/core/dxf-parser/objects/xrecord.d.ts +11 -0
  93. package/dist/src/dxfViewer/core/effect/EffectManager.d.ts +43 -0
  94. package/dist/src/dxfViewer/core/effect/index.d.ts +1 -0
  95. package/dist/src/dxfViewer/core/font/BaseFont.d.ts +41 -0
  96. package/dist/src/dxfViewer/core/font/FontManager.d.ts +52 -0
  97. package/dist/src/dxfViewer/core/font/MeshFont.d.ts +14 -0
  98. package/dist/src/dxfViewer/core/font/ShxFont.d.ts +49 -0
  99. package/dist/src/dxfViewer/core/font/index.d.ts +1 -0
  100. package/dist/src/dxfViewer/core/font/shx/ExtraLettersTemplate.d.ts +4 -0
  101. package/dist/src/dxfViewer/core/font/shx/Shx.constants.d.ts +20 -0
  102. package/dist/src/dxfViewer/core/font/shx/ShxParser.d.ts +18 -0
  103. package/dist/src/dxfViewer/core/font/shx/TextShape.d.ts +24 -0
  104. package/dist/src/dxfViewer/core/font/shx/gbk/index.d.ts +3 -0
  105. package/dist/src/dxfViewer/core/font/shx/index.d.ts +1 -0
  106. package/dist/src/dxfViewer/core/font/shx/util/BitConverter.d.ts +21 -0
  107. package/dist/src/dxfViewer/core/geometry-offset/Edge.d.ts +27 -0
  108. package/dist/src/dxfViewer/core/geometry-offset/Offset.d.ts +46 -0
  109. package/dist/src/dxfViewer/core/geometry-offset/index.d.ts +1 -0
  110. package/dist/src/dxfViewer/core/helpers/BinaryReader.d.ts +23 -0
  111. package/dist/src/dxfViewer/core/helpers/BoxSelectHelper.d.ts +44 -0
  112. package/dist/src/dxfViewer/core/helpers/InstantiateHelper.d.ts +26 -0
  113. package/dist/src/dxfViewer/core/helpers/LoadingHelper.d.ts +59 -0
  114. package/dist/src/dxfViewer/core/helpers/MeshBvhHelper.d.ts +15 -0
  115. package/dist/src/dxfViewer/core/helpers/MobileTouchHelperDrawable.d.ts +26 -0
  116. package/dist/src/dxfViewer/core/helpers/OSnapHelper.d.ts +158 -0
  117. package/dist/src/dxfViewer/core/helpers/ObjectPixelSizeHelper.d.ts +13 -0
  118. package/dist/src/dxfViewer/core/helpers/PickMarkupHelper.d.ts +29 -0
  119. package/dist/src/dxfViewer/core/helpers/RafHelper.d.ts +18 -0
  120. package/dist/src/dxfViewer/core/helpers/ZoomToRectHelper.d.ts +24 -0
  121. package/dist/src/dxfViewer/core/helpers/index.d.ts +11 -0
  122. package/dist/src/dxfViewer/core/index.d.ts +19 -0
  123. package/dist/src/dxfViewer/core/indexeddb/BaseTable.d.ts +36 -0
  124. package/dist/src/dxfViewer/core/indexeddb/DxfDataTable.d.ts +22 -0
  125. package/dist/src/dxfViewer/core/indexeddb/FontDataTable.d.ts +32 -0
  126. package/dist/src/dxfViewer/core/indexeddb/IndexedDbManager.d.ts +50 -0
  127. package/dist/src/dxfViewer/core/indexeddb/index.d.ts +4 -0
  128. package/dist/src/dxfViewer/core/input-manager/InputManager.d.ts +146 -0
  129. package/dist/src/dxfViewer/core/input-manager/index.d.ts +2 -0
  130. package/dist/src/dxfViewer/core/materials/BimTilesHighlightMaterial.d.ts +21 -0
  131. package/dist/src/dxfViewer/core/materials/BimTilesMaterial.d.ts +32 -0
  132. package/dist/src/dxfViewer/core/materials/BimTilesPickMaterial.d.ts +14 -0
  133. package/dist/src/dxfViewer/core/materials/BimTilesTransparentMaterial.d.ts +20 -0
  134. package/dist/src/dxfViewer/core/materials/StandardMaterialEx.d.ts +29 -0
  135. package/dist/src/dxfViewer/core/materials/constants.d.ts +4 -0
  136. package/dist/src/dxfViewer/core/materials/index.d.ts +5 -0
  137. package/dist/src/dxfViewer/core/model/Constants.d.ts +58 -0
  138. package/dist/src/dxfViewer/core/model/Model.d.ts +18 -0
  139. package/dist/src/dxfViewer/core/model/Model2d.d.ts +144 -0
  140. package/dist/src/dxfViewer/core/model/Model3d.d.ts +111 -0
  141. package/dist/src/dxfViewer/core/model/bimtiles/BatchedMeshesParser.d.ts +26 -0
  142. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesConfigParser.d.ts +43 -0
  143. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesData.d.ts +280 -0
  144. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesMaterialManager.d.ts +139 -0
  145. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesModel.d.ts +70 -0
  146. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesPropertyParser.d.ts +45 -0
  147. package/dist/src/dxfViewer/core/model/bimtiles/BimTilesRenderer.d.ts +59 -0
  148. package/dist/src/dxfViewer/core/model/bimtiles/InstancedMeshesParser.d.ts +41 -0
  149. package/dist/src/dxfViewer/core/model/bimtiles/TileParser.d.ts +14 -0
  150. package/dist/src/dxfViewer/core/model/bimtiles/Utils.d.ts +29 -0
  151. package/dist/src/dxfViewer/core/model/index.d.ts +6 -0
  152. package/dist/src/dxfViewer/core/patches/Constants.d.ts +6 -0
  153. package/dist/src/dxfViewer/core/patches/Line.d.ts +3 -0
  154. package/dist/src/dxfViewer/core/patches/Mesh.d.ts +2 -0
  155. package/dist/src/dxfViewer/core/patches/Points.d.ts +3 -0
  156. package/dist/src/dxfViewer/core/patches/index.d.ts +4 -0
  157. package/dist/src/dxfViewer/core/patches/shaders/ShaderChunk.d.ts +143 -0
  158. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/common_ex.glsl.d.ts +2 -0
  159. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/id_pars_vertex.glsl.d.ts +2 -0
  160. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/id_vertex.glsl.d.ts +2 -0
  161. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts +2 -0
  162. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts +2 -0
  163. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts +2 -0
  164. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts +2 -0
  165. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_fragment.glsl.d.ts +2 -0
  166. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_highlight_fragment.glsl.d.ts +2 -0
  167. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_pars_fragment.glsl.d.ts +2 -0
  168. package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_transparent_fragment.glsl.d.ts +2 -0
  169. package/dist/src/dxfViewer/core/patches/shaders/shaderLib/pick_ex.glsl.d.ts +2 -0
  170. package/dist/src/dxfViewer/core/patches/shaders/shaderLib/standard_ex.glsl.d.ts +2 -0
  171. package/dist/src/dxfViewer/core/pick/PickManager.d.ts +54 -0
  172. package/dist/src/dxfViewer/core/pick/index.d.ts +1 -0
  173. package/dist/src/dxfViewer/core/scene/SceneManager.d.ts +43 -0
  174. package/dist/src/dxfViewer/core/scene/index.d.ts +1 -0
  175. package/dist/src/dxfViewer/core/shp-js/BitView.d.ts +12 -0
  176. package/dist/src/dxfViewer/core/shp-js/SHPLoader.d.ts +12 -0
  177. package/dist/src/dxfViewer/core/shp-js/Shp.d.ts +10 -0
  178. package/dist/src/dxfViewer/core/shp-js/ShpThree.d.ts +24 -0
  179. package/dist/src/dxfViewer/core/shp-js/index.d.ts +4 -0
  180. package/dist/src/dxfViewer/core/text-texture/TextTexture.d.ts +45 -0
  181. package/dist/src/dxfViewer/core/undo/Command.d.ts +6 -0
  182. package/dist/src/dxfViewer/core/undo/UndoManager.d.ts +24 -0
  183. package/dist/src/dxfViewer/core/undo/index.d.ts +2 -0
  184. package/dist/src/dxfViewer/core/utils/CSS2DObjectUtils.d.ts +14 -0
  185. package/dist/src/dxfViewer/core/utils/CancelablePromise.d.ts +6 -0
  186. package/dist/src/dxfViewer/core/utils/ColorUtils.d.ts +21 -0
  187. package/dist/src/dxfViewer/core/utils/CommonUtils.d.ts +129 -0
  188. package/dist/src/dxfViewer/core/utils/CoordinateUtils.d.ts +81 -0
  189. package/dist/src/dxfViewer/core/utils/DecimalPrecisionUtils.d.ts +10 -0
  190. package/dist/src/dxfViewer/core/utils/DeviceUtils.d.ts +15 -0
  191. package/dist/src/dxfViewer/core/utils/EdgeUtils.d.ts +14 -0
  192. package/dist/src/dxfViewer/core/utils/Event.d.ts +34 -0
  193. package/dist/src/dxfViewer/core/utils/ExportUtils.d.ts +61 -0
  194. package/dist/src/dxfViewer/core/utils/FpsUtils.d.ts +13 -0
  195. package/dist/src/dxfViewer/core/utils/GeometryUtils.d.ts +78 -0
  196. package/dist/src/dxfViewer/core/utils/Locale.d.ts +22 -0
  197. package/dist/src/dxfViewer/core/utils/LogUtils.d.ts +7 -0
  198. package/dist/src/dxfViewer/core/utils/MaterialUtils.d.ts +40 -0
  199. package/dist/src/dxfViewer/core/utils/MathUtils.d.ts +41 -0
  200. package/dist/src/dxfViewer/core/utils/MergeUtils.d.ts +120 -0
  201. package/dist/src/dxfViewer/core/utils/ObjectUtils.d.ts +215 -0
  202. package/dist/src/dxfViewer/core/utils/PolygonUtils.d.ts +9 -0
  203. package/dist/src/dxfViewer/core/utils/SVGObjectUtils.d.ts +22 -0
  204. package/dist/src/dxfViewer/core/utils/SceneUtils.d.ts +26 -0
  205. package/dist/src/dxfViewer/core/utils/SectionUtils.d.ts +11 -0
  206. package/dist/src/dxfViewer/core/utils/SimplifyUtils.d.ts +15 -0
  207. package/dist/src/dxfViewer/core/utils/TextUtils.d.ts +37 -0
  208. package/dist/src/dxfViewer/core/utils/TextureUtils.d.ts +16 -0
  209. package/dist/src/dxfViewer/core/utils/UnitConversionUtils.d.ts +31 -0
  210. package/dist/src/dxfViewer/core/utils/Viewer3dUtils.d.ts +25 -0
  211. package/dist/src/dxfViewer/core/utils/index.d.ts +26 -0
  212. package/dist/src/dxfViewer/core/viewers/BaseViewer.d.ts +248 -0
  213. package/dist/src/dxfViewer/core/viewers/BimTilesViewer.d.ts +126 -0
  214. package/dist/src/dxfViewer/core/viewers/Constants.d.ts +9 -0
  215. package/dist/src/dxfViewer/core/viewers/Plugin.d.ts +29 -0
  216. package/dist/src/dxfViewer/core/viewers/Viewer2d.d.ts +405 -0
  217. package/dist/src/dxfViewer/core/viewers/Viewer3d.d.ts +130 -0
  218. package/dist/src/dxfViewer/core/viewers/Viewer3dLite.d.ts +143 -0
  219. package/dist/src/dxfViewer/core/viewers/ViewerEvent.d.ts +96 -0
  220. package/dist/src/dxfViewer/core/viewers/index.d.ts +8 -0
  221. package/dist/src/dxfViewer/core/webcam/WebCam.d.ts +27 -0
  222. package/dist/src/dxfViewer/core/webcam/index.d.ts +1 -0
  223. package/dist/src/dxfViewer/core/workers/CreateMeshBvh.worker.d.ts +1 -0
  224. package/dist/src/dxfViewer/core/workers/GenerateMeshBvhWorker.d.ts +17 -0
  225. package/dist/src/dxfViewer/core/workers/index.d.ts +1 -0
  226. package/dist/src/dxfViewer/lib.d.ts +1 -0
  227. package/package.json +62 -0
@@ -0,0 +1,248 @@
1
+ import { CSS2DRenderer } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
2
+ import { ProgressBar, Spinner } from '../components';
3
+ import { ViewerName } from './Constants';
4
+ import { Plugin } from './Plugin';
5
+ import { ViewerEvent } from './ViewerEvent';
6
+ import { BaseViewerConfig, CameraConfig, CameraProjection, ModelConfig, Viewpoint } from '../../core/Configs';
7
+ import { CameraManager } from '../../core/camera';
8
+ import { CanvasRender } from '../../core/canvas';
9
+ import { Container } from '../../core/components/Container';
10
+ import { FontManager } from '../../core/font';
11
+ import { ZoomToRectHelper } from '../../core/helpers';
12
+ import { LoadingHelper } from '../../core/helpers/LoadingHelper';
13
+ import { InputManager } from '../../core/input-manager';
14
+ import { Model } from '../../core/model';
15
+ import { PickManager } from '../../core/pick';
16
+ import { SceneManager } from '../../core/scene/SceneManager';
17
+ import { UndoManager } from '../../core/undo';
18
+ import { Event } from '../../core/utils';
19
+ import * as THREE from "three";
20
+ type ViewerEvents = {
21
+ [K in ViewerEvent]: any;
22
+ };
23
+ /**
24
+ * Abstract base class for Viewer2d, Viewer3d, etc.
25
+ */
26
+ export declare abstract class BaseViewer extends Event<ViewerEvents> {
27
+ name: ViewerName;
28
+ protected viewerCfg: BaseViewerConfig;
29
+ private clock;
30
+ protected targetMaxFps: number;
31
+ protected timeStamp: number;
32
+ private renderEnabled;
33
+ /**
34
+ * @internal
35
+ */
36
+ protected requestAnimationFrameHandle?: number;
37
+ container: Container;
38
+ protected plugins: Plugin[];
39
+ loadedModels: Model[];
40
+ private raf?;
41
+ private timeoutSymbol?;
42
+ protected homeView?: Viewpoint;
43
+ protected inputManager: InputManager;
44
+ protected cameraManager: CameraManager;
45
+ protected sceneManager: SceneManager;
46
+ protected fontManager?: FontManager;
47
+ protected pickManager: PickManager;
48
+ protected undoManager: UndoManager;
49
+ protected overlayRender: CanvasRender;
50
+ protected css2dRenderer: CSS2DRenderer;
51
+ protected spinner: Spinner;
52
+ protected progressBar?: ProgressBar;
53
+ protected loaderHelper: LoadingHelper;
54
+ protected zoomToRectHelper?: ZoomToRectHelper;
55
+ /**
56
+ * Enables selecting an object
57
+ */
58
+ protected _enableSelection: boolean;
59
+ /**
60
+ * In order to have a better performance, it should only render when necessary.
61
+ * Usually, we should enable render for these cases:
62
+ * - Anything added to, removed from scene, or objects' position, scale, rotation, opacity, material, etc. changed
63
+ * - Anything selected/unselected
64
+ * - Camera changed
65
+ * - Render area resized
66
+ * @internal
67
+ */
68
+ enableRender: (time?: number) => void;
69
+ constructor(viewerCfg: BaseViewerConfig);
70
+ private initLogLevel;
71
+ private initLocalization;
72
+ get viewerContainer(): HTMLElement;
73
+ get widgetContainer(): HTMLElement;
74
+ getUndoManager(): UndoManager;
75
+ getInputManager(): InputManager;
76
+ getCssRender(): CSS2DRenderer;
77
+ getCameraManager(): CameraManager;
78
+ getOverlayRender(): CanvasRender;
79
+ getSceneManager(): SceneManager;
80
+ /**
81
+ * The WebGLRenderer.
82
+ */
83
+ get renderer(): THREE.WebGLRenderer;
84
+ /**
85
+ * Current camera.
86
+ */
87
+ get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
88
+ /**
89
+ * Current Scene.
90
+ */
91
+ get scene(): THREE.Scene;
92
+ /**
93
+ * Gets if selection is enabled.
94
+ */
95
+ abstract get enableSelection(): boolean;
96
+ /**
97
+ * Sets if selection is enabled.
98
+ * A derived class may need to clean up selected object if any.
99
+ */
100
+ abstract set enableSelection(enable: boolean);
101
+ getRaycaster(): THREE.Raycaster;
102
+ getViewerConfig(): BaseViewerConfig;
103
+ getSpinner(): Spinner;
104
+ getFontManager(): FontManager | undefined;
105
+ private initCSS2DRenderer;
106
+ protected animate(): void;
107
+ resize(): void;
108
+ /**
109
+ * Sets decoder path for draco loader.
110
+ * Draco decoder will be used if a model is draco encoded.
111
+ * @param decoderPath e.g., "libs/draco/gltf/"
112
+ * @internal
113
+ */
114
+ setDracoDecoderPath(path: string): void;
115
+ abstract loadModel(modelCfg: ModelConfig, onProgress?: (event: ProgressEvent) => void): Promise<void>;
116
+ addModel(model: Model): void;
117
+ setFont(urls: string[]): Promise<void>;
118
+ /**
119
+ *
120
+ * @description 2d ignore position z.
121
+ */
122
+ is3d(): boolean;
123
+ /**
124
+ * Gets how long a pixel represents in world coordinate.
125
+ * This works fine for OrthographicCamera.
126
+ * As for PerspectiveCamera, a pixel represents different size for different position,
127
+ * depends on how far the camera is and its fov, etc. We'll simply take the camera target as the position to calculate.
128
+ * @internal
129
+ */
130
+ getPixelSizeInWorldCoord(): number;
131
+ /**
132
+ * @description {en} Asks user to select a box area, and zooms to it.
133
+ * @description {zh} 询问用户选择一个框选区域,然后缩放到该区域。
134
+ * @example
135
+ * ``` typescript
136
+ * viewer.zoomToRect();
137
+ * ```
138
+ */
139
+ zoomToRect(): void;
140
+ /**
141
+ * @internal
142
+ */
143
+ deactivateZoomRect(): void;
144
+ /**
145
+ * Gets an unique modelId in case the expected id is duplicated.
146
+ */
147
+ protected getUniqueModelId(expectedModelId: string): string;
148
+ /**
149
+ * Gets all objects' bounding box.
150
+ */
151
+ getBBox(): THREE.Box3;
152
+ /**
153
+ * Flies to given object and keep current view direction unchanged.
154
+ */
155
+ flyToObject(object: THREE.Object3D): void;
156
+ flyToObjects(objects: THREE.Object3D[]): void;
157
+ /**
158
+ * Make camera fly to target position with given lookAt position
159
+ * @param position camera's target position
160
+ * @param lookAt camera's new lookAt position
161
+ */
162
+ flyTo(position: THREE.Vector3, lookAt: THREE.Vector3, enableTransition?: boolean): void;
163
+ /**
164
+ * Views objects by given direction.
165
+ */
166
+ flyToDirection(direction: THREE.Vector3): void;
167
+ /**
168
+ * Goes to home view.
169
+ */
170
+ goToHomeView(): void;
171
+ /**
172
+ * Fits the camera to view all objects in scene, keeps current view
173
+ * direction unchanged.
174
+ */
175
+ viewFitAll(): void;
176
+ /**
177
+ * Zooms to given bounding box.
178
+ */
179
+ zoomToBBox(bbox: THREE.Box3): void;
180
+ /**
181
+ * Picks the closest object by mouse position.
182
+ */
183
+ pickObject(mousePosition: THREE.Vector2, layerChannels?: number[], radius?: number): THREE.Intersection<THREE.Object3D<THREE.Object3DEventMap>> | undefined;
184
+ /**
185
+ * Picks objects by mouse position.
186
+ */
187
+ pickObjects(mousePosition: THREE.Vector2, layerChannels?: number[]): THREE.Intersection<THREE.Object3D<THREE.Object3DEventMap>>[];
188
+ getRaycastableObjects(): THREE.Object3D<THREE.Object3DEventMap>[];
189
+ /**
190
+ * @description {en} Sets background color.
191
+ * @param r Red channel value between 0 and 1.
192
+ * @param g Green channel value between 0 and 1.
193
+ * @param b Blue channel value between 0 and 1.
194
+ * @example
195
+ * ``` typescript
196
+ * // Sets background to gray
197
+ * viewer.setBackgroundColor(0.5, 0.5, 0.5);
198
+ * ```
199
+ */
200
+ setBackgroundColor(r: number, g: number, b: number): void;
201
+ /**
202
+ * Sets global clip planes.
203
+ * This is mainly used by 3d viewers.
204
+ */
205
+ setGlobalClipPlanes(planes: THREE.Plane[]): void;
206
+ getCameraProjection(): CameraProjection;
207
+ setCameraProjection(proj: CameraProjection): void;
208
+ enableControl(enable: boolean): void;
209
+ enableRotate(enable: boolean): void;
210
+ enableZoom(enable: boolean): void;
211
+ enablePan(enable: boolean): void;
212
+ getHomeView(): Viewpoint | undefined;
213
+ setHomeView(viewpoint: Viewpoint): void;
214
+ getCameraConfig(): CameraConfig;
215
+ setCameraConfig(cameraCfg: CameraConfig): void;
216
+ getCameraDirection(): THREE.Vector3;
217
+ getRenderInfo(): {
218
+ drawCalls: number;
219
+ lines: number;
220
+ points: number;
221
+ triangles: number;
222
+ geometries: number;
223
+ textures: number;
224
+ materials: number;
225
+ };
226
+ /**
227
+ *
228
+ */
229
+ destroy(): void;
230
+ /**
231
+ * Installs a Plugin.
232
+ */
233
+ addPlugin(plugin: Plugin): void;
234
+ /**
235
+ * Uninstalls a Plugin, clearing content from it first.
236
+ */
237
+ removePlugin(plugin: Plugin): void;
238
+ /**
239
+ * Clears all plugins.
240
+ * A plugin is not created by viewer, thus, won't be destroyed by viewer.
241
+ */
242
+ clearPlugins(): void;
243
+ /**
244
+ * Finds a Plugin.
245
+ */
246
+ findPlugin(id: string): Plugin | undefined;
247
+ }
248
+ export {};
@@ -0,0 +1,126 @@
1
+ import { BaseViewer } from './BaseViewer';
2
+ import { ViewerName } from './Constants';
3
+ import { ModelConfig, Viewer3dConfig, Viewpoint } from '../../core/Configs';
4
+ import { EffectManager } from '../../core/effect';
5
+ import { EventInfo } from '../../core/input-manager/InputManager';
6
+ import { BimTilesModel, TileObject } from '../../core/model';
7
+ import * as THREE from "three";
8
+ /**
9
+ * BimTilesViewer
10
+ */
11
+ export declare class BimTilesViewer extends BaseViewer {
12
+ name: ViewerName;
13
+ protected pickUsageScene: THREE.Scene;
14
+ protected effect: EffectManager;
15
+ loadedModels: BimTilesModel[];
16
+ selectedObject?: TileObject;
17
+ /**
18
+ * Enables the feature to hover on an object and blend it color a bit.
19
+ */
20
+ enableHoverEffect: boolean;
21
+ constructor(viewerCfg: Viewer3dConfig, homeView?: Viewpoint);
22
+ protected setupDefaultEvents(): void;
23
+ protected setDefaultBackground(): void;
24
+ private renderImmediately;
25
+ protected handleAnchorPoint(intersect?: THREE.Intersection): void;
26
+ protected handleClickObject(intersection: TileObject): void;
27
+ is3d(): boolean;
28
+ /**
29
+ * Sets a model's opacity.
30
+ */
31
+ setModelOpacity(modelId: string, opacity: number): void;
32
+ /**
33
+ * Clears a model's opacity.
34
+ */
35
+ clearModelOpacity(modelId: string): void;
36
+ /**
37
+ * Sets all models' opacity.
38
+ */
39
+ setModelsOpacity(opacity: number): void;
40
+ /**
41
+ * Clears all models' opacity.
42
+ */
43
+ clearModelsOpacity(): void;
44
+ /**
45
+ * Enables/disables outline for a model.
46
+ * @note Outline for bimtiles is not implemented yet.
47
+ */
48
+ enableModelOutline(modelId: string, enable: boolean): void;
49
+ /**
50
+ * Enables/disables outline for all models.
51
+ * @note Outline for bimtiles is not implemented yet.
52
+ */
53
+ enableModelsOutline(enable: boolean): void;
54
+ setModelVisible(modelId: string, visible: boolean): void;
55
+ setModelsVisible(visible: boolean): void;
56
+ clearHighlight(): void;
57
+ /**
58
+ * Sets all materials to double sided.
59
+ */
60
+ setDoubleSidedMaterials(): void;
61
+ /**
62
+ * Reverts all materials to their original side.
63
+ */
64
+ revertDoubleSidedMaterials(): void;
65
+ clearSelection(): void;
66
+ /**
67
+ * Gets if selection is enabled.
68
+ */
69
+ get enableSelection(): boolean;
70
+ /**
71
+ * Sets if selection is enabled.
72
+ */
73
+ set enableSelection(enable: boolean);
74
+ flyToUserId(tilesetId: number, userId: number): void;
75
+ getBoxByUserId(tilesetId: number, userId: number): THREE.Box3 | undefined;
76
+ protected handleMouseMove(event: EventInfo): void;
77
+ private update3dTiles;
78
+ /**
79
+ * BimTiles does not support external incoming matrix.
80
+ * Don't support external incoming modelId.
81
+ */
82
+ loadModel(modelCfg: ModelConfig, onProgress?: ((event: ProgressEvent<EventTarget>) => void) | undefined): Promise<void>;
83
+ setObjectHighlightedByUserIds(modelId: number, userIds: number[], highlight: boolean): void;
84
+ setObjectOpacityByUserIds(modelId: number, userIds: number[], opacity: number): void;
85
+ setOtherObjectOpacityByUserIds(modelId: number, userIds: number[], opacity: number): void;
86
+ setObjectVisibleByUserIds(modelId: number, userIds: number[], visible: boolean): void;
87
+ setOtherObjectVisibleByUserIds(modelId: number, userIds: number[], visible: boolean): void;
88
+ setObjectHoveredByUserId(modelId: number, userId: number, hovered: boolean): void;
89
+ /**
90
+ * Gets the hovered object if any.
91
+ */
92
+ getHoveredObject(): TileObject | undefined;
93
+ clearHovered(): void;
94
+ /**
95
+ * Checks if there is any visible object.
96
+ */
97
+ hasVisibleObject(): boolean;
98
+ /**
99
+ * Checks if there is any invisible object.
100
+ */
101
+ hasInvisibleObject(): boolean;
102
+ setModelClipPlanes(modelId: number, planes: THREE.Plane[]): void;
103
+ setGlobalClipPlanes(planes: THREE.Plane[]): void;
104
+ showVertexNormals(show: boolean, size?: number): void;
105
+ getLights(): {
106
+ sun: THREE.DirectionalLight;
107
+ ambient: THREE.Object3D<THREE.Object3DEventMap> | undefined;
108
+ hemisphere: THREE.Object3D<THREE.Object3DEventMap> | undefined;
109
+ };
110
+ debugLights(enable: boolean): void;
111
+ /**
112
+ * Picks objects by mouse position.
113
+ * First get the object through the gpu, and then get the specific intersection point
114
+ */
115
+ pickObjects(mousePosition: THREE.Vector2, layerChannels?: number[]): THREE.Intersection<THREE.Object3D<THREE.Object3DEventMap>>[];
116
+ /**
117
+ * Gets the error target for screen space error (SSE) culling.
118
+ * Returns the errorTarget of the first loaded model's tiles renderer, default 8.
119
+ */
120
+ getErrorTarget(): number;
121
+ /**
122
+ * Sets the error target for all loaded models' tiles renderer.
123
+ * @param errorTarget The error target value for SSE culling.
124
+ */
125
+ setErrorTarget(errorTarget: number): void;
126
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @internal
3
+ */
4
+ export declare enum ViewerName {
5
+ BaseViewer = "BaseViewer",
6
+ Viewer3d = "Viewer3d",
7
+ Viewer2d = "Viewer2d",
8
+ BimTilesViewer = "BimTilesViewer"
9
+ }
@@ -0,0 +1,29 @@
1
+ import { Event } from '../utils';
2
+ /**
3
+ * Base plugin config.
4
+ */
5
+ export interface PluginConfig {
6
+ /**
7
+ * ID for this Plugin, unique within its viewer.
8
+ */
9
+ id: string;
10
+ }
11
+ /**
12
+ * Base plugin class.
13
+ */
14
+ export declare abstract class Plugin<PluginEvents extends Record<string, unknown> = {}> extends Event<PluginEvents> {
15
+ readonly id: string;
16
+ protected viewer: any;
17
+ /**
18
+ * Creates this Plugin and installs it into the given {@link Viewer}.
19
+ *
20
+ * @param {string} id ID for this plugin, unique among all plugins in the viewer.
21
+ * @param {Viewer} viewer The viewer.
22
+ * @param {Object} [cfg] Options
23
+ */
24
+ constructor(viewer: any, cfg: PluginConfig);
25
+ /**
26
+ * Destroys this Plugin and removes it from its viewer.
27
+ */
28
+ destroy(): void;
29
+ }