dxfview 0.0.2

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 (258) hide show
  1. package/README.md +1 -0
  2. package/dist/dxfview.esm.min.js +7 -0
  3. package/dist/types/components/dxf-layout-bar/DxfLayoutBar.d.ts +26 -0
  4. package/dist/types/components/dxf-layout-bar/index.d.ts +1 -0
  5. package/dist/types/components/pop-panel/PopPanel.d.ts +14 -0
  6. package/dist/types/components/pop-panel/index.d.ts +1 -0
  7. package/dist/types/components/progress-bar/ProgressBar.d.ts +34 -0
  8. package/dist/types/components/progress-bar/index.d.ts +1 -0
  9. package/dist/types/components/settings/ProjectSettingsDef.d.ts +44 -0
  10. package/dist/types/components/settings/index.d.ts +1 -0
  11. package/dist/types/components/tool-tip/Tooltip.d.ts +20 -0
  12. package/dist/types/components/tool-tip/index.d.ts +1 -0
  13. package/dist/types/core/Configs.d.ts +238 -0
  14. package/dist/types/core/Constants.d.ts +164 -0
  15. package/dist/types/core/Units.d.ts +16 -0
  16. package/dist/types/core/VersionManager.d.ts +3 -0
  17. package/dist/types/core/camera-controls/CameraControls.d.ts +773 -0
  18. package/dist/types/core/camera-controls/Constants.d.ts +2 -0
  19. package/dist/types/core/camera-controls/EventDispatcher.d.ts +41 -0
  20. package/dist/types/core/camera-controls/index.d.ts +2 -0
  21. package/dist/types/core/camera-controls/types.d.ts +112 -0
  22. package/dist/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts +3 -0
  23. package/dist/types/core/camera-controls/utils/math-utils.d.ts +11 -0
  24. package/dist/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts +2 -0
  25. package/dist/types/core/canvas/CanvasRender.d.ts +52 -0
  26. package/dist/types/core/canvas/Constants.d.ts +28 -0
  27. package/dist/types/core/canvas/Drawable.d.ts +87 -0
  28. package/dist/types/core/canvas/DrawableList.d.ts +29 -0
  29. package/dist/types/core/canvas/index.d.ts +4 -0
  30. package/dist/types/core/compare/BaseDxfCompareHelper.d.ts +104 -0
  31. package/dist/types/core/compare/CompareDrawable.d.ts +17 -0
  32. package/dist/types/core/compare/DxfCompareHelper.d.ts +69 -0
  33. package/dist/types/core/compare/DxfCompareMarkupManager.d.ts +11 -0
  34. package/dist/types/core/compare/index.d.ts +4 -0
  35. package/dist/types/core/controls/CameraControlsEx.d.ts +34 -0
  36. package/dist/types/core/controls/index.d.ts +1 -0
  37. package/dist/types/core/dxf/DxfCompare.d.ts +151 -0
  38. package/dist/types/core/dxf/DxfConstants.d.ts +15 -0
  39. package/dist/types/core/dxf/DxfLoader.d.ts +526 -0
  40. package/dist/types/core/dxf/DxfObject.d.ts +32 -0
  41. package/dist/types/core/dxf/DxfUtils.d.ts +79 -0
  42. package/dist/types/core/dxf/HatchPatternShaders.d.ts +12 -0
  43. package/dist/types/core/dxf/LinePatternShaders.d.ts +12 -0
  44. package/dist/types/core/dxf/bspline.d.ts +8 -0
  45. package/dist/types/core/dxf/dxfom-mtext.d.ts +46 -0
  46. package/dist/types/core/dxf/dxfom-text.d.ts +16 -0
  47. package/dist/types/core/dxf/index.d.ts +10 -0
  48. package/dist/types/core/dxf/round10.d.ts +2 -0
  49. package/dist/types/core/dxf-parser/AutoCadColorIndex.d.ts +8 -0
  50. package/dist/types/core/dxf-parser/DxfBaseReader.d.ts +12 -0
  51. package/dist/types/core/dxf-parser/DxfBinaryReader.d.ts +14 -0
  52. package/dist/types/core/dxf-parser/DxfParser.d.ts +327 -0
  53. package/dist/types/core/dxf-parser/DxfTextReader.d.ts +31 -0
  54. package/dist/types/core/dxf-parser/ParseHelpers.d.ts +36 -0
  55. package/dist/types/core/dxf-parser/entities/3dface.d.ts +11 -0
  56. package/dist/types/core/dxf-parser/entities/arc.d.ts +16 -0
  57. package/dist/types/core/dxf-parser/entities/attdef.d.ts +31 -0
  58. package/dist/types/core/dxf-parser/entities/attrib.d.ts +31 -0
  59. package/dist/types/core/dxf-parser/entities/circle.d.ts +13 -0
  60. package/dist/types/core/dxf-parser/entities/dimension.d.ts +22 -0
  61. package/dist/types/core/dxf-parser/entities/ellipse.d.ts +15 -0
  62. package/dist/types/core/dxf-parser/entities/geomtry.d.ts +40 -0
  63. package/dist/types/core/dxf-parser/entities/hatch.d.ts +108 -0
  64. package/dist/types/core/dxf-parser/entities/image.d.ts +37 -0
  65. package/dist/types/core/dxf-parser/entities/insert.d.ts +20 -0
  66. package/dist/types/core/dxf-parser/entities/leader.d.ts +23 -0
  67. package/dist/types/core/dxf-parser/entities/line.d.ts +10 -0
  68. package/dist/types/core/dxf-parser/entities/lwpolyline.d.ts +21 -0
  69. package/dist/types/core/dxf-parser/entities/mleader.d.ts +101 -0
  70. package/dist/types/core/dxf-parser/entities/mtext.d.ts +18 -0
  71. package/dist/types/core/dxf-parser/entities/ole2frame.d.ts +20 -0
  72. package/dist/types/core/dxf-parser/entities/point.d.ts +11 -0
  73. package/dist/types/core/dxf-parser/entities/polyline.d.ts +20 -0
  74. package/dist/types/core/dxf-parser/entities/ray.d.ts +10 -0
  75. package/dist/types/core/dxf-parser/entities/region.d.ts +10 -0
  76. package/dist/types/core/dxf-parser/entities/seqend.d.ts +8 -0
  77. package/dist/types/core/dxf-parser/entities/solid.d.ts +10 -0
  78. package/dist/types/core/dxf-parser/entities/spline.d.ts +23 -0
  79. package/dist/types/core/dxf-parser/entities/table.d.ts +42 -0
  80. package/dist/types/core/dxf-parser/entities/text.d.ts +18 -0
  81. package/dist/types/core/dxf-parser/entities/vertex.d.ts +20 -0
  82. package/dist/types/core/dxf-parser/entities/viewport.d.ts +46 -0
  83. package/dist/types/core/dxf-parser/entities/xline.d.ts +10 -0
  84. package/dist/types/core/dxf-parser/index.d.ts +27 -0
  85. package/dist/types/core/dxf-parser/objects/common.d.ts +15 -0
  86. package/dist/types/core/dxf-parser/objects/dictionary.d.ts +19 -0
  87. package/dist/types/core/dxf-parser/objects/imagedef.d.ts +24 -0
  88. package/dist/types/core/dxf-parser/objects/layout.d.ts +29 -0
  89. package/dist/types/core/dxf-parser/objects/sortentstable.d.ts +12 -0
  90. package/dist/types/core/dxf-parser/objects/spatialfilter.d.ts +22 -0
  91. package/dist/types/core/dxf-parser/objects/xrecord.d.ts +11 -0
  92. package/dist/types/core/font/BaseFont.d.ts +88 -0
  93. package/dist/types/core/font/FontManager.d.ts +107 -0
  94. package/dist/types/core/font/MeshFont.d.ts +44 -0
  95. package/dist/types/core/font/ShxFont.d.ts +108 -0
  96. package/dist/types/core/font/index.d.ts +1 -0
  97. package/dist/types/core/font/shx/ExtraLettersTemplate.d.ts +1 -0
  98. package/dist/types/core/font/shx/Shx.constants.d.ts +11 -0
  99. package/dist/types/core/font/shx/ShxParser.d.ts +18 -0
  100. package/dist/types/core/font/shx/TextShape.d.ts +24 -0
  101. package/dist/types/core/font/shx/gbk/index.d.ts +4 -0
  102. package/dist/types/core/font/shx/index.d.ts +1 -0
  103. package/dist/types/core/font/shx/util/BitConverter.d.ts +18 -0
  104. package/dist/types/core/geometry-offset/Edge.d.ts +27 -0
  105. package/dist/types/core/geometry-offset/Offset.d.ts +46 -0
  106. package/dist/types/core/geometry-offset/index.d.ts +1 -0
  107. package/dist/types/core/helpers/BinaryReader.d.ts +24 -0
  108. package/dist/types/core/helpers/BoxSelectHelper.d.ts +44 -0
  109. package/dist/types/core/helpers/LoadingHelper.d.ts +46 -0
  110. package/dist/types/core/helpers/MobileTouchHelperDrawable.d.ts +26 -0
  111. package/dist/types/core/helpers/OSnapHelper.d.ts +167 -0
  112. package/dist/types/core/helpers/ObjectPixelSizeHelper.d.ts +13 -0
  113. package/dist/types/core/helpers/PickMarkupHelper.d.ts +29 -0
  114. package/dist/types/core/helpers/RafHelper.d.ts +18 -0
  115. package/dist/types/core/helpers/ZoomToRectHelper.d.ts +17 -0
  116. package/dist/types/core/helpers/index.d.ts +9 -0
  117. package/dist/types/core/index.d.ts +18 -0
  118. package/dist/types/core/indexeddb/AnnotationTable.d.ts +14 -0
  119. package/dist/types/core/indexeddb/BaseTable.d.ts +36 -0
  120. package/dist/types/core/indexeddb/DxfDataTable.d.ts +22 -0
  121. package/dist/types/core/indexeddb/FontDataTable.d.ts +32 -0
  122. package/dist/types/core/indexeddb/IndexedDbManager.d.ts +29 -0
  123. package/dist/types/core/indexeddb/ViewpointTable.d.ts +14 -0
  124. package/dist/types/core/indexeddb/index.d.ts +6 -0
  125. package/dist/types/core/input/InputManager.d.ts +161 -0
  126. package/dist/types/core/input/index.d.ts +1 -0
  127. package/dist/types/core/license/AutoConfig.d.ts +17 -0
  128. package/dist/types/core/license/LicenseManager.d.ts +107 -0
  129. package/dist/types/core/license/PublicKey.d.ts +1 -0
  130. package/dist/types/core/license/index.d.ts +1 -0
  131. package/dist/types/core/markup/ArrowMarkup.d.ts +14 -0
  132. package/dist/types/core/markup/BaseMarkup.d.ts +28 -0
  133. package/dist/types/core/markup/CircleMarkup.d.ts +12 -0
  134. package/dist/types/core/markup/CloudLineMarkup.d.ts +10 -0
  135. package/dist/types/core/markup/CloudRectMarkup.d.ts +11 -0
  136. package/dist/types/core/markup/CloudRectWithTextMarkup.d.ts +43 -0
  137. package/dist/types/core/markup/Constants.d.ts +17 -0
  138. package/dist/types/core/markup/DotMarkup.d.ts +9 -0
  139. package/dist/types/core/markup/EllipseMarkup.d.ts +12 -0
  140. package/dist/types/core/markup/LeaderLineMarkup.d.ts +25 -0
  141. package/dist/types/core/markup/MarkupManager.d.ts +91 -0
  142. package/dist/types/core/markup/PolylineMarkup.d.ts +11 -0
  143. package/dist/types/core/markup/RectMarkup.d.ts +10 -0
  144. package/dist/types/core/markup/TextMarkup.d.ts +40 -0
  145. package/dist/types/core/markup/XMarkup.d.ts +10 -0
  146. package/dist/types/core/markup/index.d.ts +13 -0
  147. package/dist/types/core/model/Constants.d.ts +51 -0
  148. package/dist/types/core/model/Model.d.ts +18 -0
  149. package/dist/types/core/model/Model2d.d.ts +115 -0
  150. package/dist/types/core/model/index.d.ts +3 -0
  151. package/dist/types/core/patches/Constants.d.ts +4 -0
  152. package/dist/types/core/patches/Line.d.ts +2 -0
  153. package/dist/types/core/patches/Mesh.d.ts +2 -0
  154. package/dist/types/core/patches/Points.d.ts +2 -0
  155. package/dist/types/core/patches/index.d.ts +4 -0
  156. package/dist/types/core/undo-redo/AddAnnotationCommand.d.ts +11 -0
  157. package/dist/types/core/undo-redo/AddMarkupCommand.d.ts +10 -0
  158. package/dist/types/core/undo-redo/AddMeasurementCommand.d.ts +9 -0
  159. package/dist/types/core/undo-redo/Command.d.ts +6 -0
  160. package/dist/types/core/undo-redo/RemoveAnnotationCommand.d.ts +11 -0
  161. package/dist/types/core/undo-redo/RemoveMarkupCommand.d.ts +10 -0
  162. package/dist/types/core/undo-redo/RemoveMeasurementCommand.d.ts +9 -0
  163. package/dist/types/core/undo-redo/UndoRedoManager.d.ts +21 -0
  164. package/dist/types/core/undo-redo/UpdateMarkupCommand.d.ts +11 -0
  165. package/dist/types/core/undo-redo/index.d.ts +9 -0
  166. package/dist/types/core/utils/CSS2DObjectUtils.d.ts +14 -0
  167. package/dist/types/core/utils/ColorUtils.d.ts +21 -0
  168. package/dist/types/core/utils/CommonUtils.d.ts +125 -0
  169. package/dist/types/core/utils/CoordinateUtils.d.ts +81 -0
  170. package/dist/types/core/utils/DecimalPrecisionUtils.d.ts +4 -0
  171. package/dist/types/core/utils/DeviceUtils.d.ts +15 -0
  172. package/dist/types/core/utils/EdgeUtils.d.ts +14 -0
  173. package/dist/types/core/utils/Event.d.ts +33 -0
  174. package/dist/types/core/utils/FpsUtils.d.ts +13 -0
  175. package/dist/types/core/utils/GeometryUtils.d.ts +111 -0
  176. package/dist/types/core/utils/Locale.d.ts +190 -0
  177. package/dist/types/core/utils/LogUtils.d.ts +7 -0
  178. package/dist/types/core/utils/MaterialUtils.d.ts +40 -0
  179. package/dist/types/core/utils/MathUtils.d.ts +59 -0
  180. package/dist/types/core/utils/MergeUtils.d.ts +638 -0
  181. package/dist/types/core/utils/ObjectUtils.d.ts +87 -0
  182. package/dist/types/core/utils/PolygonUtils.d.ts +8 -0
  183. package/dist/types/core/utils/SVGObjectUtils.d.ts +16 -0
  184. package/dist/types/core/utils/SceneUtils.d.ts +26 -0
  185. package/dist/types/core/utils/SectionUtils.d.ts +11 -0
  186. package/dist/types/core/utils/UnitConversionUtils.d.ts +31 -0
  187. package/dist/types/core/utils/index.d.ts +21 -0
  188. package/dist/types/core/viewers/BaseViewer.d.ts +265 -0
  189. package/dist/types/core/viewers/DxfViewer.d.ts +1372 -0
  190. package/dist/types/core/viewers/Plugin.d.ts +29 -0
  191. package/dist/types/core/viewers/ViewerEvent.d.ts +178 -0
  192. package/dist/types/core/viewers/index.d.ts +4 -0
  193. package/dist/types/export.doc.d.ts +10 -0
  194. package/dist/types/fetch-polyfill.d.ts +2 -0
  195. package/dist/types/index.d.ts +8 -0
  196. package/dist/types/plugins/annotation/AnnotationPlugin.d.ts +139 -0
  197. package/dist/types/plugins/annotation/AutoDrawAnnotation.d.ts +63 -0
  198. package/dist/types/plugins/annotation/BaseAnnotation.d.ts +113 -0
  199. package/dist/types/plugins/annotation/BaseAnnotationDrawable.d.ts +139 -0
  200. package/dist/types/plugins/annotation/CopyAnnotation.d.ts +36 -0
  201. package/dist/types/plugins/annotation/CopyDrawable.d.ts +26 -0
  202. package/dist/types/plugins/annotation/FreeDrawAnnotation.d.ts +59 -0
  203. package/dist/types/plugins/annotation/RectAnnotation.d.ts +53 -0
  204. package/dist/types/plugins/annotation/RectDrawable.d.ts +42 -0
  205. package/dist/types/plugins/annotation/ShapeFinder.d.ts +51 -0
  206. package/dist/types/plugins/annotation/freeDrawDrawable.d.ts +21 -0
  207. package/dist/types/plugins/annotation/index.d.ts +8 -0
  208. package/dist/types/plugins/annotation/type.d.ts +182 -0
  209. package/dist/types/plugins/axis-gizmo/AxisGizmoPlugin.d.ts +49 -0
  210. package/dist/types/plugins/axis-gizmo/CoordinateAxes.d.ts +12 -0
  211. package/dist/types/plugins/axis-gizmo/index.d.ts +1 -0
  212. package/dist/types/plugins/bottom-bar/BottomBarPlugin.d.ts +44 -0
  213. package/dist/types/plugins/bottom-bar/index.d.ts +1 -0
  214. package/dist/types/plugins/divide/CoverLayerManager.d.ts +44 -0
  215. package/dist/types/plugins/divide/DivGeometryUtils.d.ts +66 -0
  216. package/dist/types/plugins/divide/DividePlugin.d.ts +181 -0
  217. package/dist/types/plugins/divide/FrameAnnotation.d.ts +142 -0
  218. package/dist/types/plugins/divide/FrameDrawable.d.ts +75 -0
  219. package/dist/types/plugins/divide/index.d.ts +6 -0
  220. package/dist/types/plugins/divide/types.d.ts +38 -0
  221. package/dist/types/plugins/hotpoint/HotpointPlugin.d.ts +93 -0
  222. package/dist/types/plugins/hotpoint/index.d.ts +1 -0
  223. package/dist/types/plugins/index.d.ts +12 -0
  224. package/dist/types/plugins/layer-manager/LayerManagerPlugin.d.ts +59 -0
  225. package/dist/types/plugins/layer-manager/index.d.ts +1 -0
  226. package/dist/types/plugins/local-model-uploader/IUploader.d.ts +10 -0
  227. package/dist/types/plugins/local-model-uploader/LocalDxfUploader.d.ts +19 -0
  228. package/dist/types/plugins/local-model-uploader/index.d.ts +1 -0
  229. package/dist/types/plugins/measure/AngleMeasureDrawable.d.ts +12 -0
  230. package/dist/types/plugins/measure/AngleMeasurement.d.ts +16 -0
  231. package/dist/types/plugins/measure/AreaMeasureDrawable.d.ts +14 -0
  232. package/dist/types/plugins/measure/AreaMeasurement.d.ts +31 -0
  233. package/dist/types/plugins/measure/BaseMeasureDrawable.d.ts +35 -0
  234. package/dist/types/plugins/measure/BaseMeasurement.d.ts +127 -0
  235. package/dist/types/plugins/measure/CoordinateMeasureDrawable.d.ts +10 -0
  236. package/dist/types/plugins/measure/CoordinateMeasurement.d.ts +15 -0
  237. package/dist/types/plugins/measure/DistanceMeasureDrawable.d.ts +15 -0
  238. package/dist/types/plugins/measure/DistanceMeasurement.d.ts +28 -0
  239. package/dist/types/plugins/measure/MeasurementPlugin.d.ts +131 -0
  240. package/dist/types/plugins/measure/index.d.ts +3 -0
  241. package/dist/types/plugins/overview-map/ImageDrawable.d.ts +41 -0
  242. package/dist/types/plugins/overview-map/LineDrawable.d.ts +20 -0
  243. package/dist/types/plugins/overview-map/OverviewMapDrawable.d.ts +24 -0
  244. package/dist/types/plugins/overview-map/OverviewMapPlugin.d.ts +156 -0
  245. package/dist/types/plugins/overview-map/TextDrawable.d.ts +50 -0
  246. package/dist/types/plugins/overview-map/index.d.ts +5 -0
  247. package/dist/types/plugins/screenshot/ScreenshotPlugin.d.ts +88 -0
  248. package/dist/types/plugins/screenshot/index.d.ts +1 -0
  249. package/dist/types/plugins/stats/StatsPlugin.d.ts +20 -0
  250. package/dist/types/plugins/stats/index.d.ts +1 -0
  251. package/dist/types/plugins/toolbars/DxfViewerToolbarPlugin.d.ts +67 -0
  252. package/dist/types/plugins/toolbars/MarkupToolbar.d.ts +33 -0
  253. package/dist/types/plugins/toolbars/Toolbar.config.d.ts +5 -0
  254. package/dist/types/plugins/toolbars/Toolbar.constants.d.ts +96 -0
  255. package/dist/types/plugins/toolbars/Toolbar.d.ts +102 -0
  256. package/dist/types/plugins/toolbars/index.d.ts +5 -0
  257. package/dist/types/version.d.ts +2 -0
  258. package/package.json +90 -0
