@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,250 @@
1
+ import * as THREE from "three";
2
+ /**
3
+ * Camera projection type.
4
+ */
5
+ export declare enum CameraProjection {
6
+ Perspective = "Perspective",
7
+ Orthographic = "Orthographic"
8
+ }
9
+ /**
10
+ * Camera config
11
+ * @internal
12
+ * @deprecated Use Viewpoint instead
13
+ */
14
+ export interface CameraConfig {
15
+ /**
16
+ * The camera location
17
+ */
18
+ eye: THREE.Vector3;
19
+ /**
20
+ * The location that the camera looks to
21
+ */
22
+ look: THREE.Vector3;
23
+ /**
24
+ * @internal
25
+ */
26
+ up?: THREE.Vector3;
27
+ /**
28
+ * The camera zoom
29
+ */
30
+ zoom?: number;
31
+ /**
32
+ * The camera's near clip plane
33
+ */
34
+ near?: number;
35
+ /**
36
+ * The camera's far clip plane
37
+ */
38
+ far?: number;
39
+ }
40
+ /**
41
+ * Model config
42
+ */
43
+ export interface ModelConfig {
44
+ /**
45
+ * Unique id of the model
46
+ */
47
+ modelId?: string;
48
+ /**
49
+ * Model name
50
+ */
51
+ name?: string;
52
+ /**
53
+ * Source url of the model
54
+ */
55
+ src: string;
56
+ /**
57
+ * Used to distinguish format, because it may be hard to know the format by src!
58
+ * @internal
59
+ */
60
+ fileFormat?: string;
61
+ /**
62
+ * File encoding, can be used by dxf. Common encoding include "UTF-8", "gb2312", etc.
63
+ * @internal
64
+ */
65
+ encoding?: string;
66
+ /**
67
+ * A float array of length 16, definds model's position, rotation and scale
68
+ */
69
+ matrix?: number[];
70
+ /**
71
+ * If we want to merge meshes/lines/points with the same material
72
+ * @internal
73
+ * @default false
74
+ */
75
+ merge?: boolean;
76
+ /**
77
+ * If we want to generate and show edges/outlines to the modle.
78
+ * It is useful for Viewer3d.
79
+ * @internal
80
+ */
81
+ edges?: boolean;
82
+ /**
83
+ * If this model is visible by default.
84
+ * @internal
85
+ */
86
+ visible?: boolean;
87
+ }
88
+ /**
89
+ * 2d model config
90
+ */
91
+ export interface Model2dConfig extends ModelConfig {
92
+ /**
93
+ * If to ignore anything of paper space.
94
+ * There are some scenarios to ignore paper space by default, includes:
95
+ * - Dxf overlay, aka, loading more than one dxf files into a viewer. We'll only load model space for the first file.
96
+ * - Dxf compare. Since we'll only compare model space, it won't load paper space at all.
97
+ *
98
+ * This option is useful when user want to explicitly ignore paper space.
99
+ * @default false
100
+ */
101
+ ignorePaperSpace?: boolean;
102
+ /**
103
+ * Applies this color to everything in this model.
104
+ * This allows user to show a drawing with a pure color (black, white, etc.).
105
+ * Color value is between 0 and 1, e.g., [1, 0, 0] means 'red'.
106
+ */
107
+ overrideColor?: number[];
108
+ }
109
+ /**
110
+ * Common viewer config
111
+ */
112
+ export interface BaseViewerConfig {
113
+ /**
114
+ * @description canvas id to contain the viewer.
115
+ */
116
+ containerId: string;
117
+ /**
118
+ * @internal
119
+ */
120
+ language?: "cn" | "en";
121
+ /**
122
+ * @internal
123
+ */
124
+ logLevel?: "debug" | "info" | "warn" | "error" | "silent";
125
+ /**
126
+ * @internal
127
+ */
128
+ enableSpinner?: boolean;
129
+ /**
130
+ * @internal
131
+ */
132
+ enableProgressBar?: boolean;
133
+ /**
134
+ * @description just for react native
135
+ * @internal
136
+ */
137
+ context?: WebGLRenderingContext | WebGL2RenderingContext;
138
+ /**
139
+ * @description just for react native
140
+ * @internal
141
+ */
142
+ context2d?: CanvasRenderingContext2D;
143
+ }
144
+ /**
145
+ * This wrappers most config for Viewer3d
146
+ */
147
+ export interface Viewer3dConfig extends BaseViewerConfig {
148
+ /**
149
+ * Default is `meters`
150
+ * @internal
151
+ */
152
+ units?: string;
153
+ /**
154
+ * Sets the default locale
155
+ * @internal
156
+ */
157
+ locale?: "cn" | "en";
158
+ }
159
+ /**
160
+ * This wrappers most config for Viewer2d
161
+ */
162
+ export interface Viewer2dConfig extends BaseViewerConfig {
163
+ /**
164
+ * Enables layout bar so we can switch to other layouts.
165
+ * The default layout bar is an example UI of the viewer, since plenty of APIs are exposed,
166
+ * you are recommended to create your own layout bar with customized style, location, etc.
167
+ */
168
+ enableLayoutBar?: boolean;
169
+ /**
170
+ * If to cache model into indexeddb (or maybe local storage in future).
171
+ * If enabled, it will get model data from cache the next time model is loaded.
172
+ * @internal
173
+ * @default false
174
+ */
175
+ enableLocalCache?: boolean;
176
+ }
177
+ /**
178
+ * Dxf compare config.
179
+ */
180
+ export interface DxfCompareConfig {
181
+ /**
182
+ * Enables to compare properties (color, linetype, line width, etc.)
183
+ */
184
+ enableDetailComparision: boolean;
185
+ }
186
+ /**
187
+ * A default Viewer3dConfig as a template, which enables most plugins.
188
+ * @internal
189
+ */
190
+ export declare const DefaultViewer3dConfig: Viewer3dConfig;
191
+ /**
192
+ * @internal
193
+ */
194
+ export interface IsolateObjectsParam {
195
+ id: string;
196
+ modelId: string;
197
+ }
198
+ /**
199
+ * @internal
200
+ */
201
+ export interface IsolateObjectsParams {
202
+ familyInstanceIds: IsolateObjectsParam[];
203
+ }
204
+ /**
205
+ * @internal
206
+ */
207
+ export interface ScreenshotConfig {
208
+ type: string;
209
+ quality: number;
210
+ includeOverlay: boolean;
211
+ }
212
+ /**
213
+ * Viewpoint definition.
214
+ */
215
+ export interface Viewpoint {
216
+ /**
217
+ * The camera location
218
+ */
219
+ eye: THREE.Vector3;
220
+ /**
221
+ * The location that the camera looks to
222
+ */
223
+ look: THREE.Vector3;
224
+ /**
225
+ * @internal
226
+ */
227
+ up?: THREE.Vector3;
228
+ /**
229
+ * The camera zoom, used by Orthographic camera.
230
+ */
231
+ zoom?: number;
232
+ }
233
+ /**
234
+ * Icon class.
235
+ * Used by toolbar and bottom bar icons, etc.
236
+ */
237
+ export interface IconClass {
238
+ /**
239
+ * The default icon.
240
+ */
241
+ default: string;
242
+ /**
243
+ * The icon when item is actived.
244
+ */
245
+ active?: string;
246
+ /**
247
+ * The icon font class name.
248
+ */
249
+ iconFont?: string;
250
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Default language.
3
+ * @internal
4
+ */
5
+ export declare const DefaultLanguage = "en";
6
+ /**
7
+ * To improve performance, we can set object.matrixAutoUpdate = false for static or rarely moving objects and
8
+ * manually call object.updateMatrix() whenever their position/rotation/quaternion/scale are updated.
9
+ * Add a constrant here, so developer can change it here easily for debugging.
10
+ * @internal
11
+ */
12
+ export declare const MatrixAutoUpdate = false;
13
+ /**
14
+ * These concept can be complex: hitable, snapable, selectable, visible
15
+ * Mesh Y Y Y Y
16
+ * text in Viewer2d Y N Y Y
17
+ * ground plan Y Y N Y
18
+ * outline N Y N Y
19
+ * OSnap auxiliary object N Y N N
20
+ *
21
+ * So, we must handle them properly. We'll try to put them into different layers.
22
+ *
23
+ * For each created object with geometry and material, the default layer is set to enableAll.
24
+ * If the object is only displayed, it is not necessary to call enableAll. For example, some auxiliary display objects.
25
+ * For objects that cannot be hitable, snapable, selectable, etc., call ObjectUtils.disableLayerChannels to exclude the corresponding channel.
26
+ * @example
27
+ * ``` typescript
28
+ * this.groundPlane.layers.enableAll();
29
+ * ObjectUtils.disableLayerChannels(this.groundPlane, [LayerForSelectableObjects]);
30
+ * ```
31
+ */
32
+ /**
33
+ * @internal
34
+ */
35
+ export declare const LayerForHitableObjects = 10;
36
+ /**
37
+ * @internal
38
+ */
39
+ export declare const LayerForSnapableObjects = 11;
40
+ /**
41
+ * @internal
42
+ */
43
+ export declare const LayerForSelectableObjects = 12;
44
+ /**
45
+ * Object highlight color.
46
+ */
47
+ export declare const HighlightColor = 583902;
48
+ /**
49
+ * Object highlight color in rgba format.
50
+ */
51
+ export declare const HighlightColorRgba: number[];
52
+ /**
53
+ * Object outline color.
54
+ */
55
+ export declare const OutlineColorRgba: number[];
56
+ /**
57
+ * Default object opacity value.
58
+ */
59
+ export declare const DefaultOpacity = 0.5;
60
+ /**
61
+ * Default camera settings.
62
+ */
63
+ export declare const DefaultCameraNear = 0.1;
64
+ export declare const DefaultCameraFar = 5000;
65
+ export declare const DefaultCameraFov = 45;
66
+ /**
67
+ * Iconfont class name for toolbar, bottombar, section, etc..
68
+ * @internal
69
+ */
70
+ export declare const IconfontClass = "x-viewer-iconfont";
71
+ export declare const IconfontClass2 = "x-viewer-iconfont2";
72
+ /**
73
+ * @internal
74
+ * Angle threshold at which two plane normals are parallel. Used to calculate edges.
75
+ */
76
+ export declare const ThresholdAngleForEdge = 10;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Units are defined the same order as to Dxf format
3
+ */
4
+ export declare enum Units {
5
+ Unitless = "Unitless",
6
+ Inches = "Inches",
7
+ Feet = "Feet",
8
+ Millimeters = "Millimeters",
9
+ Centimeters = "Centimeters",
10
+ Meters = "Meters"
11
+ }
12
+ /**
13
+ * Gets the unit scale when converting to meter.
14
+ */
15
+ export declare const UnitScaleToMeter: (src: Units) => 1 | 0.001 | 0.01 | 0.0254 | 0.3048;
16
+ export declare const UnitScaleConversion: (src: Units, dest: Units) => number;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Gets the sdk version ran on this device from local storage.
3
+ */
4
+ export declare const getVersionFromLocalStorage: () => string | null;
5
+ /**
6
+ * Sets the sdk version to local storage.
7
+ */
8
+ export declare const setVersionToLocalStorage: () => void;
9
+ /**
10
+ * Checks if current sdk version and last version are different.
11
+ * There can be storage data formant change if sdk version is updated,
12
+ * we may simply clean up local storage in this case.
13
+ */
14
+ export declare const checkIsNewVersion: () => boolean;
@@ -0,0 +1,81 @@
1
+ import { CameraConfig, CameraProjection, Viewpoint } from '../Configs';
2
+ import { default as CameraControls } from '../camera-controls';
3
+ import { FitToOptions } from '../camera-controls/types';
4
+ import { ControlsMode } from '../controls/Control';
5
+ import { InputManager } from '../input-manager/InputManager';
6
+ import { BaseViewer } from '../viewers/BaseViewer';
7
+ import * as THREE from "three";
8
+ export declare class CameraManager {
9
+ private viewer;
10
+ readonly perspectiveCamera: THREE.PerspectiveCamera;
11
+ readonly orthographicCamera: THREE.OrthographicCamera;
12
+ activeCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera;
13
+ readonly cameraControls: CameraControls;
14
+ private previousDistance;
15
+ private previousAzimuthRotateSpeed;
16
+ private previousPolarRotateSpeed;
17
+ private previousDollySpeed;
18
+ private previousTruckSpeed;
19
+ private previousMouseLeft;
20
+ protected enableKeyDown: boolean;
21
+ /**
22
+ * A map/list of different controls
23
+ */
24
+ private controlsMap;
25
+ private activeControls;
26
+ private projection;
27
+ /**
28
+ * For OrbitControls, a user would like to rotate around where mouse is clicked,
29
+ * rather than the screen center.
30
+ * We'll display an anchor at where mouse is clicked.
31
+ */
32
+ protected anchor: HTMLElement;
33
+ private onKeyDown;
34
+ private onChange;
35
+ constructor(viewer: BaseViewer);
36
+ get viewerContainer(): HTMLElement;
37
+ get inputManager(): InputManager;
38
+ private createAnchor;
39
+ protected setAnchorPosition(x: number, y: number): void;
40
+ setOrbitPointVisible(visible: boolean): void;
41
+ isOrbitPointVisible(): boolean;
42
+ private setOrthoCameraAspect;
43
+ private setupCameras;
44
+ private setCameraPositionAndTarget;
45
+ private setupControls;
46
+ private setOrthoCamera;
47
+ private getDims;
48
+ private setupOrthoCamera;
49
+ private setPerspectiveCamera;
50
+ update(delta: number): boolean;
51
+ updateAspect(): void;
52
+ get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
53
+ enableKeyControl(enable: boolean): void;
54
+ getTarget(): THREE.Vector3;
55
+ getPosition(): THREE.Vector3;
56
+ adjustCameraByBBox(bbox: THREE.Box3): void;
57
+ enableControl(active: boolean): void;
58
+ get enableRotate(): boolean;
59
+ set enableRotate(enable: boolean);
60
+ enableZoom(enable: boolean): void;
61
+ enablePan(enable: boolean): void;
62
+ enableMouseLeft(enable: boolean): void;
63
+ setCameraPosition(position: THREE.Vector3): void;
64
+ setCameraTarget(target: THREE.Vector3): void;
65
+ flyTo(position: THREE.Vector3, lookAt: THREE.Vector3, enableTransition?: boolean): void;
66
+ flyToPosition(x: number, y: number, z: number): void;
67
+ flyToBox(box: THREE.Box3, options?: Partial<FitToOptions>): void;
68
+ fitToSphere(box: THREE.Object3D | THREE.Sphere): void;
69
+ flyToObject(object: THREE.Object3D): void;
70
+ flyToViewpoint(viewpoint: Viewpoint): void;
71
+ getDistanceToFitSphere(radius: number): number;
72
+ setNavigationMode(mode: ControlsMode): void;
73
+ getProjection(): CameraProjection;
74
+ setProjection(proj: CameraProjection): void;
75
+ setOrbitPoint(point: THREE.Vector3): void;
76
+ getCameraDirection(): THREE.Vector3;
77
+ getCameraConfig(): CameraConfig;
78
+ getCurrentViewpoint(): Viewpoint;
79
+ setCameraConfig(cameraCfg: CameraConfig): void;
80
+ destroy(): void;
81
+ }
@@ -0,0 +1 @@
1
+ export * from './CameraManager';