@@ -0,0 +1,19 @@
1
+ import { IUploader } from "./IUploader";
2
+ import type { DxfViewer, ModelConfig } from "../../core";
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare class LocalDxfUploader extends IUploader {
7
+ private viewer;
8
+ private pdfWorker;
9
+ onSuccess?: (event: any) => void;
10
+ readonly defaultModelConfig: ModelConfig;
11
+ constructor(viewer: DxfViewer, elementId?: string);
12
+ setPdfWorker(pdfWorker: string): void;
13
+ protected formats(): string[];
14
+ protected uploadFiles(files: FileList): void;
15
+ /**
16
+ * Upload single dxf file.
17
+ */
18
+ private uploadSingleDxf;
19
+ }
@@ -0,0 +1 @@
1
+ export * from "./LocalDxfUploader";
@@ -0,0 +1,12 @@
1
+ import * as THREE from "three";
2
+ import { BaseMeasureDrawable } from "./BaseMeasureDrawable";
3
+ import { MeasurementType } from "./BaseMeasurement";
4
+ export declare class AngleMeasureDrawable extends BaseMeasureDrawable {
5
+ type: MeasurementType;
6
+ constructor(id: string, points: THREE.Vector3[]);
7
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
8
+ drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
9
+ getAngleBisector(startPoint: THREE.Vector3, middlePoint: THREE.Vector3, endPoint: THREE.Vector3): THREE.Vector3;
10
+ calculateAngle(startPoint: THREE.Vector3, middlePoint: THREE.Vector3, endPoint: THREE.Vector3): number;
11
+ getClassType(): string;
12
+ }
@@ -0,0 +1,16 @@
1
+ import { AngleMeasureDrawable } from "./AngleMeasureDrawable";
2
+ import { BaseMeasurement } from "./BaseMeasurement";
3
+ import { DrawableList } from "../../core/canvas";
4
+ import type { OSnapHelper } from "../../core/helpers";
5
+ import { EventInfo, InputManager } from "../../core/input/InputManager";
6
+ import type { BaseViewer } from "../../core/viewers";
7
+ export declare class AngleMeasurement extends BaseMeasurement {
8
+ constructor(viewer: BaseViewer, input: InputManager, drawList: DrawableList, osnapHelper: OSnapHelper);
9
+ protected createMeasureDrawable(): AngleMeasureDrawable | undefined;
10
+ protected onMouseClick(e: EventInfo): void;
11
+ exitDrawing(): void;
12
+ protected complete(): void;
13
+ cancel(): void;
14
+ deactivate(): void;
15
+ protected setTooltipContent(): void;
16
+ }
@@ -0,0 +1,14 @@
1
+ import * as THREE from "three";
2
+ import { BaseMeasureDrawable } from "./BaseMeasureDrawable";
3
+ import { MeasurementType } from "./BaseMeasurement";
4
+ export declare class AreaMeasureDrawable extends BaseMeasureDrawable {
5
+ type: MeasurementType;
6
+ scale?: number;
7
+ constructor(id: string, points: THREE.Vector3[], scale?: number);
8
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
9
+ drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
10
+ calculateArea(points: THREE.Vector3[]): number;
11
+ getBarycenter(points: THREE.Vector3[]): THREE.Vector3;
12
+ isPointInPath(p: THREE.Vector3, raycaster?: THREE.Raycaster): boolean;
13
+ getClassType(): string;
14
+ }
@@ -0,0 +1,31 @@
1
+ import * as THREE from "three";
2
+ import { AreaMeasureDrawable } from "./AreaMeasureDrawable";
3
+ import { BaseMeasurement } from "./BaseMeasurement";
4
+ import { DrawableList } from "../../core/canvas";
5
+ import { OSnapHelper } from "../../core/helpers";
6
+ import { EventInfo, InputManager } from "../../core/input/InputManager";
7
+ import type { BaseViewer } from "../../core/viewers";
8
+ export declare class AreaMeasurement extends BaseMeasurement {
9
+ /**
10
+ * The ratio of real world value and the value in three.js(pdf, a map, etc.).
11
+ */
12
+ private scale?;
13
+ constructor(viewer: BaseViewer, input: InputManager, drawList: DrawableList, osnapHelper: OSnapHelper);
14
+ activate(): void;
15
+ deactivate(): void;
16
+ protected createMeasureDrawable(): AreaMeasureDrawable | undefined;
17
+ protected onMouseMove(position: THREE.Vector3): void;
18
+ protected onMouseClick(e: EventInfo): void;
19
+ exitDrawing(): void;
20
+ protected complete(): void;
21
+ cancel(): void;
22
+ protected setTooltipContent(): void;
23
+ /**
24
+ * Gets the scale value.
25
+ */
26
+ getScale(): number | undefined;
27
+ /**
28
+ * Sets the scale value.
29
+ */
30
+ setScale(scale: number): void;
31
+ }
@@ -0,0 +1,35 @@
1
+ import * as THREE from "three";
2
+ import { MeasurementType } from "./BaseMeasurement";
3
+ import type { MeasurementData } from "./BaseMeasurement";
4
+ import { Drawable } from "../../core/canvas/Drawable";
5
+ /**
6
+ * 测量 Drawable 抽象基类:
7
+ * - 提供测量结果的绘制(点、标签)、序列化和拾取检测逻辑
8
+ * - 具体测量类型(距离/面积/角度)在子类中实现各自的渲染与数据处理
9
+ */
10
+ export declare abstract class BaseMeasureDrawable extends Drawable {
11
+ type: MeasurementType;
12
+ static readonly MAJOR_COLOR = "rgba(249, 157, 11, 0.9)";
13
+ static readonly MINOR_COLOR = "rgb(255, 255, 255)";
14
+ static readonly AREA_FILL_COLOR = "rgba(249, 157, 11, 0.3)";
15
+ static readonly LINE_WIDTH = 2;
16
+ static readonly POINT_RADIUS = 5;
17
+ static readonly LABEL_FONT_SIZE = 14;
18
+ label?: string;
19
+ labelPositon?: THREE.Vector2;
20
+ labelBounds: THREE.Box2;
21
+ drawing: boolean;
22
+ constructor(id: string, points: THREE.Vector3[]);
23
+ setDrawingState(isDrawing: boolean): void;
24
+ drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
25
+ drawPoints(ctx: CanvasRenderingContext2D, camera: THREE.Camera, points: THREE.Vector3[]): void;
26
+ drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
27
+ drawRoundRect(ctx: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, radius: number): void;
28
+ getVertexes(): THREE.Vector3[];
29
+ update(points: THREE.Vector3[]): this;
30
+ getBounds(): THREE.Box3;
31
+ getData(): MeasurementData;
32
+ setData(data: MeasurementData): void;
33
+ isPointInPath(p: THREE.Vector3, raycaster?: THREE.Raycaster): boolean;
34
+ getUnitString(): string;
35
+ }
@@ -0,0 +1,127 @@
1
+ import * as THREE from "three";
2
+ import type { BaseMeasureDrawable } from "./BaseMeasureDrawable";
3
+ import { Tooltip } from "../../components/tool-tip";
4
+ import { DrawableData } from "../../core/canvas/Constants";
5
+ import { DrawableList } from "../../core/canvas/DrawableList";
6
+ import type { MobileTouchHelperDrawable, OSnapHelper } from "../../core/helpers";
7
+ import { EventInfo, InputManager } from "../../core/input/InputManager";
8
+ import { Event } from "../../core/utils";
9
+ import type { BaseViewer } from "../../core/viewers";
10
+ /**
11
+ * 测量类型。例如:距离测量、面积测量、角度测量等。
12
+ * 该枚举用于区分不同的测量工具实现。
13
+ */
14
+ export declare enum MeasurementType {
15
+ Distance = "Distance",
16
+ Area = "Area",
17
+ Angle = "Angle",
18
+ /**
19
+ * @internal
20
+ */
21
+ Coordinate = "Coordinate"
22
+ }
23
+ /**
24
+ * 可序列化的测量数据类型(用于保存/恢复测量结果)。
25
+ */
26
+ export declare type MeasurementData = DrawableData;
27
+ declare type MeasurementEvents = {
28
+ /** 点击测量项时触发(选中测量结果) */
29
+ ClickedOnMeasurement: BaseMeasureDrawable;
30
+ /** 绘制测量完成时触发 */
31
+ Completed: BaseMeasureDrawable;
32
+ /** 停用测量工具时触发,参数为测量类型 */
33
+ Deactivate: MeasurementType;
34
+ /** 绘制时第一个点被拾取时触发 */
35
+ FirstPointPicked: BaseMeasureDrawable;
36
+ /** 测量即将被添加到列表时触发(用于 UI 更新) */
37
+ WillBeAdded: BaseMeasureDrawable;
38
+ /** 测量被更新时触发(例如拖动或添加点) */
39
+ Updated: BaseMeasureDrawable;
40
+ /** 测量即将被移除时触发 */
41
+ WillBeRemoved: BaseMeasureDrawable;
42
+ };
43
+ /**
44
+ * 基础测量类。
45
+ * 所有具体测量工具(如距离、面积、角度)均继承自此类。
46
+ * 负责事件绑定、拾取、鼠标/触摸交互的通用逻辑,以及与 OSnap 的交互。
47
+ */
48
+ export declare abstract class BaseMeasurement extends Event<MeasurementEvents> {
49
+ protected type: MeasurementType;
50
+ protected viewer: BaseViewer;
51
+ private inputManager;
52
+ protected drawList: DrawableList;
53
+ protected osnapHelper: OSnapHelper;
54
+ protected raycaster?: THREE.Raycaster;
55
+ protected mouseMoved: boolean;
56
+ protected mouseDowned: boolean;
57
+ protected touchDowned: boolean;
58
+ protected lastMoveEvent?: EventInfo;
59
+ protected lastMouseDownPosition?: THREE.Vector3;
60
+ protected mouseDownPositionX: number;
61
+ protected mouseDownPositionY: number;
62
+ protected currentMeasureDrawable?: BaseMeasureDrawable;
63
+ protected drawingPoints?: THREE.Vector3[];
64
+ protected lastClickTime?: number;
65
+ protected tooltip?: Tooltip;
66
+ protected snapPoint?: THREE.Vector3 | undefined;
67
+ protected completed?: boolean;
68
+ protected clickedOnMeasurementDrawable?: BaseMeasureDrawable;
69
+ protected mobileTouchHelper?: MobileTouchHelperDrawable;
70
+ protected exitButton?: HTMLButtonElement;
71
+ protected firstPickedListener?: () => void;
72
+ protected completedListener?: () => void;
73
+ constructor(type: MeasurementType, viewer: BaseViewer, input: InputManager, drawList: DrawableList, osnapHelper: OSnapHelper);
74
+ get canvas(): HTMLCanvasElement;
75
+ get camera(): THREE.Camera;
76
+ get renderer(): THREE.WebGLRenderer;
77
+ /**
78
+ * If measurement is active.
79
+ * Here let's use raycaster to identify whether this measurement is active.
80
+ */
81
+ get isActive(): boolean;
82
+ /**
83
+ * If it started to measure, but a measruement action is not completed yet.
84
+ */
85
+ get isMeasuring(): boolean;
86
+ setTouchHelper(mobileTouchHelper: MobileTouchHelperDrawable): void;
87
+ /**
88
+ * 在移动端创建一个退出绘制的按钮(浮层按钮)。
89
+ * 当用户触摸退出按钮时会结束当前绘制并隐藏按钮。
90
+ */
91
+ protected createMobileExitButton(): HTMLButtonElement;
92
+ /**
93
+ * 激活测量工具:绑定相应的鼠标/触摸/键盘事件,并创建射线检测器(raycaster)。
94
+ * 注意:CameraControlsEx 会阻止原生的 mouseup/mousedown/mousemove,因此使用 pointer 事件代替。
95
+ */
96
+ activate(): void;
97
+ /**
98
+ * 停用测量工具:移除事件绑定、销毁提示、清理当前绘制状态并取消 OSnap。
99
+ */
100
+ deactivate(): void;
101
+ protected removeDrawable(drawable: BaseMeasureDrawable): void;
102
+ clearClickedDrawable(): void;
103
+ touchstart: (e: EventInfo) => void;
104
+ touchmove: (e: EventInfo) => void;
105
+ touchend: (e: EventInfo) => void;
106
+ mousedown: (e: EventInfo) => void;
107
+ mousemove: (e: EventInfo) => void;
108
+ mouseup: (e: EventInfo) => void;
109
+ dblclick: () => void;
110
+ protected onMouseClick(e: EventInfo): void;
111
+ protected selectMeasurementByEvent(e: EventInfo): void;
112
+ keydown: (e: EventInfo) => void;
113
+ abstract exitDrawing(): void;
114
+ abstract cancel(): void;
115
+ protected abstract complete(): void;
116
+ protected abstract setTooltipContent(): void;
117
+ protected abstract createMeasureDrawable(): BaseMeasureDrawable | undefined;
118
+ protected onMouseMove(position: THREE.Vector3): void;
119
+ protected createOrUpdateMeasureDrawable(position?: THREE.Vector3): void;
120
+ /**
121
+ * 获取射线与场景的交点列表(已按距离排序且过滤被裁剪的点)。
122
+ * 返回值用于后续的 OSnap 处理。
123
+ * @param e 事件信息(包含屏幕坐标)
124
+ */
125
+ getIntersections: (e: EventInfo) => THREE.Intersection[];
126
+ }
127
+ export {};
@@ -0,0 +1,10 @@
1
+ import * as THREE from "three";
2
+ import { BaseMeasureDrawable } from "./BaseMeasureDrawable";
3
+ import { MeasurementType } from "./BaseMeasurement";
4
+ export declare class CoordinateMeasureDrawable extends BaseMeasureDrawable {
5
+ type: MeasurementType;
6
+ constructor(id: string, points: THREE.Vector3[]);
7
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
8
+ drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
9
+ getClassType(): string;
10
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseMeasurement } from "./BaseMeasurement";
2
+ import { CoordinateMeasureDrawable } from "./CoordinateMeasureDrawable";
3
+ import { DrawableList } from "../../core/canvas";
4
+ import { OSnapHelper } from "../../core/helpers";
5
+ import { EventInfo, InputManager } from "../../core/input/InputManager";
6
+ import type { BaseViewer } from "../../core/viewers";
7
+ export declare class CoordinateMeasurement extends BaseMeasurement {
8
+ constructor(viewer: BaseViewer, input: InputManager, drawList: DrawableList, osnapHelper: OSnapHelper);
9
+ protected createMeasureDrawable(): CoordinateMeasureDrawable | undefined;
10
+ protected onMouseClick(e: EventInfo): void;
11
+ exitDrawing(): void;
12
+ protected complete(): void;
13
+ cancel(): void;
14
+ protected setTooltipContent(): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import * as THREE from "three";
2
+ import { BaseMeasureDrawable } from "./BaseMeasureDrawable";
3
+ import { MeasurementType } from "./BaseMeasurement";
4
+ export declare class DistanceMeasureDrawable extends BaseMeasureDrawable {
5
+ static readonly SHORT_LINE_LENGTH = 12;
6
+ scale?: number;
7
+ type: MeasurementType;
8
+ constructor(id: string, points: THREE.Vector3[], scale?: number);
9
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
10
+ drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
11
+ private drawVerticalLine;
12
+ private getShortLineBySegments;
13
+ getClassType(): string;
14
+ setScale(scale: number): void;
15
+ }
@@ -0,0 +1,28 @@
1
+ import { BaseMeasurement } from "./BaseMeasurement";
2
+ import { DistanceMeasureDrawable } from "./DistanceMeasureDrawable";
3
+ import { DrawableList } from "../../core/canvas";
4
+ import { OSnapHelper } from "../../core/helpers";
5
+ import { EventInfo, InputManager } from "../../core/input/InputManager";
6
+ import type { BaseViewer } from "../../core/viewers";
7
+ export declare class DistanceMeasurement extends BaseMeasurement {
8
+ /**
9
+ * The ratio of real world value and the value in three.js(pdf, a map, etc.).
10
+ */
11
+ private scale?;
12
+ constructor(viewer: BaseViewer, input: InputManager, drawList: DrawableList, osnapHelper: OSnapHelper);
13
+ protected createMeasureDrawable(): DistanceMeasureDrawable | undefined;
14
+ protected onMouseClick(e: EventInfo): void;
15
+ exitDrawing(): void;
16
+ protected complete(): void;
17
+ cancel(): void;
18
+ deactivate(): void;
19
+ protected setTooltipContent(): void;
20
+ /**
21
+ * Gets the scale value.
22
+ */
23
+ getScale(): number | undefined;
24
+ /**
25
+ * Sets the scale value.
26
+ */
27
+ setScale(scale: number): void;
28
+ }
@@ -0,0 +1,131 @@
1
+ import { BaseMeasureDrawable } from "./BaseMeasureDrawable";
2
+ import { MeasurementData, MeasurementType } from "./BaseMeasurement";
3
+ import type { BaseViewer } from "../../core/viewers";
4
+ import { Plugin } from "../../core/viewers/Plugin";
5
+ export declare class MeasurementPlugin extends Plugin {
6
+ static DEFAULT_ID: string;
7
+ selectedDrawable: BaseMeasureDrawable | undefined;
8
+ private overlayRender?;
9
+ private drawableList;
10
+ private drawableHelperList;
11
+ private inputManager;
12
+ private osnapHelper;
13
+ private snapToleranceInPixel;
14
+ private measurements;
15
+ private activeMeasurementType;
16
+ private mobileTouchHelper?;
17
+ constructor(viewer: BaseViewer);
18
+ private initEvents;
19
+ protected get canvas(): HTMLCanvasElement;
20
+ protected get raycaster(): any;
21
+ add(drawable: BaseMeasureDrawable, needFireEvent?: boolean): void;
22
+ create(data: MeasurementData): BaseMeasureDrawable;
23
+ remove(drawable: BaseMeasureDrawable, needFireEvent?: boolean): void;
24
+ /**
25
+ * Set osnap tolerance in pixcel size. The pixcel size will be converted to a size in world coordinate and pass to OSnapHelper.
26
+ */
27
+ setSnapTolerance(toleranceInPixel: number): void;
28
+ /**
29
+ * Updates osnap tolerance.
30
+ * We should call this once camera's zoom, fov or position/target changed, etc.
31
+ */
32
+ private updateSnapTolerance;
33
+ /**
34
+ *
35
+ * @param {MeasurementType} type
36
+ * @description {en} Activates one of "Distance", "Area" or "Angle" measurement
37
+ * @description {zh} 激活"距离", "面积" 或者 "角度"测量
38
+ */
39
+ activate(type: MeasurementType): void;
40
+ /**
41
+ * @description {en} Deactivates measurement.
42
+ * @description {zh} 退出测量。
43
+ */
44
+ deactivate(): void;
45
+ getActiveMeasurementType(): MeasurementType | undefined;
46
+ /**
47
+ *
48
+ * @returns {boolean}
49
+ * @description Is measure plugin active
50
+ */
51
+ isActive(): boolean;
52
+ /**
53
+ *
54
+ * @returns {boolean} Is measuring now
55
+ */
56
+ isMeasuring(): boolean;
57
+ /**
58
+ *
59
+ * @returns {MeasurementData[]}
60
+ * @description {en} Gets all measurements.
61
+ * @description {zh} 获取所有测量数据。
62
+ */
63
+ getData(): MeasurementData[];
64
+ /**
65
+ * @description {en} Cancels current measurement. This won't deactivate measurement, rather, you can start a new measurement.
66
+ * @description {zh} 取消当前的测量绘制。这并不会退出测量,用户可以开始一个新的测量。
67
+ */
68
+ cancel(): void;
69
+ /**
70
+ *
71
+ * @param {MeasurementData[]} dataArray
72
+ * @description {en} Sets measurement data.
73
+ * @description {zh} 设置测量数据。
74
+ */
75
+ setData(dataArray: MeasurementData[]): void;
76
+ /**
77
+ * Sets a measurement drawable's visibility by id.
78
+ * @param id
79
+ * @param visible
80
+ * @returns
81
+ * @description Sets a measurement's visibility.
82
+ */
83
+ setVisibleById(id: string, visible: boolean): boolean;
84
+ /**
85
+ * Sets all measurement drawables' visibilities.
86
+ */
87
+ setVisibilities(visible: boolean): void;
88
+ /**
89
+ * @description {en} Clears measurement results.
90
+ * @description {zh} 清除测量结果。
91
+ */
92
+ clear(): void;
93
+ /**
94
+ * Gets a measurement drawable by id.
95
+ */
96
+ getById(id: string): BaseMeasureDrawable;
97
+ removeById(id: string): void;
98
+ /**
99
+ * Selects a measurement drawable by id.
100
+ * @param {string} id
101
+ * @description Selects a measurement by id
102
+ */
103
+ selectById(id: string): void;
104
+ /**
105
+ * Selects a measurement drawable.
106
+ */
107
+ select(drawable: BaseMeasureDrawable): void;
108
+ /**
109
+ *
110
+ * @param renderEnabled If need render measurement
111
+ * @description Unselects a measurement.
112
+ */
113
+ unselect(renderEnabled?: boolean): void;
114
+ /**
115
+ * Gets the scale value.
116
+ * Scale is the ratio of real world value and the value in three.js(pdf, a map, etc.).
117
+ * e.g., Real world distance is 1000, and the value in three.js is 1, then scale is 1000.
118
+ * We should display 1000 rather than 1 while measuring.
119
+ */
120
+ getScale(): number | undefined;
121
+ /**
122
+ * Sets the scale value.
123
+ */
124
+ setScale(scale: number | undefined): void;
125
+ /**
126
+ * @description Destroy measure plugin
127
+ */
128
+ destroy(): void;
129
+ private keydown;
130
+ private render;
131
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./BaseMeasureDrawable";
2
+ export * from "./BaseMeasurement";
3
+ export * from "./MeasurementPlugin";
@@ -0,0 +1,41 @@
1
+ import * as THREE from "three";
2
+ import { Vector3, Vector2 } from "../../core/Constants";
3
+ import { Drawable } from "../../core/canvas/Drawable";
4
+ export interface ImageDrawableConfig {
5
+ image: HTMLImageElement;
6
+ position: Vector3 | THREE.Vector3;
7
+ radius?: number;
8
+ displayRadius?: number;
9
+ enabledHover?: boolean;
10
+ direction?: Vector3 | THREE.Vector3;
11
+ rotation?: number;
12
+ hoverImage?: HTMLImageElement;
13
+ translate?: Vector2;
14
+ scale?: number;
15
+ isDirectionFromCamera?: boolean;
16
+ renderOrder?: number;
17
+ }
18
+ export declare class ImageDrawable extends Drawable {
19
+ renderOrder: number;
20
+ enabledHover: boolean;
21
+ hover: boolean;
22
+ needsFrustumCulled: boolean;
23
+ position: THREE.Vector3;
24
+ displayRadius: number;
25
+ radius?: number;
26
+ direction?: THREE.Vector3;
27
+ rotation?: number;
28
+ image: HTMLImageElement;
29
+ hoverImage?: HTMLImageElement;
30
+ translate?: Vector2;
31
+ scale: number;
32
+ constructor(id: string, cfg: ImageDrawableConfig);
33
+ private direction2Rotation;
34
+ private getRotation;
35
+ private drawImage;
36
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
37
+ drawSelect(): void;
38
+ getClassType(): string;
39
+ isPointInPath(mousePosition: THREE.Vector3, raycaster?: THREE.Raycaster): boolean;
40
+ getBBox(): THREE.Box3;
41
+ }
@@ -0,0 +1,20 @@
1
+ import * as THREE from "three";
2
+ import { Vector3 } from "../../core/Constants";
3
+ import { Drawable } from "../../core/canvas/Drawable";
4
+ export interface LineDrawableConfig {
5
+ positions: Vector3[];
6
+ lineWidth?: number;
7
+ lineColor?: [number, number, number, number];
8
+ renderOrder?: number;
9
+ }
10
+ export declare class LineDrawable extends Drawable {
11
+ renderOrder: number;
12
+ positions: Vector3[];
13
+ needsFrustumCulled: boolean;
14
+ constructor(id: string, cfg: LineDrawableConfig);
15
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
16
+ drawSelect(): void;
17
+ getClassType(): string;
18
+ isPointInPath(): boolean;
19
+ getBBox(): THREE.Box3;
20
+ }
@@ -0,0 +1,24 @@
1
+ import * as THREE from "three";
2
+ import { Drawable } from "../../core/canvas/Drawable";
3
+ export interface OverviewMapDrawableConfig {
4
+ image: HTMLImageElement;
5
+ min: THREE.Vector3;
6
+ max: THREE.Vector3;
7
+ radius?: number;
8
+ renderOrder?: number;
9
+ }
10
+ export declare class OverviewMapDrawable extends Drawable {
11
+ renderOrder: number;
12
+ image: HTMLImageElement;
13
+ min: THREE.Vector3;
14
+ max: THREE.Vector3;
15
+ radius?: number;
16
+ needsFrustumCulled: boolean;
17
+ constructor(id: string, config: OverviewMapDrawableConfig);
18
+ getClassType(): string;
19
+ private getImageScreenSize;
20
+ draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
21
+ drawSelect(): void;
22
+ isPointInPath(): boolean;
23
+ getBBox(): THREE.Box3;
24
+ }