Merge pull request #117 from pattern-x/feature/section

Enable to clip the building with dxf
This commit is contained in:
pattern-x
2023-11-06 10:16:19 +00:00
parent 36200cc17d
commit 76ac7b9bd1
349 changed files with 14445 additions and 13157 deletions

View File

@ -1,22 +1,24 @@
{ {
"files": { "files": {
"main.css": "./static/css/main.f052ad65.css", "main.css": "./static/css/main.90df8265.css",
"main.js": "./static/js/main.b6487067.js", "main.js": "./static/js/main.f09baa39.js",
"static/js/787.cf5efa72.chunk.js": "./static/js/787.cf5efa72.chunk.js", "static/js/787.55649ca3.chunk.js": "./static/js/787.55649ca3.chunk.js",
"demo/libs/gemini-viewer.esm.min.js": "./demo/libs/gemini-viewer.esm.min.js", "demo/libs/gemini-viewer.esm.min.js": "./demo/libs/gemini-viewer.esm.min.js",
"static/media/dwg_background.png": "./static/media/dwg_background.f630e7cda68e19172eec.png", "static/media/dwg_background.png": "./static/media/dwg_background.f630e7cda68e19172eec.png",
"demo/libs/types/core/viewers/DxfViewer.d.ts": "./demo/libs/types/core/viewers/DxfViewer.d.ts", "demo/libs/types/core/viewers/DxfViewer.temp.d.ts": "./demo/libs/types/core/viewers/DxfViewer.temp.d.ts",
"demo/libs/types/core/camera-controls/CameraControls.d.ts": "./demo/libs/types/core/camera-controls/CameraControls.d.ts", "demo/libs/types/core/camera-controls/CameraControls.d.ts": "./demo/libs/types/core/camera-controls/CameraControls.d.ts",
"demo/libs/types/core/viewers/DxfViewer.d.ts": "./demo/libs/types/core/viewers/DxfViewer.d.ts",
"demo/libs/types/core/dxf/DxfLoader.d.ts": "./demo/libs/types/core/dxf/DxfLoader.d.ts", "demo/libs/types/core/dxf/DxfLoader.d.ts": "./demo/libs/types/core/dxf/DxfLoader.d.ts",
"demo/libs/types/core/viewers/BimViewer.d.ts": "./demo/libs/types/core/viewers/BimViewer.d.ts", "demo/libs/types/core/viewers/BimViewer.temp.d.ts": "./demo/libs/types/core/viewers/BimViewer.temp.d.ts",
"demo/libs/types/core/utils/ObjectUtils.d.ts": "./demo/libs/types/core/utils/ObjectUtils.d.ts", "demo/libs/types/core/utils/ObjectUtils.d.ts": "./demo/libs/types/core/utils/ObjectUtils.d.ts",
"demo/libs/types/plugins/pdf/PdfLoader.d.ts": "./demo/libs/types/plugins/pdf/PdfLoader.d.ts", "demo/libs/types/plugins/pdf/PdfLoader.d.ts": "./demo/libs/types/plugins/pdf/PdfLoader.d.ts",
"demo/libs/types/core/dxf-parser/DxfParser.d.ts": "./demo/libs/types/core/dxf-parser/DxfParser.d.ts",
"demo/libs/types/core/viewers/VRViewer.d.ts": "./demo/libs/types/core/viewers/VRViewer.d.ts",
"demo/libs/types/core/viewers/BaseViewer.d.ts": "./demo/libs/types/core/viewers/BaseViewer.d.ts", "demo/libs/types/core/viewers/BaseViewer.d.ts": "./demo/libs/types/core/viewers/BaseViewer.d.ts",
"demo/libs/types/core/dxf-parser/DxfParser.d.ts": "./demo/libs/types/core/dxf-parser/DxfParser.d.ts",
"demo/libs/types/core/viewers/VRViewer.temp.d.ts": "./demo/libs/types/core/viewers/VRViewer.temp.d.ts",
"demo/libs/types/core/viewers/BaseViewer.temp.d.ts": "./demo/libs/types/core/viewers/BaseViewer.temp.d.ts",
"demo/libs/types/core/Configs.d.ts": "./demo/libs/types/core/Configs.d.ts", "demo/libs/types/core/Configs.d.ts": "./demo/libs/types/core/Configs.d.ts",
"demo/libs/types/core/patches/shaders/shaderLib/gemini_standard.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderLib/gemini_standard.glsl.d.ts",
"demo/libs/types/plugins/sections/BasePlaneSection.d.ts": "./demo/libs/types/plugins/sections/BasePlaneSection.d.ts", "demo/libs/types/plugins/sections/BasePlaneSection.d.ts": "./demo/libs/types/plugins/sections/BasePlaneSection.d.ts",
"demo/libs/types/core/patches/shaders/shaderLib/gemini_standard.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderLib/gemini_standard.glsl.d.ts",
"demo/libs/types/core/helpers/OSnapHelper.d.ts": "./demo/libs/types/core/helpers/OSnapHelper.d.ts", "demo/libs/types/core/helpers/OSnapHelper.d.ts": "./demo/libs/types/core/helpers/OSnapHelper.d.ts",
"demo/libs/types/plugins/overview-map/OverviewMapPlugin.d.ts": "./demo/libs/types/plugins/overview-map/OverviewMapPlugin.d.ts", "demo/libs/types/plugins/overview-map/OverviewMapPlugin.d.ts": "./demo/libs/types/plugins/overview-map/OverviewMapPlugin.d.ts",
"demo/libs/types/core/utils/Locale.d.ts": "./demo/libs/types/core/utils/Locale.d.ts", "demo/libs/types/core/utils/Locale.d.ts": "./demo/libs/types/core/utils/Locale.d.ts",
@ -26,18 +28,19 @@
"demo/libs/types/core/utils/CommonUtils.d.ts": "./demo/libs/types/core/utils/CommonUtils.d.ts", "demo/libs/types/core/utils/CommonUtils.d.ts": "./demo/libs/types/core/utils/CommonUtils.d.ts",
"demo/libs/types/plugins/measure/BaseMeasurement.d.ts": "./demo/libs/types/plugins/measure/BaseMeasurement.d.ts", "demo/libs/types/plugins/measure/BaseMeasurement.d.ts": "./demo/libs/types/plugins/measure/BaseMeasurement.d.ts",
"demo/libs/types/plugins/measure/MeasurementPlugin.d.ts": "./demo/libs/types/plugins/measure/MeasurementPlugin.d.ts", "demo/libs/types/plugins/measure/MeasurementPlugin.d.ts": "./demo/libs/types/plugins/measure/MeasurementPlugin.d.ts",
"demo/libs/types/core/controls/VRControls.d.ts": "./demo/libs/types/core/controls/VRControls.d.ts", "demo/libs/types/plugins/screenshot/ScreenshotPlugin.d.ts": "./demo/libs/types/plugins/screenshot/ScreenshotPlugin.d.ts",
"demo/libs/types/core/model/Model2d.d.ts": "./demo/libs/types/core/model/Model2d.d.ts",
"demo/libs/types/core/Constants.d.ts": "./demo/libs/types/core/Constants.d.ts", "demo/libs/types/core/Constants.d.ts": "./demo/libs/types/core/Constants.d.ts",
"demo/libs/types/core/input/InputManager.d.ts": "./demo/libs/types/core/input/InputManager.d.ts", "demo/libs/types/core/input/InputManager.d.ts": "./demo/libs/types/core/input/InputManager.d.ts",
"demo/libs/types/core/compare/BaseDxfCompareHelper.d.ts": "./demo/libs/types/core/compare/BaseDxfCompareHelper.d.ts", "demo/libs/types/core/compare/BaseDxfCompareHelper.d.ts": "./demo/libs/types/core/compare/BaseDxfCompareHelper.d.ts",
"demo/libs/types/core/utils/GeometryUtils.d.ts": "./demo/libs/types/core/utils/GeometryUtils.d.ts", "demo/libs/types/core/utils/GeometryUtils.d.ts": "./demo/libs/types/core/utils/GeometryUtils.d.ts",
"demo/libs/types/plugins/screenshot/ScreenshotPlugin.d.ts": "./demo/libs/types/plugins/screenshot/ScreenshotPlugin.d.ts",
"demo/libs/types/plugins/toolbars/Toolbar.d.ts": "./demo/libs/types/plugins/toolbars/Toolbar.d.ts",
"demo/libs/types/core/camera-controls/types.d.ts": "./demo/libs/types/core/camera-controls/types.d.ts",
"demo/libs/types/plugins/hotpoint/HotpointPlugin.d.ts": "./demo/libs/types/plugins/hotpoint/HotpointPlugin.d.ts", "demo/libs/types/plugins/hotpoint/HotpointPlugin.d.ts": "./demo/libs/types/plugins/hotpoint/HotpointPlugin.d.ts",
"demo/libs/types/plugins/toolbars/Toolbar.d.ts": "./demo/libs/types/plugins/toolbars/Toolbar.d.ts",
"demo/libs/types/core/viewers/VRViewer.d.ts": "./demo/libs/types/core/viewers/VRViewer.d.ts",
"demo/libs/types/core/camera-controls/types.d.ts": "./demo/libs/types/core/camera-controls/types.d.ts",
"demo/libs/types/core/markup/MarkupManager.d.ts": "./demo/libs/types/core/markup/MarkupManager.d.ts", "demo/libs/types/core/markup/MarkupManager.d.ts": "./demo/libs/types/core/markup/MarkupManager.d.ts",
"demo/libs/types/core/dxf-parser/entities/mleader.d.ts": "./demo/libs/types/core/dxf-parser/entities/mleader.d.ts", "demo/libs/types/core/dxf-parser/entities/mleader.d.ts": "./demo/libs/types/core/dxf-parser/entities/mleader.d.ts",
"demo/libs/types/core/model/Model2d.d.ts": "./demo/libs/types/core/model/Model2d.d.ts", "demo/libs/types/core/camera/CameraManager.d.ts": "./demo/libs/types/core/camera/CameraManager.d.ts",
"demo/libs/types/core/dxf/DxfUtils.d.ts": "./demo/libs/types/core/dxf/DxfUtils.d.ts", "demo/libs/types/core/dxf/DxfUtils.d.ts": "./demo/libs/types/core/dxf/DxfUtils.d.ts",
"demo/libs/types/core/utils/CoordinateUtils.d.ts": "./demo/libs/types/core/utils/CoordinateUtils.d.ts", "demo/libs/types/core/utils/CoordinateUtils.d.ts": "./demo/libs/types/core/utils/CoordinateUtils.d.ts",
"demo/libs/types/core/compare/DxfCompareHelper.d.ts": "./demo/libs/types/core/compare/DxfCompareHelper.d.ts", "demo/libs/types/core/compare/DxfCompareHelper.d.ts": "./demo/libs/types/core/compare/DxfCompareHelper.d.ts",
@ -45,45 +48,49 @@
"demo/libs/types/core/dxf-parser/entities/hatch.d.ts": "./demo/libs/types/core/dxf-parser/entities/hatch.d.ts", "demo/libs/types/core/dxf-parser/entities/hatch.d.ts": "./demo/libs/types/core/dxf-parser/entities/hatch.d.ts",
"demo/libs/types/plugins/sections/AxisPlaneSection.d.ts": "./demo/libs/types/plugins/sections/AxisPlaneSection.d.ts", "demo/libs/types/plugins/sections/AxisPlaneSection.d.ts": "./demo/libs/types/plugins/sections/AxisPlaneSection.d.ts",
"demo/libs/types/core/canvas/Drawable.d.ts": "./demo/libs/types/core/canvas/Drawable.d.ts", "demo/libs/types/core/canvas/Drawable.d.ts": "./demo/libs/types/core/canvas/Drawable.d.ts",
"demo/libs/types/core/font/FontManager.d.ts": "./demo/libs/types/core/font/FontManager.d.ts", "demo/libs/types/core/viewers/BimViewer.d.ts": "./demo/libs/types/core/viewers/BimViewer.d.ts",
"demo/libs/types/core/helpers/LoadingHelper.d.ts": "./demo/libs/types/core/helpers/LoadingHelper.d.ts", "demo/libs/types/core/helpers/LoadingHelper.d.ts": "./demo/libs/types/core/helpers/LoadingHelper.d.ts",
"demo/libs/types/core/font/FontManager.d.ts": "./demo/libs/types/core/font/FontManager.d.ts",
"demo/libs/types/core/utils/MathUtils.d.ts": "./demo/libs/types/core/utils/MathUtils.d.ts", "demo/libs/types/core/utils/MathUtils.d.ts": "./demo/libs/types/core/utils/MathUtils.d.ts",
"demo/libs/types/plugins/sections/BaseSection.d.ts": "./demo/libs/types/plugins/sections/BaseSection.d.ts", "demo/libs/types/core/viewers/ViewerEvent.d.ts": "./demo/libs/types/core/viewers/ViewerEvent.d.ts",
"demo/libs/types/plugins/view-cube/ViewCube.d.ts": "./demo/libs/types/plugins/view-cube/ViewCube.d.ts", "demo/libs/types/plugins/view-cube/ViewCube.d.ts": "./demo/libs/types/plugins/view-cube/ViewCube.d.ts",
"demo/libs/types/plugins/sections/BaseSection.d.ts": "./demo/libs/types/plugins/sections/BaseSection.d.ts",
"demo/libs/types/core/model/Model3d.d.ts": "./demo/libs/types/core/model/Model3d.d.ts", "demo/libs/types/core/model/Model3d.d.ts": "./demo/libs/types/core/model/Model3d.d.ts",
"demo/libs/types/core/utils/ExportUtils.d.ts": "./demo/libs/types/core/utils/ExportUtils.d.ts", "demo/libs/types/core/utils/ExportUtils.d.ts": "./demo/libs/types/core/utils/ExportUtils.d.ts",
"demo/libs/types/core/viewers/ViewerEvent.d.ts": "./demo/libs/types/core/viewers/ViewerEvent.d.ts",
"demo/libs/types/plugins/dat-gui/BimViewerDatGui.d.ts": "./demo/libs/types/plugins/dat-gui/BimViewerDatGui.d.ts", "demo/libs/types/plugins/dat-gui/BimViewerDatGui.d.ts": "./demo/libs/types/plugins/dat-gui/BimViewerDatGui.d.ts",
"demo/libs/types/plugins/sections/SectionPlugin.d.ts": "./demo/libs/types/plugins/sections/SectionPlugin.d.ts", "demo/libs/types/plugins/sections/SectionPlugin.d.ts": "./demo/libs/types/plugins/sections/SectionPlugin.d.ts",
"demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts": "./demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts",
"demo/libs/types/core/canvas/CanvasRender.d.ts": "./demo/libs/types/core/canvas/CanvasRender.d.ts", "demo/libs/types/core/canvas/CanvasRender.d.ts": "./demo/libs/types/core/canvas/CanvasRender.d.ts",
"demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts": "./demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts",
"demo/libs/types/plugins/skybox/SkyboxPlugin.d.ts": "./demo/libs/types/plugins/skybox/SkyboxPlugin.d.ts", "demo/libs/types/plugins/skybox/SkyboxPlugin.d.ts": "./demo/libs/types/plugins/skybox/SkyboxPlugin.d.ts",
"demo/libs/types/core/pick/PickManager.d.ts": "./demo/libs/types/core/pick/PickManager.d.ts",
"demo/libs/types/core/dxf-parser/index.d.ts": "./demo/libs/types/core/dxf-parser/index.d.ts", "demo/libs/types/core/dxf-parser/index.d.ts": "./demo/libs/types/core/dxf-parser/index.d.ts",
"demo/libs/types/core/markup/CloudRectWithTextMarkup.d.ts": "./demo/libs/types/core/markup/CloudRectWithTextMarkup.d.ts", "demo/libs/types/core/markup/CloudRectWithTextMarkup.d.ts": "./demo/libs/types/core/markup/CloudRectWithTextMarkup.d.ts",
"demo/libs/types/core/font/ShxFont.d.ts": "./demo/libs/types/core/font/ShxFont.d.ts", "demo/libs/types/core/font/ShxFont.d.ts": "./demo/libs/types/core/font/ShxFont.d.ts",
"demo/libs/types/core/webcam/WebCam.d.ts": "./demo/libs/types/core/webcam/WebCam.d.ts", "demo/libs/types/core/webcam/WebCam.d.ts": "./demo/libs/types/core/webcam/WebCam.d.ts",
"demo/libs/types/plugins/sections/PickPlaneSection.d.ts": "./demo/libs/types/plugins/sections/PickPlaneSection.d.ts", "demo/libs/types/plugins/sections/PickPlaneSection.d.ts": "./demo/libs/types/plugins/sections/PickPlaneSection.d.ts",
"demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts": "./demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts", "demo/libs/types/core/vr/BaseVRMesh.d.ts": "./demo/libs/types/core/vr/BaseVRMesh.d.ts",
"demo/libs/types/core/helpers/BoxSelectHelper.d.ts": "./demo/libs/types/core/helpers/BoxSelectHelper.d.ts", "demo/libs/types/core/helpers/BoxSelectHelper.d.ts": "./demo/libs/types/core/helpers/BoxSelectHelper.d.ts",
"demo/libs/types/core/utils/MaterialUtils.d.ts": "./demo/libs/types/core/utils/MaterialUtils.d.ts", "demo/libs/types/core/utils/MaterialUtils.d.ts": "./demo/libs/types/core/utils/MaterialUtils.d.ts",
"demo/libs/types/core/dxf-parser/ParseHelpers.d.ts": "./demo/libs/types/core/dxf-parser/ParseHelpers.d.ts", "demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts": "./demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts",
"demo/libs/types/core/markup/TextMarkup.d.ts": "./demo/libs/types/core/markup/TextMarkup.d.ts", "demo/libs/types/core/markup/TextMarkup.d.ts": "./demo/libs/types/core/markup/TextMarkup.d.ts",
"demo/libs/types/core/dxf-parser/ParseHelpers.d.ts": "./demo/libs/types/core/dxf-parser/ParseHelpers.d.ts",
"demo/libs/types/core/text-texture/TextTexture.d.ts": "./demo/libs/types/core/text-texture/TextTexture.d.ts", "demo/libs/types/core/text-texture/TextTexture.d.ts": "./demo/libs/types/core/text-texture/TextTexture.d.ts",
"demo/libs/types/export.doc.d.ts": "./demo/libs/types/export.doc.d.ts",
"demo/libs/types/plugins/measure/BaseMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/BaseMeasureDrawable.d.ts",
"demo/libs/types/plugins/sections/ViewportSection.d.ts": "./demo/libs/types/plugins/sections/ViewportSection.d.ts", "demo/libs/types/plugins/sections/ViewportSection.d.ts": "./demo/libs/types/plugins/sections/ViewportSection.d.ts",
"demo/libs/types/plugins/pdf/PdfLoaderPlugin.d.ts": "./demo/libs/types/plugins/pdf/PdfLoaderPlugin.d.ts",
"demo/libs/types/plugins/explode/ExplodePlugin.d.ts": "./demo/libs/types/plugins/explode/ExplodePlugin.d.ts", "demo/libs/types/plugins/explode/ExplodePlugin.d.ts": "./demo/libs/types/plugins/explode/ExplodePlugin.d.ts",
"demo/libs/types/plugins/measure/BaseMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/BaseMeasureDrawable.d.ts",
"demo/libs/types/plugins/overview-map/TextDrawable.d.ts": "./demo/libs/types/plugins/overview-map/TextDrawable.d.ts", "demo/libs/types/plugins/overview-map/TextDrawable.d.ts": "./demo/libs/types/plugins/overview-map/TextDrawable.d.ts",
"demo/libs/types/core/vr/VRCube24Faces.d.ts": "./demo/libs/types/core/vr/VRCube24Faces.d.ts",
"demo/libs/types/plugins/bottom-bar/BottomBarPlugin.d.ts": "./demo/libs/types/plugins/bottom-bar/BottomBarPlugin.d.ts", "demo/libs/types/plugins/bottom-bar/BottomBarPlugin.d.ts": "./demo/libs/types/plugins/bottom-bar/BottomBarPlugin.d.ts",
"demo/libs/types/core/vr/BaseVRMesh.d.ts": "./demo/libs/types/core/vr/BaseVRMesh.d.ts", "demo/libs/types/export.doc.d.ts": "./demo/libs/types/export.doc.d.ts",
"demo/libs/types/plugins/axis-gizmo/AxisGizmoPlugin.d.ts": "./demo/libs/types/plugins/axis-gizmo/AxisGizmoPlugin.d.ts", "demo/libs/types/plugins/axis-gizmo/AxisGizmoPlugin.d.ts": "./demo/libs/types/plugins/axis-gizmo/AxisGizmoPlugin.d.ts",
"demo/libs/types/plugins/ground-shaow/GroundShadowPlugin.d.ts": "./demo/libs/types/plugins/ground-shaow/GroundShadowPlugin.d.ts", "demo/libs/types/plugins/ground-shaow/GroundShadowPlugin.d.ts": "./demo/libs/types/plugins/ground-shaow/GroundShadowPlugin.d.ts",
"demo/libs/types/core/dxf-parser/entities/viewport.d.ts": "./demo/libs/types/core/dxf-parser/entities/viewport.d.ts", "demo/libs/types/core/dxf-parser/entities/viewport.d.ts": "./demo/libs/types/core/dxf-parser/entities/viewport.d.ts",
"demo/libs/types/core/dxf-parser/entities/geomtry.d.ts": "./demo/libs/types/core/dxf-parser/entities/geomtry.d.ts", "demo/libs/types/core/effect/EffectManager.d.ts": "./demo/libs/types/core/effect/EffectManager.d.ts",
"demo/libs/types/plugins/explode/ObjectExploder.d.ts": "./demo/libs/types/plugins/explode/ObjectExploder.d.ts", "demo/libs/types/plugins/explode/ObjectExploder.d.ts": "./demo/libs/types/plugins/explode/ObjectExploder.d.ts",
"demo/libs/types/plugins/sections/SectionGizmo.d.ts": "./demo/libs/types/plugins/sections/SectionGizmo.d.ts", "demo/libs/types/core/dxf-parser/entities/geomtry.d.ts": "./demo/libs/types/core/dxf-parser/entities/geomtry.d.ts",
"demo/libs/types/core/geometry-offset/Offset.d.ts": "./demo/libs/types/core/geometry-offset/Offset.d.ts", "demo/libs/types/core/geometry-offset/Offset.d.ts": "./demo/libs/types/core/geometry-offset/Offset.d.ts",
"demo/libs/types/core/vr/VRCube24Faces.d.ts": "./demo/libs/types/core/vr/VRCube24Faces.d.ts", "demo/libs/types/plugins/sections/SectionGizmo.d.ts": "./demo/libs/types/plugins/sections/SectionGizmo.d.ts",
"demo/libs/types/plugins/sections/ObjectsBoxSection.d.ts": "./demo/libs/types/plugins/sections/ObjectsBoxSection.d.ts", "demo/libs/types/plugins/sections/ObjectsBoxSection.d.ts": "./demo/libs/types/plugins/sections/ObjectsBoxSection.d.ts",
"demo/libs/types/plugins/nav-cube/NavCubePlugin.d.ts": "./demo/libs/types/plugins/nav-cube/NavCubePlugin.d.ts", "demo/libs/types/plugins/nav-cube/NavCubePlugin.d.ts": "./demo/libs/types/plugins/nav-cube/NavCubePlugin.d.ts",
"demo/libs/types/plugins/overview-map/ImageDrawable.d.ts": "./demo/libs/types/plugins/overview-map/ImageDrawable.d.ts", "demo/libs/types/plugins/overview-map/ImageDrawable.d.ts": "./demo/libs/types/plugins/overview-map/ImageDrawable.d.ts",
@ -91,178 +98,188 @@
"demo/libs/types/plugins/ground-grid/GroundGridPlugin.d.ts": "./demo/libs/types/plugins/ground-grid/GroundGridPlugin.d.ts", "demo/libs/types/plugins/ground-grid/GroundGridPlugin.d.ts": "./demo/libs/types/plugins/ground-grid/GroundGridPlugin.d.ts",
"demo/libs/types/core/dxf-parser/entities/table.d.ts": "./demo/libs/types/core/dxf-parser/entities/table.d.ts", "demo/libs/types/core/dxf-parser/entities/table.d.ts": "./demo/libs/types/core/dxf-parser/entities/table.d.ts",
"demo/libs/types/core/font/BaseFont.d.ts": "./demo/libs/types/core/font/BaseFont.d.ts", "demo/libs/types/core/font/BaseFont.d.ts": "./demo/libs/types/core/font/BaseFont.d.ts",
"demo/libs/types/core/scene/SceneManager.d.ts": "./demo/libs/types/core/scene/SceneManager.d.ts",
"demo/libs/types/core/helpers/ControlsHelper.d.ts": "./demo/libs/types/core/helpers/ControlsHelper.d.ts", "demo/libs/types/core/helpers/ControlsHelper.d.ts": "./demo/libs/types/core/helpers/ControlsHelper.d.ts",
"demo/libs/types/core/camera-controls/EventDispatcher.d.ts": "./demo/libs/types/core/camera-controls/EventDispatcher.d.ts", "demo/libs/types/core/camera-controls/EventDispatcher.d.ts": "./demo/libs/types/core/camera-controls/EventDispatcher.d.ts",
"demo/libs/types/plugins/measure/AreaMeasurement.d.ts": "./demo/libs/types/plugins/measure/AreaMeasurement.d.ts", "demo/libs/types/plugins/measure/AreaMeasurement.d.ts": "./demo/libs/types/plugins/measure/AreaMeasurement.d.ts",
"demo/libs/types/plugins/sections/BaseBoxSection.d.ts": "./demo/libs/types/plugins/sections/BaseBoxSection.d.ts",
"demo/libs/types/core/font/shx/util/BitConverter.d.ts": "./demo/libs/types/core/font/shx/util/BitConverter.d.ts", "demo/libs/types/core/font/shx/util/BitConverter.d.ts": "./demo/libs/types/core/font/shx/util/BitConverter.d.ts",
"demo/libs/types/core/markup/BaseMarkup.d.ts": "./demo/libs/types/core/markup/BaseMarkup.d.ts", "demo/libs/types/core/markup/BaseMarkup.d.ts": "./demo/libs/types/core/markup/BaseMarkup.d.ts",
"demo/libs/types/plugins/sections/BaseBoxSection.d.ts": "./demo/libs/types/plugins/sections/BaseBoxSection.d.ts",
"demo/libs/types/plugins/toolbars/DxfViewerToolbarPlugin.d.ts": "./demo/libs/types/plugins/toolbars/DxfViewerToolbarPlugin.d.ts", "demo/libs/types/plugins/toolbars/DxfViewerToolbarPlugin.d.ts": "./demo/libs/types/plugins/toolbars/DxfViewerToolbarPlugin.d.ts",
"demo/libs/types/core/indexeddb/BaseTable.d.ts": "./demo/libs/types/core/indexeddb/BaseTable.d.ts", "demo/libs/types/core/indexeddb/BaseTable.d.ts": "./demo/libs/types/core/indexeddb/BaseTable.d.ts",
"demo/libs/types/core/dxf/dxfom-mtext.d.ts": "./demo/libs/types/core/dxf/dxfom-mtext.d.ts",
"demo/libs/types/core/controls/CameraControlsEx.d.ts": "./demo/libs/types/core/controls/CameraControlsEx.d.ts", "demo/libs/types/core/controls/CameraControlsEx.d.ts": "./demo/libs/types/core/controls/CameraControlsEx.d.ts",
"demo/libs/types/core/utils/SceneUtils.d.ts": "./demo/libs/types/core/utils/SceneUtils.d.ts", "demo/libs/types/core/utils/SceneUtils.d.ts": "./demo/libs/types/core/utils/SceneUtils.d.ts",
"demo/libs/types/core/dxf/dxfom-mtext.d.ts": "./demo/libs/types/core/dxf/dxfom-mtext.d.ts",
"demo/libs/types/plugins/measure/DistanceMeasurement.d.ts": "./demo/libs/types/plugins/measure/DistanceMeasurement.d.ts",
"demo/libs/types/core/dxf/DxfObject.d.ts": "./demo/libs/types/core/dxf/DxfObject.d.ts", "demo/libs/types/core/dxf/DxfObject.d.ts": "./demo/libs/types/core/dxf/DxfObject.d.ts",
"demo/libs/types/plugins/measure/DistanceMeasurement.d.ts": "./demo/libs/types/plugins/measure/DistanceMeasurement.d.ts",
"demo/libs/types/core/dxf-parser/DxfTextReader.d.ts": "./demo/libs/types/core/dxf-parser/DxfTextReader.d.ts", "demo/libs/types/core/dxf-parser/DxfTextReader.d.ts": "./demo/libs/types/core/dxf-parser/DxfTextReader.d.ts",
"demo/libs/types/core/canvas/DrawableList.d.ts": "./demo/libs/types/core/canvas/DrawableList.d.ts", "demo/libs/types/core/canvas/DrawableList.d.ts": "./demo/libs/types/core/canvas/DrawableList.d.ts",
"demo/libs/types/core/dxf-parser/entities/image.d.ts": "./demo/libs/types/core/dxf-parser/entities/image.d.ts", "demo/libs/types/core/dxf-parser/entities/image.d.ts": "./demo/libs/types/core/dxf-parser/entities/image.d.ts",
"demo/libs/types/core/model/Constants.d.ts": "./demo/libs/types/core/model/Constants.d.ts", "demo/libs/types/core/model/Constants.d.ts": "./demo/libs/types/core/model/Constants.d.ts",
"demo/libs/types/plugins/local-model-uploader/LocalModelUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/LocalModelUploader.d.ts", "demo/libs/types/plugins/local-model-uploader/LocalModelUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/LocalModelUploader.d.ts",
"demo/libs/types/core/markup/LeaderLineMarkup.d.ts": "./demo/libs/types/core/markup/LeaderLineMarkup.d.ts",
"demo/libs/types/components/progress-bar/ProgressBar.d.ts": "./demo/libs/types/components/progress-bar/ProgressBar.d.ts", "demo/libs/types/components/progress-bar/ProgressBar.d.ts": "./demo/libs/types/components/progress-bar/ProgressBar.d.ts",
"demo/libs/types/core/markup/LeaderLineMarkup.d.ts": "./demo/libs/types/core/markup/LeaderLineMarkup.d.ts",
"demo/libs/types/core/helpers/MobileTouchHelperDrawable.d.ts": "./demo/libs/types/core/helpers/MobileTouchHelperDrawable.d.ts", "demo/libs/types/core/helpers/MobileTouchHelperDrawable.d.ts": "./demo/libs/types/core/helpers/MobileTouchHelperDrawable.d.ts",
"demo/libs/types/core/camera-controls/utils/math-utils.d.ts": "./demo/libs/types/core/camera-controls/utils/math-utils.d.ts",
"demo/libs/types/core/utils/Event.d.ts": "./demo/libs/types/core/utils/Event.d.ts", "demo/libs/types/core/utils/Event.d.ts": "./demo/libs/types/core/utils/Event.d.ts",
"demo/libs/types/core/helpers/PickMarkupHelper.d.ts": "./demo/libs/types/core/helpers/PickMarkupHelper.d.ts", "demo/libs/types/core/camera-controls/utils/math-utils.d.ts": "./demo/libs/types/core/camera-controls/utils/math-utils.d.ts",
"demo/libs/types/core/dxf-parser/objects/common.d.ts": "./demo/libs/types/core/dxf-parser/objects/common.d.ts",
"demo/libs/types/components/settings/ProjectSettingsDef.d.ts": "./demo/libs/types/components/settings/ProjectSettingsDef.d.ts", "demo/libs/types/components/settings/ProjectSettingsDef.d.ts": "./demo/libs/types/components/settings/ProjectSettingsDef.d.ts",
"demo/libs/types/core/helpers/PickMarkupHelper.d.ts": "./demo/libs/types/core/helpers/PickMarkupHelper.d.ts",
"demo/libs/types/core/dxf-parser/entities/attdef.d.ts": "./demo/libs/types/core/dxf-parser/entities/attdef.d.ts", "demo/libs/types/core/dxf-parser/entities/attdef.d.ts": "./demo/libs/types/core/dxf-parser/entities/attdef.d.ts",
"demo/libs/types/core/dxf-parser/entities/attrib.d.ts": "./demo/libs/types/core/dxf-parser/entities/attrib.d.ts", "demo/libs/types/core/dxf-parser/entities/attrib.d.ts": "./demo/libs/types/core/dxf-parser/entities/attrib.d.ts",
"demo/libs/types/core/dxf-parser/objects/common.d.ts": "./demo/libs/types/core/dxf-parser/objects/common.d.ts",
"demo/libs/types/core/indexeddb/FontDataTable.d.ts": "./demo/libs/types/core/indexeddb/FontDataTable.d.ts", "demo/libs/types/core/indexeddb/FontDataTable.d.ts": "./demo/libs/types/core/indexeddb/FontDataTable.d.ts",
"demo/libs/types/plugins/pdf/PdfLoaderPlugin.d.ts": "./demo/libs/types/plugins/pdf/PdfLoaderPlugin.d.ts",
"demo/libs/types/plugins/sections/SectionPlaneMesh.d.ts": "./demo/libs/types/plugins/sections/SectionPlaneMesh.d.ts", "demo/libs/types/plugins/sections/SectionPlaneMesh.d.ts": "./demo/libs/types/plugins/sections/SectionPlaneMesh.d.ts",
"demo/libs/types/core/shp-js/ShpThree.d.ts": "./demo/libs/types/core/shp-js/ShpThree.d.ts",
"demo/libs/types/plugins/context-menu/Constants.d.ts": "./demo/libs/types/plugins/context-menu/Constants.d.ts", "demo/libs/types/plugins/context-menu/Constants.d.ts": "./demo/libs/types/plugins/context-menu/Constants.d.ts",
"demo/libs/types/core/shp-js/ShpThree.d.ts": "./demo/libs/types/core/shp-js/ShpThree.d.ts",
"demo/libs/types/core/utils/index.d.ts": "./demo/libs/types/core/utils/index.d.ts", "demo/libs/types/core/utils/index.d.ts": "./demo/libs/types/core/utils/index.d.ts",
"demo/libs/types/plugins/toolbars/BimViewerToolbarPlugin.d.ts": "./demo/libs/types/plugins/toolbars/BimViewerToolbarPlugin.d.ts", "demo/libs/types/plugins/toolbars/BimViewerToolbarPlugin.d.ts": "./demo/libs/types/plugins/toolbars/BimViewerToolbarPlugin.d.ts",
"demo/libs/types/core/dxf-parser/objects/spatialfilter.d.ts": "./demo/libs/types/core/dxf-parser/objects/spatialfilter.d.ts",
"demo/libs/types/plugins/context-menu/ContextMenuPlugin.d.ts": "./demo/libs/types/plugins/context-menu/ContextMenuPlugin.d.ts", "demo/libs/types/plugins/context-menu/ContextMenuPlugin.d.ts": "./demo/libs/types/plugins/context-menu/ContextMenuPlugin.d.ts",
"demo/libs/types/core/dxf-parser/objects/spatialfilter.d.ts": "./demo/libs/types/core/dxf-parser/objects/spatialfilter.d.ts",
"demo/libs/types/core/viewers/Plugin.d.ts": "./demo/libs/types/core/viewers/Plugin.d.ts", "demo/libs/types/core/viewers/Plugin.d.ts": "./demo/libs/types/core/viewers/Plugin.d.ts",
"demo/libs/types/core/dxf-parser/objects/layout.d.ts": "./demo/libs/types/core/dxf-parser/objects/layout.d.ts", "demo/libs/types/core/dxf-parser/objects/layout.d.ts": "./demo/libs/types/core/dxf-parser/objects/layout.d.ts",
"demo/libs/types/core/components/ProgressBar.d.ts": "./demo/libs/types/core/components/ProgressBar.d.ts",
"demo/libs/types/plugins/measure/AngleMeasurement.d.ts": "./demo/libs/types/plugins/measure/AngleMeasurement.d.ts", "demo/libs/types/plugins/measure/AngleMeasurement.d.ts": "./demo/libs/types/plugins/measure/AngleMeasurement.d.ts",
"demo/libs/types/plugins/measure/CoordinateMeasurement.d.ts": "./demo/libs/types/plugins/measure/CoordinateMeasurement.d.ts",
"demo/libs/types/plugins/sections/GlobalPlaneSection.d.ts": "./demo/libs/types/plugins/sections/GlobalPlaneSection.d.ts", "demo/libs/types/plugins/sections/GlobalPlaneSection.d.ts": "./demo/libs/types/plugins/sections/GlobalPlaneSection.d.ts",
"demo/libs/types/plugins/measure/CoordinateMeasurement.d.ts": "./demo/libs/types/plugins/measure/CoordinateMeasurement.d.ts",
"demo/libs/types/core/canvas/Constants.d.ts": "./demo/libs/types/core/canvas/Constants.d.ts", "demo/libs/types/core/canvas/Constants.d.ts": "./demo/libs/types/core/canvas/Constants.d.ts",
"demo/libs/types/core/font/shx/TextShape.d.ts": "./demo/libs/types/core/font/shx/TextShape.d.ts",
"demo/libs/types/core/utils/Viewer3DUtils.d.ts": "./demo/libs/types/core/utils/Viewer3DUtils.d.ts", "demo/libs/types/core/utils/Viewer3DUtils.d.ts": "./demo/libs/types/core/utils/Viewer3DUtils.d.ts",
"demo/libs/types/core/font/shx/TextShape.d.ts": "./demo/libs/types/core/font/shx/TextShape.d.ts",
"demo/libs/types/plugins/overview-map/OverviewMapDrawable.d.ts": "./demo/libs/types/plugins/overview-map/OverviewMapDrawable.d.ts", "demo/libs/types/plugins/overview-map/OverviewMapDrawable.d.ts": "./demo/libs/types/plugins/overview-map/OverviewMapDrawable.d.ts",
"demo/libs/types/core/indexeddb/IndexedDbManager.d.ts": "./demo/libs/types/core/indexeddb/IndexedDbManager.d.ts", "demo/libs/types/core/indexeddb/IndexedDbManager.d.ts": "./demo/libs/types/core/indexeddb/IndexedDbManager.d.ts",
"demo/libs/types/core/dxf-parser/entities/polyline.d.ts": "./demo/libs/types/core/dxf-parser/entities/polyline.d.ts",
"demo/libs/types/components/dxf-layout-bar/DxfLayoutBar.d.ts": "./demo/libs/types/components/dxf-layout-bar/DxfLayoutBar.d.ts", "demo/libs/types/components/dxf-layout-bar/DxfLayoutBar.d.ts": "./demo/libs/types/components/dxf-layout-bar/DxfLayoutBar.d.ts",
"demo/libs/types/core/dxf-parser/entities/polyline.d.ts": "./demo/libs/types/core/dxf-parser/entities/polyline.d.ts",
"demo/libs/types/core/helpers/InstantiateHelper.d.ts": "./demo/libs/types/core/helpers/InstantiateHelper.d.ts",
"demo/libs/types/core/dxf-parser/objects/imagedef.d.ts": "./demo/libs/types/core/dxf-parser/objects/imagedef.d.ts", "demo/libs/types/core/dxf-parser/objects/imagedef.d.ts": "./demo/libs/types/core/dxf-parser/objects/imagedef.d.ts",
"demo/libs/types/core/dxf-parser/entities/spline.d.ts": "./demo/libs/types/core/dxf-parser/entities/spline.d.ts", "demo/libs/types/core/dxf-parser/entities/spline.d.ts": "./demo/libs/types/core/dxf-parser/entities/spline.d.ts",
"demo/libs/types/core/helpers/InstantiateHelper.d.ts": "./demo/libs/types/core/helpers/InstantiateHelper.d.ts",
"demo/libs/types/components/pop-panel/AxisSectionPopPanel.d.ts": "./demo/libs/types/components/pop-panel/AxisSectionPopPanel.d.ts",
"demo/libs/types/plugins/sections/ObjectsPlaneSection.d.ts": "./demo/libs/types/plugins/sections/ObjectsPlaneSection.d.ts", "demo/libs/types/plugins/sections/ObjectsPlaneSection.d.ts": "./demo/libs/types/plugins/sections/ObjectsPlaneSection.d.ts",
"demo/libs/types/core/dxf-parser/entities/dimension.d.ts": "./demo/libs/types/core/dxf-parser/entities/dimension.d.ts", "demo/libs/types/core/dxf-parser/entities/dimension.d.ts": "./demo/libs/types/core/dxf-parser/entities/dimension.d.ts",
"demo/libs/types/plugins/measure/AngleMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/AngleMeasureDrawable.d.ts", "demo/libs/types/components/pop-panel/AxisSectionPopPanel.d.ts": "./demo/libs/types/components/pop-panel/AxisSectionPopPanel.d.ts",
"demo/libs/types/core/helpers/ZoomToRectHelper.d.ts": "./demo/libs/types/core/helpers/ZoomToRectHelper.d.ts",
"demo/libs/types/plugins/measure/AreaMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/AreaMeasureDrawable.d.ts",
"demo/libs/types/core/dxf-parser/entities/lwpolyline.d.ts": "./demo/libs/types/core/dxf-parser/entities/lwpolyline.d.ts", "demo/libs/types/core/dxf-parser/entities/lwpolyline.d.ts": "./demo/libs/types/core/dxf-parser/entities/lwpolyline.d.ts",
"demo/libs/types/core/components/Container.d.ts": "./demo/libs/types/core/components/Container.d.ts",
"demo/libs/types/core/dxf-parser/entities/leader.d.ts": "./demo/libs/types/core/dxf-parser/entities/leader.d.ts", "demo/libs/types/core/dxf-parser/entities/leader.d.ts": "./demo/libs/types/core/dxf-parser/entities/leader.d.ts",
"demo/libs/types/components/pop-panel/PickSectionPopPanel.d.ts": "./demo/libs/types/components/pop-panel/PickSectionPopPanel.d.ts", "demo/libs/types/plugins/measure/AngleMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/AngleMeasureDrawable.d.ts",
"demo/libs/types/plugins/measure/AreaMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/AreaMeasureDrawable.d.ts",
"demo/libs/types/core/helpers/BinaryReader.d.ts": "./demo/libs/types/core/helpers/BinaryReader.d.ts", "demo/libs/types/core/helpers/BinaryReader.d.ts": "./demo/libs/types/core/helpers/BinaryReader.d.ts",
"demo/libs/types/plugins/overview-map/LineDrawable.d.ts": "./demo/libs/types/plugins/overview-map/LineDrawable.d.ts", "demo/libs/types/plugins/overview-map/LineDrawable.d.ts": "./demo/libs/types/plugins/overview-map/LineDrawable.d.ts",
"demo/libs/types/components/pop-panel/PickSectionPopPanel.d.ts": "./demo/libs/types/components/pop-panel/PickSectionPopPanel.d.ts",
"demo/libs/types/core/helpers/ZoomToRectHelper.d.ts": "./demo/libs/types/core/helpers/ZoomToRectHelper.d.ts",
"demo/libs/types/plugins/measure/DistanceMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/DistanceMeasureDrawable.d.ts", "demo/libs/types/plugins/measure/DistanceMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/DistanceMeasureDrawable.d.ts",
"index.html": "./index.html",
"demo/libs/types/core/utils/ColorUtils.d.ts": "./demo/libs/types/core/utils/ColorUtils.d.ts", "demo/libs/types/core/utils/ColorUtils.d.ts": "./demo/libs/types/core/utils/ColorUtils.d.ts",
"demo/libs/types/core/dxf-parser/entities/vertex.d.ts": "./demo/libs/types/core/dxf-parser/entities/vertex.d.ts", "demo/libs/types/core/dxf-parser/entities/vertex.d.ts": "./demo/libs/types/core/dxf-parser/entities/vertex.d.ts",
"demo/libs/types/core/font/shx/ShxParser.d.ts": "./demo/libs/types/core/font/shx/ShxParser.d.ts", "demo/libs/types/core/font/shx/ShxParser.d.ts": "./demo/libs/types/core/font/shx/ShxParser.d.ts",
"demo/libs/types/plugins/local-model-uploader/LocalDxfUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/LocalDxfUploader.d.ts", "demo/libs/types/plugins/local-model-uploader/LocalDxfUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/LocalDxfUploader.d.ts",
"demo/libs/types/core/dxf/dxfom-text.d.ts": "./demo/libs/types/core/dxf/dxfom-text.d.ts", "demo/libs/types/core/dxf/dxfom-text.d.ts": "./demo/libs/types/core/dxf/dxfom-text.d.ts",
"demo/libs/types/core/utils/EdgeUtils.d.ts": "./demo/libs/types/core/utils/EdgeUtils.d.ts", "demo/libs/types/core/indexeddb/ImageDataTable.d.ts": "./demo/libs/types/core/indexeddb/ImageDataTable.d.ts",
"demo/libs/types/core/geometry-offset/Edge.d.ts": "./demo/libs/types/core/geometry-offset/Edge.d.ts", "demo/libs/types/core/geometry-offset/Edge.d.ts": "./demo/libs/types/core/geometry-offset/Edge.d.ts",
"index.html": "./index.html",
"demo/libs/types/core/utils/EdgeUtils.d.ts": "./demo/libs/types/core/utils/EdgeUtils.d.ts",
"demo/libs/types/plugins/index.d.ts": "./demo/libs/types/plugins/index.d.ts", "demo/libs/types/plugins/index.d.ts": "./demo/libs/types/plugins/index.d.ts",
"demo/libs/types/core/utils/SectionUtils.d.ts": "./demo/libs/types/core/utils/SectionUtils.d.ts",
"demo/libs/types/plugins/stats/StatsPlugin.d.ts": "./demo/libs/types/plugins/stats/StatsPlugin.d.ts", "demo/libs/types/plugins/stats/StatsPlugin.d.ts": "./demo/libs/types/plugins/stats/StatsPlugin.d.ts",
"demo/libs/types/core/indexeddb/DxfDataTable.d.ts": "./demo/libs/types/core/indexeddb/DxfDataTable.d.ts",
"demo/libs/types/core/dxf-parser/entities/insert.d.ts": "./demo/libs/types/core/dxf-parser/entities/insert.d.ts", "demo/libs/types/core/dxf-parser/entities/insert.d.ts": "./demo/libs/types/core/dxf-parser/entities/insert.d.ts",
"demo/libs/types/core/dxf-parser/entities/ole2frame.d.ts": "./demo/libs/types/core/dxf-parser/entities/ole2frame.d.ts", "demo/libs/types/core/dxf-parser/entities/ole2frame.d.ts": "./demo/libs/types/core/dxf-parser/entities/ole2frame.d.ts",
"demo/libs/types/core/indexeddb/DxfDataTable.d.ts": "./demo/libs/types/core/indexeddb/DxfDataTable.d.ts", "demo/libs/types/core/utils/SectionUtils.d.ts": "./demo/libs/types/core/utils/SectionUtils.d.ts",
"demo/libs/types/components/tool-tip/Tooltip.d.ts": "./demo/libs/types/components/tool-tip/Tooltip.d.ts", "demo/libs/types/components/tool-tip/Tooltip.d.ts": "./demo/libs/types/components/tool-tip/Tooltip.d.ts",
"demo/libs/types/core/dxf-parser/objects/dictionary.d.ts": "./demo/libs/types/core/dxf-parser/objects/dictionary.d.ts", "demo/libs/types/core/dxf-parser/objects/dictionary.d.ts": "./demo/libs/types/core/dxf-parser/objects/dictionary.d.ts",
"demo/libs/types/core/utils/UnitConversionUtils.d.ts": "./demo/libs/types/core/utils/UnitConversionUtils.d.ts",
"demo/libs/types/core/helpers/RafHelper.d.ts": "./demo/libs/types/core/helpers/RafHelper.d.ts", "demo/libs/types/core/helpers/RafHelper.d.ts": "./demo/libs/types/core/helpers/RafHelper.d.ts",
"demo/libs/types/core/font/MeshFont.d.ts": "./demo/libs/types/core/font/MeshFont.d.ts", "demo/libs/types/core/font/MeshFont.d.ts": "./demo/libs/types/core/font/MeshFont.d.ts",
"demo/libs/types/core/utils/CSS2DObjectUtils.d.ts": "./demo/libs/types/core/utils/CSS2DObjectUtils.d.ts",
"demo/libs/types/core/compare/CompareDrawable.d.ts": "./demo/libs/types/core/compare/CompareDrawable.d.ts", "demo/libs/types/core/compare/CompareDrawable.d.ts": "./demo/libs/types/core/compare/CompareDrawable.d.ts",
"demo/libs/types/core/utils/UnitConversionUtils.d.ts": "./demo/libs/types/core/utils/UnitConversionUtils.d.ts", "demo/libs/types/core/utils/CSS2DObjectUtils.d.ts": "./demo/libs/types/core/utils/CSS2DObjectUtils.d.ts",
"demo/libs/types/core/helpers/MeshBvhHelper.d.ts": "./demo/libs/types/core/helpers/MeshBvhHelper.d.ts", "demo/libs/types/core/helpers/MeshBvhHelper.d.ts": "./demo/libs/types/core/helpers/MeshBvhHelper.d.ts",
"demo/libs/types/core/dxf-parser/entities/mtext.d.ts": "./demo/libs/types/core/dxf-parser/entities/mtext.d.ts", "demo/libs/types/core/dxf-parser/entities/mtext.d.ts": "./demo/libs/types/core/dxf-parser/entities/mtext.d.ts",
"demo/libs/types/core/undo-redo/UndoRedoManager.d.ts": "./demo/libs/types/core/undo-redo/UndoRedoManager.d.ts",
"demo/libs/types/core/markup/ArrowMarkup.d.ts": "./demo/libs/types/core/markup/ArrowMarkup.d.ts", "demo/libs/types/core/markup/ArrowMarkup.d.ts": "./demo/libs/types/core/markup/ArrowMarkup.d.ts",
"demo/libs/types/core/utils/TextureUtils.d.ts": "./demo/libs/types/core/utils/TextureUtils.d.ts", "demo/libs/types/core/utils/TextureUtils.d.ts": "./demo/libs/types/core/utils/TextureUtils.d.ts",
"demo/libs/types/core/undo-redo/UndoRedoManager.d.ts": "./demo/libs/types/core/undo-redo/UndoRedoManager.d.ts",
"demo/libs/types/core/index.d.ts": "./demo/libs/types/core/index.d.ts", "demo/libs/types/core/index.d.ts": "./demo/libs/types/core/index.d.ts",
"demo/libs/types/core/materials/GeminiStandardMaterial.d.ts": "./demo/libs/types/core/materials/GeminiStandardMaterial.d.ts", "demo/libs/types/core/materials/GeminiStandardMaterial.d.ts": "./demo/libs/types/core/materials/GeminiStandardMaterial.d.ts",
"demo/libs/types/plugins/toolbars/MarkupToolbar.d.ts": "./demo/libs/types/plugins/toolbars/MarkupToolbar.d.ts", "demo/libs/types/plugins/toolbars/MarkupToolbar.d.ts": "./demo/libs/types/plugins/toolbars/MarkupToolbar.d.ts",
"demo/libs/types/core/vr/VRCube.d.ts": "./demo/libs/types/core/vr/VRCube.d.ts",
"demo/libs/types/core/dxf-parser/entities/text.d.ts": "./demo/libs/types/core/dxf-parser/entities/text.d.ts", "demo/libs/types/core/dxf-parser/entities/text.d.ts": "./demo/libs/types/core/dxf-parser/entities/text.d.ts",
"demo/libs/types/core/dxf-parser/entities/arc.d.ts": "./demo/libs/types/core/dxf-parser/entities/arc.d.ts", "demo/libs/types/core/dxf-parser/entities/arc.d.ts": "./demo/libs/types/core/dxf-parser/entities/arc.d.ts",
"demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts",
"demo/libs/types/core/workers/GenerateMeshBvhWorker.d.ts": "./demo/libs/types/core/workers/GenerateMeshBvhWorker.d.ts", "demo/libs/types/core/workers/GenerateMeshBvhWorker.d.ts": "./demo/libs/types/core/workers/GenerateMeshBvhWorker.d.ts",
"demo/libs/types/plugins/axis-gizmo/CoordinateAxes.d.ts": "./demo/libs/types/plugins/axis-gizmo/CoordinateAxes.d.ts", "demo/libs/types/plugins/axis-gizmo/CoordinateAxes.d.ts": "./demo/libs/types/plugins/axis-gizmo/CoordinateAxes.d.ts",
"demo/libs/types/core/utils/SVGObjectUtils.d.ts": "./demo/libs/types/core/utils/SVGObjectUtils.d.ts", "demo/libs/types/core/utils/SVGObjectUtils.d.ts": "./demo/libs/types/core/utils/SVGObjectUtils.d.ts",
"demo/libs/types/core/dxf-parser/entities/ellipse.d.ts": "./demo/libs/types/core/dxf-parser/entities/ellipse.d.ts", "demo/libs/types/core/dxf-parser/entities/ellipse.d.ts": "./demo/libs/types/core/dxf-parser/entities/ellipse.d.ts",
"demo/libs/types/core/markup/Constants.d.ts": "./demo/libs/types/core/markup/Constants.d.ts", "demo/libs/types/core/markup/Constants.d.ts": "./demo/libs/types/core/markup/Constants.d.ts",
"demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts",
"demo/libs/types/core/markup/CircleMarkup.d.ts": "./demo/libs/types/core/markup/CircleMarkup.d.ts", "demo/libs/types/core/markup/CircleMarkup.d.ts": "./demo/libs/types/core/markup/CircleMarkup.d.ts",
"demo/libs/types/core/utils/DeviceUtils.d.ts": "./demo/libs/types/core/utils/DeviceUtils.d.ts", "demo/libs/types/core/utils/DeviceUtils.d.ts": "./demo/libs/types/core/utils/DeviceUtils.d.ts",
"demo/libs/types/plugins/measure/CoordinateMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/CoordinateMeasureDrawable.d.ts", "demo/libs/types/plugins/measure/CoordinateMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/CoordinateMeasureDrawable.d.ts",
"demo/libs/types/plugins/skybox/GradientColorSkybox.d.ts": "./demo/libs/types/plugins/skybox/GradientColorSkybox.d.ts",
"demo/libs/types/core/markup/CloudLineMarkup.d.ts": "./demo/libs/types/core/markup/CloudLineMarkup.d.ts", "demo/libs/types/core/markup/CloudLineMarkup.d.ts": "./demo/libs/types/core/markup/CloudLineMarkup.d.ts",
"demo/libs/types/plugins/skybox/GradientColorSkybox.d.ts": "./demo/libs/types/plugins/skybox/GradientColorSkybox.d.ts",
"demo/libs/types/core/markup/EllipseMarkup.d.ts": "./demo/libs/types/core/markup/EllipseMarkup.d.ts", "demo/libs/types/core/markup/EllipseMarkup.d.ts": "./demo/libs/types/core/markup/EllipseMarkup.d.ts",
"demo/libs/types/core/dxf-parser/objects/sortentstable.d.ts": "./demo/libs/types/core/dxf-parser/objects/sortentstable.d.ts", "demo/libs/types/core/dxf-parser/objects/sortentstable.d.ts": "./demo/libs/types/core/dxf-parser/objects/sortentstable.d.ts",
"demo/libs/types/core/markup/PolylineMarkup.d.ts": "./demo/libs/types/core/markup/PolylineMarkup.d.ts",
"demo/libs/types/core/Units.d.ts": "./demo/libs/types/core/Units.d.ts", "demo/libs/types/core/Units.d.ts": "./demo/libs/types/core/Units.d.ts",
"demo/libs/types/core/vr/VRCube.d.ts": "./demo/libs/types/core/vr/VRCube.d.ts", "demo/libs/types/core/markup/PolylineMarkup.d.ts": "./demo/libs/types/core/markup/PolylineMarkup.d.ts",
"demo/libs/types/core/vr/ImageManager.d.ts": "./demo/libs/types/core/vr/ImageManager.d.ts",
"demo/libs/types/core/markup/CloudRectMarkup.d.ts": "./demo/libs/types/core/markup/CloudRectMarkup.d.ts", "demo/libs/types/core/markup/CloudRectMarkup.d.ts": "./demo/libs/types/core/markup/CloudRectMarkup.d.ts",
"demo/libs/types/core/helpers/ObjectPixelSizeHelper.d.ts": "./demo/libs/types/core/helpers/ObjectPixelSizeHelper.d.ts", "demo/libs/types/core/helpers/ObjectPixelSizeHelper.d.ts": "./demo/libs/types/core/helpers/ObjectPixelSizeHelper.d.ts",
"demo/libs/types/core/controls/PlanControl.d.ts": "./demo/libs/types/core/controls/PlanControl.d.ts",
"demo/libs/types/core/dxf-parser/objects/xrecord.d.ts": "./demo/libs/types/core/dxf-parser/objects/xrecord.d.ts", "demo/libs/types/core/dxf-parser/objects/xrecord.d.ts": "./demo/libs/types/core/dxf-parser/objects/xrecord.d.ts",
"demo/libs/types/core/dxf/HatchPatternShaders.d.ts": "./demo/libs/types/core/dxf/HatchPatternShaders.d.ts", "demo/libs/types/core/dxf/HatchPatternShaders.d.ts": "./demo/libs/types/core/dxf/HatchPatternShaders.d.ts",
"demo/libs/types/core/dxf-parser/entities/circle.d.ts": "./demo/libs/types/core/dxf-parser/entities/circle.d.ts",
"demo/libs/types/core/dxf/LinePatternShaders.d.ts": "./demo/libs/types/core/dxf/LinePatternShaders.d.ts",
"demo/libs/types/core/utils/SimplifyUtils.d.ts": "./demo/libs/types/core/utils/SimplifyUtils.d.ts", "demo/libs/types/core/utils/SimplifyUtils.d.ts": "./demo/libs/types/core/utils/SimplifyUtils.d.ts",
"demo/libs/types/core/dxf-parser/entities/circle.d.ts": "./demo/libs/types/core/dxf-parser/entities/circle.d.ts",
"demo/libs/types/core/model/Model.d.ts": "./demo/libs/types/core/model/Model.d.ts",
"demo/libs/types/core/dxf/LinePatternShaders.d.ts": "./demo/libs/types/core/dxf/LinePatternShaders.d.ts",
"demo/libs/types/core/compare/DxfCompareMarkupManager.d.ts": "./demo/libs/types/core/compare/DxfCompareMarkupManager.d.ts", "demo/libs/types/core/compare/DxfCompareMarkupManager.d.ts": "./demo/libs/types/core/compare/DxfCompareMarkupManager.d.ts",
"demo/libs/types/core/markup/RectMarkup.d.ts": "./demo/libs/types/core/markup/RectMarkup.d.ts", "demo/libs/types/core/markup/RectMarkup.d.ts": "./demo/libs/types/core/markup/RectMarkup.d.ts",
"demo/libs/types/core/model/Model.d.ts": "./demo/libs/types/core/model/Model.d.ts",
"demo/libs/types/core/helpers/index.d.ts": "./demo/libs/types/core/helpers/index.d.ts",
"demo/libs/types/core/markup/XMarkup.d.ts": "./demo/libs/types/core/markup/XMarkup.d.ts", "demo/libs/types/core/markup/XMarkup.d.ts": "./demo/libs/types/core/markup/XMarkup.d.ts",
"demo/libs/types/core/markup/index.d.ts": "./demo/libs/types/core/markup/index.d.ts", "demo/libs/types/core/markup/index.d.ts": "./demo/libs/types/core/markup/index.d.ts",
"demo/libs/types/core/indexeddb/AnnotationTable.d.ts": "./demo/libs/types/core/indexeddb/AnnotationTable.d.ts", "demo/libs/types/core/indexeddb/AnnotationTable.d.ts": "./demo/libs/types/core/indexeddb/AnnotationTable.d.ts",
"demo/libs/types/core/dxf-parser/entities/3dface.d.ts": "./demo/libs/types/core/dxf-parser/entities/3dface.d.ts",
"demo/libs/types/components/pop-panel/PopPanel.d.ts": "./demo/libs/types/components/pop-panel/PopPanel.d.ts", "demo/libs/types/components/pop-panel/PopPanel.d.ts": "./demo/libs/types/components/pop-panel/PopPanel.d.ts",
"demo/libs/types/core/indexeddb/ViewpointTable.d.ts": "./demo/libs/types/core/indexeddb/ViewpointTable.d.ts", "demo/libs/types/core/indexeddb/ViewpointTable.d.ts": "./demo/libs/types/core/indexeddb/ViewpointTable.d.ts",
"demo/libs/types/core/dxf-parser/entities/3dface.d.ts": "./demo/libs/types/core/dxf-parser/entities/3dface.d.ts",
"demo/libs/types/core/controls/VRControl.d.ts": "./demo/libs/types/core/controls/VRControl.d.ts",
"demo/libs/types/core/dxf-parser/DxfBinaryReader.d.ts": "./demo/libs/types/core/dxf-parser/DxfBinaryReader.d.ts", "demo/libs/types/core/dxf-parser/DxfBinaryReader.d.ts": "./demo/libs/types/core/dxf-parser/DxfBinaryReader.d.ts",
"demo/libs/types/core/controls/OrbitControl.d.ts": "./demo/libs/types/core/controls/OrbitControl.d.ts",
"demo/libs/types/core/vr/VRSphere.d.ts": "./demo/libs/types/core/vr/VRSphere.d.ts",
"demo/libs/types/core/undo-redo/UpdateMarkupCommand.d.ts": "./demo/libs/types/core/undo-redo/UpdateMarkupCommand.d.ts", "demo/libs/types/core/undo-redo/UpdateMarkupCommand.d.ts": "./demo/libs/types/core/undo-redo/UpdateMarkupCommand.d.ts",
"demo/libs/types/core/dxf-parser/AutoCadColorIndex.d.ts": "./demo/libs/types/core/dxf-parser/AutoCadColorIndex.d.ts", "demo/libs/types/core/dxf-parser/AutoCadColorIndex.d.ts": "./demo/libs/types/core/dxf-parser/AutoCadColorIndex.d.ts",
"demo/libs/types/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts",
"demo/libs/types/core/dxf-parser/entities/point.d.ts": "./demo/libs/types/core/dxf-parser/entities/point.d.ts",
"demo/libs/types/plugins/sections/Section.constants.d.ts": "./demo/libs/types/plugins/sections/Section.constants.d.ts", "demo/libs/types/plugins/sections/Section.constants.d.ts": "./demo/libs/types/plugins/sections/Section.constants.d.ts",
"demo/libs/types/core/dxf-parser/entities/point.d.ts": "./demo/libs/types/core/dxf-parser/entities/point.d.ts",
"demo/libs/types/core/helpers/index.d.ts": "./demo/libs/types/core/helpers/index.d.ts",
"demo/libs/types/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts",
"demo/libs/types/core/dxf-parser/entities/region.d.ts": "./demo/libs/types/core/dxf-parser/entities/region.d.ts", "demo/libs/types/core/dxf-parser/entities/region.d.ts": "./demo/libs/types/core/dxf-parser/entities/region.d.ts",
"demo/libs/types/core/dxf-parser/entities/solid.d.ts": "./demo/libs/types/core/dxf-parser/entities/solid.d.ts", "demo/libs/types/core/dxf-parser/entities/solid.d.ts": "./demo/libs/types/core/dxf-parser/entities/solid.d.ts",
"demo/libs/types/core/dxf-parser/entities/xline.d.ts": "./demo/libs/types/core/dxf-parser/entities/xline.d.ts", "demo/libs/types/core/dxf-parser/entities/xline.d.ts": "./demo/libs/types/core/dxf-parser/entities/xline.d.ts",
"demo/libs/types/core/dxf-parser/entities/line.d.ts": "./demo/libs/types/core/dxf-parser/entities/line.d.ts",
"demo/libs/types/core/shp-js/SHPLoader.d.ts": "./demo/libs/types/core/shp-js/SHPLoader.d.ts", "demo/libs/types/core/shp-js/SHPLoader.d.ts": "./demo/libs/types/core/shp-js/SHPLoader.d.ts",
"demo/libs/types/core/dxf/bspline.d.ts": "./demo/libs/types/core/dxf/bspline.d.ts", "demo/libs/types/core/dxf-parser/entities/line.d.ts": "./demo/libs/types/core/dxf-parser/entities/line.d.ts",
"demo/libs/types/plugins/nav-cube/NavCube.d.ts": "./demo/libs/types/plugins/nav-cube/NavCube.d.ts", "demo/libs/types/plugins/nav-cube/NavCube.d.ts": "./demo/libs/types/plugins/nav-cube/NavCube.d.ts",
"demo/libs/types/core/markup/DotMarkup.d.ts": "./demo/libs/types/core/markup/DotMarkup.d.ts", "demo/libs/types/core/dxf/bspline.d.ts": "./demo/libs/types/core/dxf/bspline.d.ts",
"demo/libs/types/core/dxf-parser/entities/ray.d.ts": "./demo/libs/types/core/dxf-parser/entities/ray.d.ts", "demo/libs/types/core/dxf-parser/entities/ray.d.ts": "./demo/libs/types/core/dxf-parser/entities/ray.d.ts",
"demo/libs/types/core/markup/DotMarkup.d.ts": "./demo/libs/types/core/markup/DotMarkup.d.ts",
"demo/libs/types/core/undo-redo/RemoveMarkupCommand.d.ts": "./demo/libs/types/core/undo-redo/RemoveMarkupCommand.d.ts", "demo/libs/types/core/undo-redo/RemoveMarkupCommand.d.ts": "./demo/libs/types/core/undo-redo/RemoveMarkupCommand.d.ts",
"demo/libs/types/core/undo-redo/AddMarkupCommand.d.ts": "./demo/libs/types/core/undo-redo/AddMarkupCommand.d.ts", "demo/libs/types/core/undo-redo/AddMarkupCommand.d.ts": "./demo/libs/types/core/undo-redo/AddMarkupCommand.d.ts",
"demo/libs/types/core/dxf/DxfConstants.d.ts": "./demo/libs/types/core/dxf/DxfConstants.d.ts", "demo/libs/types/core/dxf/DxfConstants.d.ts": "./demo/libs/types/core/dxf/DxfConstants.d.ts",
"demo/libs/types/core/dxf/index.d.ts": "./demo/libs/types/core/dxf/index.d.ts", "demo/libs/types/core/dxf/index.d.ts": "./demo/libs/types/core/dxf/index.d.ts",
"demo/libs/types/core/undo-redo/RemoveMeasurementCommand.d.ts": "./demo/libs/types/core/undo-redo/RemoveMeasurementCommand.d.ts", "demo/libs/types/core/undo-redo/RemoveMeasurementCommand.d.ts": "./demo/libs/types/core/undo-redo/RemoveMeasurementCommand.d.ts",
"demo/libs/types/core/undo-redo/AddMeasurementCommand.d.ts": "./demo/libs/types/core/undo-redo/AddMeasurementCommand.d.ts",
"demo/libs/types/plugins/local-model-uploader/LocalImageUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/LocalImageUploader.d.ts", "demo/libs/types/plugins/local-model-uploader/LocalImageUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/LocalImageUploader.d.ts",
"demo/libs/types/core/vr/VRSphere.d.ts": "./demo/libs/types/core/vr/VRSphere.d.ts", "demo/libs/types/core/undo-redo/AddMeasurementCommand.d.ts": "./demo/libs/types/core/undo-redo/AddMeasurementCommand.d.ts",
"demo/libs/types/core/components/Spinner.d.ts": "./demo/libs/types/core/components/Spinner.d.ts",
"demo/libs/types/core/dxf-parser/DxfBaseReader.d.ts": "./demo/libs/types/core/dxf-parser/DxfBaseReader.d.ts", "demo/libs/types/core/dxf-parser/DxfBaseReader.d.ts": "./demo/libs/types/core/dxf-parser/DxfBaseReader.d.ts",
"demo/libs/types/core/shp-js/BitView.d.ts": "./demo/libs/types/core/shp-js/BitView.d.ts", "demo/libs/types/core/shp-js/BitView.d.ts": "./demo/libs/types/core/shp-js/BitView.d.ts",
"demo/libs/types/core/dxf-parser/entities/seqend.d.ts": "./demo/libs/types/core/dxf-parser/entities/seqend.d.ts", "demo/libs/types/core/dxf-parser/entities/seqend.d.ts": "./demo/libs/types/core/dxf-parser/entities/seqend.d.ts",
"demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts", "demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts",
"demo/libs/types/core/font/shx/gbk/index.d.ts": "./demo/libs/types/core/font/shx/gbk/index.d.ts",
"demo/libs/types/core/undo-redo/index.d.ts": "./demo/libs/types/core/undo-redo/index.d.ts", "demo/libs/types/core/undo-redo/index.d.ts": "./demo/libs/types/core/undo-redo/index.d.ts",
"demo/libs/types/core/font/shx/gbk/index.d.ts": "./demo/libs/types/core/font/shx/gbk/index.d.ts",
"demo/libs/types/plugins/local-model-uploader/IUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/IUploader.d.ts", "demo/libs/types/plugins/local-model-uploader/IUploader.d.ts": "./demo/libs/types/plugins/local-model-uploader/IUploader.d.ts",
"demo/libs/types/core/utils/PolygonUtils.d.ts": "./demo/libs/types/core/utils/PolygonUtils.d.ts", "demo/libs/types/core/utils/PolygonUtils.d.ts": "./demo/libs/types/core/utils/PolygonUtils.d.ts",
"demo/libs/types/core/viewers/index.d.ts": "./demo/libs/types/core/viewers/index.d.ts",
"demo/libs/types/index.d.ts": "./demo/libs/types/index.d.ts", "demo/libs/types/index.d.ts": "./demo/libs/types/index.d.ts",
"demo/libs/types/plugins/toolbars/Toolbar.config.d.ts": "./demo/libs/types/plugins/toolbars/Toolbar.config.d.ts", "demo/libs/types/plugins/toolbars/Toolbar.config.d.ts": "./demo/libs/types/plugins/toolbars/Toolbar.config.d.ts",
"demo/libs/types/core/controls/Control.d.ts": "./demo/libs/types/core/controls/Control.d.ts",
"demo/libs/types/core/indexeddb/index.d.ts": "./demo/libs/types/core/indexeddb/index.d.ts",
"demo/libs/types/core/utils/LogUtils.d.ts": "./demo/libs/types/core/utils/LogUtils.d.ts", "demo/libs/types/core/utils/LogUtils.d.ts": "./demo/libs/types/core/utils/LogUtils.d.ts",
"demo/libs/types/plugins/toolbars/index.d.ts": "./demo/libs/types/plugins/toolbars/index.d.ts",
"demo/libs/types/core/utils/FpsUtils.d.ts": "./demo/libs/types/core/utils/FpsUtils.d.ts", "demo/libs/types/core/utils/FpsUtils.d.ts": "./demo/libs/types/core/utils/FpsUtils.d.ts",
"demo/libs/types/core/shp-js/Shp.d.ts": "./demo/libs/types/core/shp-js/Shp.d.ts", "demo/libs/types/core/shp-js/Shp.d.ts": "./demo/libs/types/core/shp-js/Shp.d.ts",
"demo/libs/types/core/viewers/index.d.ts": "./demo/libs/types/core/viewers/index.d.ts",
"demo/libs/types/core/font/shx/Shx.constants.d.ts": "./demo/libs/types/core/font/shx/Shx.constants.d.ts", "demo/libs/types/core/font/shx/Shx.constants.d.ts": "./demo/libs/types/core/font/shx/Shx.constants.d.ts",
"demo/libs/types/plugins/toolbars/index.d.ts": "./demo/libs/types/plugins/toolbars/index.d.ts",
"demo/libs/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts": "./demo/libs/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts", "demo/libs/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts": "./demo/libs/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts",
"demo/libs/types/core/indexeddb/index.d.ts": "./demo/libs/types/core/indexeddb/index.d.ts",
"demo/libs/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts": "./demo/libs/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts",
"demo/libs/types/core/utils/CancelablePromise.d.ts": "./demo/libs/types/core/utils/CancelablePromise.d.ts", "demo/libs/types/core/utils/CancelablePromise.d.ts": "./demo/libs/types/core/utils/CancelablePromise.d.ts",
"demo/libs/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts": "./demo/libs/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts",
"demo/libs/types/core/VersionManager.d.ts": "./demo/libs/types/core/VersionManager.d.ts", "demo/libs/types/core/VersionManager.d.ts": "./demo/libs/types/core/VersionManager.d.ts",
"demo/libs/types/core/viewers/Constants.d.ts": "./demo/libs/types/core/viewers/Constants.d.ts",
"demo/libs/types/plugins/overview-map/index.d.ts": "./demo/libs/types/plugins/overview-map/index.d.ts", "demo/libs/types/plugins/overview-map/index.d.ts": "./demo/libs/types/plugins/overview-map/index.d.ts",
"demo/libs/types/plugins/sections/index.d.ts": "./demo/libs/types/plugins/sections/index.d.ts", "demo/libs/types/plugins/sections/index.d.ts": "./demo/libs/types/plugins/sections/index.d.ts",
"demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts", "demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts": "./demo/libs/types/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts",
@ -270,22 +287,23 @@
"demo/libs/types/core/compare/index.d.ts": "./demo/libs/types/core/compare/index.d.ts", "demo/libs/types/core/compare/index.d.ts": "./demo/libs/types/core/compare/index.d.ts",
"demo/libs/types/core/patches/index.d.ts": "./demo/libs/types/core/patches/index.d.ts", "demo/libs/types/core/patches/index.d.ts": "./demo/libs/types/core/patches/index.d.ts",
"demo/libs/types/core/canvas/index.d.ts": "./demo/libs/types/core/canvas/index.d.ts", "demo/libs/types/core/canvas/index.d.ts": "./demo/libs/types/core/canvas/index.d.ts",
"demo/libs/types/core/controls/index.d.ts": "./demo/libs/types/core/controls/index.d.ts",
"demo/libs/types/core/vr/index.d.ts": "./demo/libs/types/core/vr/index.d.ts", "demo/libs/types/core/vr/index.d.ts": "./demo/libs/types/core/vr/index.d.ts",
"demo/libs/types/core/utils/DecimalPrecisionUtils.d.ts": "./demo/libs/types/core/utils/DecimalPrecisionUtils.d.ts", "demo/libs/types/core/utils/DecimalPrecisionUtils.d.ts": "./demo/libs/types/core/utils/DecimalPrecisionUtils.d.ts",
"demo/libs/types/plugins/local-model-uploader/index.d.ts": "./demo/libs/types/plugins/local-model-uploader/index.d.ts", "demo/libs/types/plugins/local-model-uploader/index.d.ts": "./demo/libs/types/plugins/local-model-uploader/index.d.ts",
"demo/libs/types/plugins/measure/index.d.ts": "./demo/libs/types/plugins/measure/index.d.ts", "demo/libs/types/plugins/measure/index.d.ts": "./demo/libs/types/plugins/measure/index.d.ts",
"demo/libs/types/core/model/index.d.ts": "./demo/libs/types/core/model/index.d.ts", "demo/libs/types/core/model/index.d.ts": "./demo/libs/types/core/model/index.d.ts",
"demo/libs/types/core/shp-js/index.d.ts": "./demo/libs/types/core/shp-js/index.d.ts", "demo/libs/types/core/shp-js/index.d.ts": "./demo/libs/types/core/shp-js/index.d.ts",
"demo/libs/types/plugins/context-menu/ContextMenu.config.d.ts": "./demo/libs/types/plugins/context-menu/ContextMenu.config.d.ts",
"demo/libs/types/components/pop-panel/index.d.ts": "./demo/libs/types/components/pop-panel/index.d.ts", "demo/libs/types/components/pop-panel/index.d.ts": "./demo/libs/types/components/pop-panel/index.d.ts",
"demo/libs/types/plugins/context-menu/ContextMenu.config.d.ts": "./demo/libs/types/plugins/context-menu/ContextMenu.config.d.ts",
"demo/libs/types/plugins/context-menu/index.d.ts": "./demo/libs/types/plugins/context-menu/index.d.ts", "demo/libs/types/plugins/context-menu/index.d.ts": "./demo/libs/types/plugins/context-menu/index.d.ts",
"demo/libs/types/core/components/index.d.ts": "./demo/libs/types/core/components/index.d.ts",
"demo/libs/types/core/dxf/round10.d.ts": "./demo/libs/types/core/dxf/round10.d.ts", "demo/libs/types/core/dxf/round10.d.ts": "./demo/libs/types/core/dxf/round10.d.ts",
"demo/libs/types/core/camera-controls/index.d.ts": "./demo/libs/types/core/camera-controls/index.d.ts", "demo/libs/types/core/camera-controls/index.d.ts": "./demo/libs/types/core/camera-controls/index.d.ts",
"demo/libs/types/core/patches/Constants.d.ts": "./demo/libs/types/core/patches/Constants.d.ts", "demo/libs/types/core/patches/Constants.d.ts": "./demo/libs/types/core/patches/Constants.d.ts",
"demo/libs/types/core/font/shx/ExtraLettersTemplate.d.ts": "./demo/libs/types/core/font/shx/ExtraLettersTemplate.d.ts", "demo/libs/types/core/font/shx/ExtraLettersTemplate.d.ts": "./demo/libs/types/core/font/shx/ExtraLettersTemplate.d.ts",
"demo/libs/types/core/input/index.d.ts": "./demo/libs/types/core/input/index.d.ts",
"demo/libs/types/core/camera-controls/Constants.d.ts": "./demo/libs/types/core/camera-controls/Constants.d.ts", "demo/libs/types/core/camera-controls/Constants.d.ts": "./demo/libs/types/core/camera-controls/Constants.d.ts",
"demo/libs/types/core/controls/index.d.ts": "./demo/libs/types/core/controls/index.d.ts", "demo/libs/types/core/input/index.d.ts": "./demo/libs/types/core/input/index.d.ts",
"demo/libs/types/plugins/pdf/index.d.ts": "./demo/libs/types/plugins/pdf/index.d.ts", "demo/libs/types/plugins/pdf/index.d.ts": "./demo/libs/types/plugins/pdf/index.d.ts",
"demo/libs/types/core/patches/shaders/ShaderChunk.d.ts": "./demo/libs/types/core/patches/shaders/ShaderChunk.d.ts", "demo/libs/types/core/patches/shaders/ShaderChunk.d.ts": "./demo/libs/types/core/patches/shaders/ShaderChunk.d.ts",
"demo/libs/types/fetch-polyfill.d.ts": "./demo/libs/types/fetch-polyfill.d.ts", "demo/libs/types/fetch-polyfill.d.ts": "./demo/libs/types/fetch-polyfill.d.ts",
@ -306,24 +324,28 @@
"demo/libs/types/plugins/dat-gui/index.d.ts": "./demo/libs/types/plugins/dat-gui/index.d.ts", "demo/libs/types/plugins/dat-gui/index.d.ts": "./demo/libs/types/plugins/dat-gui/index.d.ts",
"demo/libs/types/plugins/hotpoint/index.d.ts": "./demo/libs/types/plugins/hotpoint/index.d.ts", "demo/libs/types/plugins/hotpoint/index.d.ts": "./demo/libs/types/plugins/hotpoint/index.d.ts",
"demo/libs/types/plugins/view-cube/index.d.ts": "./demo/libs/types/plugins/view-cube/index.d.ts", "demo/libs/types/plugins/view-cube/index.d.ts": "./demo/libs/types/plugins/view-cube/index.d.ts",
"demo/libs/types/core/camera/index.d.ts": "./demo/libs/types/core/camera/index.d.ts",
"demo/libs/types/core/effect/index.d.ts": "./demo/libs/types/core/effect/index.d.ts",
"demo/libs/types/core/font/shx/index.d.ts": "./demo/libs/types/core/font/shx/index.d.ts", "demo/libs/types/core/font/shx/index.d.ts": "./demo/libs/types/core/font/shx/index.d.ts",
"demo/libs/types/plugins/explode/index.d.ts": "./demo/libs/types/plugins/explode/index.d.ts", "demo/libs/types/plugins/explode/index.d.ts": "./demo/libs/types/plugins/explode/index.d.ts",
"demo/libs/types/plugins/nav-cube/index.d.ts": "./demo/libs/types/plugins/nav-cube/index.d.ts", "demo/libs/types/plugins/nav-cube/index.d.ts": "./demo/libs/types/plugins/nav-cube/index.d.ts",
"demo/libs/types/components/dxf-layout-bar/index.d.ts": "./demo/libs/types/components/dxf-layout-bar/index.d.ts", "demo/libs/types/components/dxf-layout-bar/index.d.ts": "./demo/libs/types/components/dxf-layout-bar/index.d.ts",
"demo/libs/types/core/scene/index.d.ts": "./demo/libs/types/core/scene/index.d.ts",
"demo/libs/types/plugins/skybox/index.d.ts": "./demo/libs/types/plugins/skybox/index.d.ts", "demo/libs/types/plugins/skybox/index.d.ts": "./demo/libs/types/plugins/skybox/index.d.ts",
"demo/libs/types/components/progress-bar/index.d.ts": "./demo/libs/types/components/progress-bar/index.d.ts", "demo/libs/types/components/progress-bar/index.d.ts": "./demo/libs/types/components/progress-bar/index.d.ts",
"demo/libs/types/core/font/index.d.ts": "./demo/libs/types/core/font/index.d.ts", "demo/libs/types/core/font/index.d.ts": "./demo/libs/types/core/font/index.d.ts",
"demo/libs/types/core/pick/index.d.ts": "./demo/libs/types/core/pick/index.d.ts",
"demo/libs/types/plugins/stats/index.d.ts": "./demo/libs/types/plugins/stats/index.d.ts", "demo/libs/types/plugins/stats/index.d.ts": "./demo/libs/types/plugins/stats/index.d.ts",
"demo/libs/types/components/tool-tip/index.d.ts": "./demo/libs/types/components/tool-tip/index.d.ts", "demo/libs/types/components/tool-tip/index.d.ts": "./demo/libs/types/components/tool-tip/index.d.ts",
"demo/libs/types/core/geometry-offset/index.d.ts": "./demo/libs/types/core/geometry-offset/index.d.ts", "demo/libs/types/core/geometry-offset/index.d.ts": "./demo/libs/types/core/geometry-offset/index.d.ts",
"demo/libs/types/core/webcam/index.d.ts": "./demo/libs/types/core/webcam/index.d.ts", "demo/libs/types/core/webcam/index.d.ts": "./demo/libs/types/core/webcam/index.d.ts",
"demo/libs/types/core/workers/CreateMeshBvh.worker.d.ts": "./demo/libs/types/core/workers/CreateMeshBvh.worker.d.ts", "demo/libs/types/core/workers/CreateMeshBvh.worker.d.ts": "./demo/libs/types/core/workers/CreateMeshBvh.worker.d.ts",
"main.f052ad65.css.map": "./static/css/main.f052ad65.css.map", "main.90df8265.css.map": "./static/css/main.90df8265.css.map",
"main.b6487067.js.map": "./static/js/main.b6487067.js.map", "main.f09baa39.js.map": "./static/js/main.f09baa39.js.map",
"787.cf5efa72.chunk.js.map": "./static/js/787.cf5efa72.chunk.js.map" "787.55649ca3.chunk.js.map": "./static/js/787.55649ca3.chunk.js.map"
}, },
"entrypoints": [ "entrypoints": [
"static/css/main.f052ad65.css", "static/css/main.90df8265.css",
"static/js/main.b6487067.js" "static/js/main.f09baa39.js"
] ]
} }

File diff suppressed because one or more lines are too long

View File

@ -1,26 +1,26 @@
import type { DxfViewer } from "../../core/viewers"; import type { DxfViewer } from "../../core/viewers";
export declare class DxfLayoutBar { export declare class DxfLayoutBar {
protected readonly viewer: DxfViewer; protected readonly viewer: DxfViewer;
private element?; private element?;
private content?; private content?;
private itemList; private itemList;
constructor(viewer: DxfViewer); constructor(viewer: DxfViewer);
init(): void; init(): void;
private handleMouseWheel; private handleMouseWheel;
private createItem; private createItem;
destroy(): void; destroy(): void;
show(): void; show(): void;
hide(): void; hide(): void;
} }
export declare class ModelLayoutSwitchItem { export declare class ModelLayoutSwitchItem {
protected readonly viewer: DxfViewer; protected readonly viewer: DxfViewer;
private eventBus; private eventBus;
element: HTMLElement; element: HTMLElement;
resetActivate?: () => void; resetActivate?: () => void;
active: boolean; active: boolean;
constructor(viewer: DxfViewer, name: string); constructor(viewer: DxfViewer, name: string);
private createItem; private createItem;
setActive(active: boolean): void; setActive(active: boolean): void;
resetActive(): void; resetActive(): void;
destroy(): void; destroy(): void;
} }

View File

@ -1 +1 @@
export * from "./DxfLayoutBar"; export * from "./DxfLayoutBar";

View File

@ -1,18 +1,18 @@
import { PopPanel } from "./PopPanel"; import { PopPanel } from "./PopPanel";
import type { BaseViewer } from "../../core/viewers/BaseViewer"; import type { BaseViewer } from "../../core/viewers/BaseViewer";
import { AxisPlaneSection } from "../../plugins/sections/AxisPlaneSection"; import { AxisPlaneSection } from "../../plugins/sections/AxisPlaneSection";
export declare class AxisSectionPopPanel extends PopPanel { export declare class AxisSectionPopPanel extends PopPanel {
protected axis: string; protected axis: string;
protected activeItem?: string; protected activeItem?: string;
protected groupSelectNode?: HTMLElement; protected groupSelectNode?: HTMLElement;
protected activeSelectNode?: HTMLElement; protected activeSelectNode?: HTMLElement;
protected isVisible: boolean; protected isVisible: boolean;
protected section: AxisPlaneSection; protected section: AxisPlaneSection;
constructor(viewer: BaseViewer); constructor(viewer: BaseViewer);
keydown: (e: KeyboardEvent) => void; keydown: (e: KeyboardEvent) => void;
destroy(): void; destroy(): void;
createGroupSelectLayout(): void; createGroupSelectLayout(): void;
addGroupSelectItems(): void; addGroupSelectItems(): void;
createActiveSelectLayout(): void; createActiveSelectLayout(): void;
addActiveItems(): void; addActiveItems(): void;
} }

View File

@ -1,18 +1,18 @@
import { PopPanel } from "./PopPanel"; import { PopPanel } from "./PopPanel";
import type { BaseViewer } from "../../core/viewers/BaseViewer"; import type { BaseViewer } from "../../core/viewers/BaseViewer";
import type { PickPlaneSection } from "../../plugins/sections/PickPlaneSection"; import { PickPlaneSection } from "../../plugins/sections";
export declare class PickSectionPopPanel extends PopPanel { export declare class PickSectionPopPanel extends PopPanel {
protected activeSelectNode?: Element; protected activeSelectNode?: Element;
protected isVisible: boolean; protected isVisible: boolean;
protected enabled: boolean; protected enabled: boolean;
protected visibleNode?: HTMLElement; protected visibleNode?: HTMLElement;
protected resetNode?: HTMLElement; protected resetNode?: HTMLElement;
protected section: PickPlaneSection; protected section: PickPlaneSection;
constructor(viewer: BaseViewer); constructor(viewer: BaseViewer);
keydown: (e: KeyboardEvent) => void; keydown: (e: KeyboardEvent) => void;
destroy(): void; destroy(): void;
createActiveSelectLayout(): void; createActiveSelectLayout(): void;
addActiveItems(): void; addActiveItems(): void;
enable(): void; enable(): void;
disable(): void; disable(): void;
} }

View File

@ -1,14 +1,14 @@
export declare class PopPanel { export declare class PopPanel {
private readonly container; private readonly container;
private element; private element;
header: HTMLElement; header: HTMLElement;
body: HTMLElement; body: HTMLElement;
private isFollowing; private isFollowing;
private diffX; private diffX;
private diffY; private diffY;
constructor(id: string, content: string | HTMLElement, container?: HTMLElement); constructor(id: string, content: string | HTMLElement, container?: HTMLElement);
start: (event: MouseEvent) => void; start: (event: MouseEvent) => void;
stop: () => void; stop: () => void;
follow: (event: MouseEvent) => void; follow: (event: MouseEvent) => void;
destroy(): void; destroy(): void;
} }

View File

@ -1,3 +1,3 @@
export * from "./PopPanel"; export * from "./PopPanel";
export * from "./AxisSectionPopPanel"; export * from "./AxisSectionPopPanel";
export * from "./PickSectionPopPanel"; export * from "./PickSectionPopPanel";

View File

@ -1,34 +1,34 @@
export interface ProgressItem { export interface ProgressItem {
id: string; id: string;
div: HTMLDivElement; div: HTMLDivElement;
} }
export declare class ProgressBar { export declare class ProgressBar {
private element; private element;
private progresseItems; private progresseItems;
constructor(parentElement: HTMLElement); constructor(parentElement: HTMLElement);
setVisible(visible: boolean): void; setVisible(visible: boolean): void;
/** /**
* Adds a progress item * Adds a progress item
* @param progressItemId * @param progressItemId
* @param message Initial message * @param message Initial message
* @param progress number between 0-100 * @param progress number between 0-100
*/ */
addProgressItem(progressItemId: string, message?: string): void; addProgressItem(progressItemId: string, message?: string): void;
/** /**
* Updates a progress item * Updates a progress item
* @param progressItemId * @param progressItemId
* @param message * @param message
* @param progress number between 0-100 * @param progress number between 0-100
*/ */
updateProgress(progressItemId: string, message?: string, progress?: number): void; updateProgress(progressItemId: string, message?: string, progress?: number): void;
/** /**
* Removes a progress item * Removes a progress item
* @param progressItemId * @param progressItemId
*/ */
removeProgressItem(progressItemId: string): void; removeProgressItem(progressItemId: string): void;
/** /**
* Removes a progress item after some time * Removes a progress item after some time
* @param progressItemId * @param progressItemId
*/ */
delayRemoveProgressItem(progressItemId: string, delayInMs?: number): void; delayRemoveProgressItem(progressItemId: string, delayInMs?: number): void;
} }

View File

@ -1 +1 @@
export * from "./ProgressBar"; export * from "./ProgressBar";

View File

@ -1,44 +1,44 @@
/** /**
* Perspective and Orthographic camera share the same settings * Perspective and Orthographic camera share the same settings
* @internal * @internal
*/ */
export interface CameraSettings { export interface CameraSettings {
near: number; near: number;
far: number; far: number;
} }
/** /**
* @internal * @internal
*/ */
export interface MouseSetting { export interface MouseSetting {
sensitivity: number; sensitivity: number;
} }
/** /**
* @internal * @internal
*/ */
export interface KeyboardSetting { export interface KeyboardSetting {
sensitivity: number; sensitivity: number;
} }
/** /**
* @internal * @internal
*/ */
export interface Settings { export interface Settings {
unit: string; unit: string;
decimalPrecision: number; decimalPrecision: number;
camera: CameraSettings; camera: CameraSettings;
mouse: MouseSetting; mouse: MouseSetting;
keyboard: KeyboardSetting; keyboard: KeyboardSetting;
} }
/** /**
* @internal * @internal
*/ */
export declare const defaultSettings: Settings; export declare const defaultSettings: Settings;
export declare const cameraNearRange: number[]; export declare const cameraNearRange: number[];
export declare const cameraFarRange: number[]; export declare const cameraFarRange: number[];
export declare const unitRange: { export declare const unitRange: {
[key: string]: string; [key: string]: string;
}; };
export declare const sensitivityRange: number[]; export declare const sensitivityRange: number[];
export declare const decimalPrecisionRange: { export declare const decimalPrecisionRange: {
[key: string]: number; [key: string]: number;
}; };
export declare const settingStoreKeyName = "THREE_RENDER_SETTING"; export declare const settingStoreKeyName = "THREE_RENDER_SETTING";

View File

@ -1 +1 @@
export * from "./ProjectSettingsDef"; export * from "./ProjectSettingsDef";

View File

@ -1,20 +1,20 @@
interface TooltipConfig { interface TooltipConfig {
showOnCreate?: boolean; showOnCreate?: boolean;
followPointer?: boolean; followPointer?: boolean;
parentNode?: HTMLElement; parentNode?: HTMLElement;
target?: HTMLElement; target?: HTMLElement;
} }
export declare class Tooltip { export declare class Tooltip {
private node; private node;
private parentNode; private parentNode;
private target; private target;
private childNode; private childNode;
constructor(id: string, content?: string | HTMLElement | null, cfg?: TooltipConfig); constructor(id: string, content?: string | HTMLElement | null, cfg?: TooltipConfig);
setContent(content: string | HTMLElement): void; setContent(content: string | HTMLElement): void;
updateChildContent(content: string | HTMLElement): void; updateChildContent(content: string | HTMLElement): void;
follow: (event: MouseEvent) => void; follow: (event: MouseEvent) => void;
show: () => false | void; show: () => false | void;
hide: () => false | void; hide: () => false | void;
destroy: () => void; destroy: () => void;
} }
export {}; export {};

View File

@ -1 +1 @@
export * from "./Tooltip"; export * from "./Tooltip";

View File

@ -1,276 +1,281 @@
/** /**
* Camera config * Camera config
*/ */
export interface CameraConfig { export interface CameraConfig {
/** /**
* The camera location * The camera location
*/ */
eye: number[]; eye: number[];
/** /**
* The location that the camera looks to * The location that the camera looks to
*/ */
look: number[]; look: number[];
/** /**
* @internal * @internal
*/ */
up?: number[]; up?: number[];
/** /**
* The camera's near clip plane * The camera zoom
*/ */
near?: number; zoom?: number;
/** /**
* The camera's far clip plane * The camera's near clip plane
*/ */
far?: number; near?: number;
} /**
/** * The camera's far clip plane
* Model config */
*/ far?: number;
export interface ModelConfig { }
/** /**
* Unique id of the model * Model config
*/ */
modelId?: string; export interface ModelConfig {
/** /**
* Model name * Unique id of the model
*/ */
name?: string; modelId?: string;
/** /**
* Source url of the model * Model name
*/ */
src: string; name?: string;
/** /**
* Used to distinguish format, because it may be hard to know the format by src! * Source url of the model
* @internal */
*/ src: string;
fileFormat?: string; /**
/** * Used to distinguish format, because it may be hard to know the format by src!
* File encoding, can be used by dxf. Common encoding include "UTF-8", "gb2312", etc. * @internal
* @internal */
*/ fileFormat?: string;
encoding?: string; /**
/** * File encoding, can be used by dxf. Common encoding include "UTF-8", "gb2312", etc.
* A float array of length 16, definds model's position, rotation and scale * @internal
*/ */
matrix?: number[]; encoding?: string;
/** /**
* If we want to merge meshes/lines/points with the same material * A float array of length 16, definds model's position, rotation and scale
* @internal */
* @default false matrix?: number[];
*/ /**
merge?: boolean; * If we want to merge meshes/lines/points with the same material
/** * @internal
* If we want to generate and show edges/outlines to the modle. * @default false
* It is useful for BimViewer. */
* @internal merge?: boolean;
*/ /**
edges?: boolean; * If we want to generate and show edges/outlines to the modle.
/** * It is useful for BimViewer.
* If this model is visible by default. * @internal
* @internal */
*/ edges?: boolean;
visible?: boolean; /**
} * If this model is visible by default.
/** * @internal
* Dxf model config */
*/ visible?: boolean;
export interface DxfModelConfig extends ModelConfig { }
/** /**
* If to ignore anything of paper space. * Dxf model config
* There are some scenarios to ignore paper space by default, includes: */
* - Dxf overlay, aka, loading more than one dxf files into a viewer. We'll only load model space for the first file. export interface DxfModelConfig extends ModelConfig {
* - Dxf compare. Since we'll only compare model space, it won't load paper space at all. /**
* * If to ignore anything of paper space.
* This option is useful when user want to explicitly ignore paper space. * There are some scenarios to ignore paper space by default, includes:
* @default false * - Dxf overlay, aka, loading more than one dxf files into a viewer. We'll only load model space for the first file.
*/ * - Dxf compare. Since we'll only compare model space, it won't load paper space at all.
ignorePaperSpace?: boolean; *
/** * This option is useful when user want to explicitly ignore paper space.
* Applies this color to everything in this model. * @default false
* This allows user to show a drawing with a pure color (black, white, etc.). */
* Color value is between 0 and 1, e.g., [1, 0, 0] means 'red'. ignorePaperSpace?: boolean;
*/ /**
overrideColor?: number[]; * Applies this color to everything in this model.
} * This allows user to show a drawing with a pure color (black, white, etc.).
/** * Color value is between 0 and 1, e.g., [1, 0, 0] means 'red'.
* Common viewer config */
*/ overrideColor?: number[];
export interface BaseViewerConfig { }
/** /**
* @description canvas id to contain the viewer. * Common viewer config
*/ */
containerId: string; export interface BaseViewerConfig {
/** /**
* @internal * @description canvas id to contain the viewer.
*/ */
language?: "cn" | "en"; containerId: string;
/** /**
* @internal * @internal
*/ */
logLevel?: "debug" | "info" | "warn" | "error" | "silent"; language?: "cn" | "en";
/** /**
* @internal * @internal
*/ */
enableSpinner?: boolean; logLevel?: "debug" | "info" | "warn" | "error" | "silent";
/** /**
* @internal * @internal
*/ */
enableProgressBar?: boolean; enableSpinner?: boolean;
/** /**
* @description just for react native * @internal
* @internal */
*/ enableProgressBar?: boolean;
context?: WebGLRenderingContext | WebGL2RenderingContext; /**
/** * @description just for react native
* @description just for react native * @internal
* @internal */
*/ context?: WebGLRenderingContext | WebGL2RenderingContext;
context2d?: CanvasRenderingContext2D; /**
} * @description just for react native
/** * @internal
* This wrappers most config for BimViewer */
*/ context2d?: CanvasRenderingContext2D;
export interface BimViewerConfig extends BaseViewerConfig { }
/** /**
* If user can select an entity by mouse click * This wrappers most config for BimViewer
* @internal */
* @default true export interface BimViewerConfig extends BaseViewerConfig {
*/ /**
enableSelection?: boolean; * If user can select an entity by mouse click
/** * @internal
* Default is `meters` * @default true
* @internal */
*/ enableSelection?: boolean;
units?: string; /**
/** * Default is `meters`
* Sets the default locale * @internal
* @internal */
*/ units?: string;
locale?: "cn" | "en"; /**
} * Sets the default locale
/** * @internal
* This wrappers most config for DxfViewer */
*/ locale?: "cn" | "en";
export interface DxfViewerConfig extends BaseViewerConfig { }
/** /**
* Enables layout bar so we can switch to other layouts. * This wrappers most config for DxfViewer
* The default layout bar is an example UI of the viewer, since plenty of APIs are exposed, */
* you are recommended to create your own layout bar with customized style, location, etc. export interface DxfViewerConfig extends BaseViewerConfig {
*/ /**
enableLayoutBar?: boolean; * Enables layout bar so we can switch to other layouts.
/** * The default layout bar is an example UI of the viewer, since plenty of APIs are exposed,
* If to cache model into indexeddb (or maybe local storage in future). * you are recommended to create your own layout bar with customized style, location, etc.
* If enabled, it will get model data from cache the next time model is loaded. */
* @internal enableLayoutBar?: boolean;
* @default true /**
*/ * If to cache model into indexeddb (or maybe local storage in future).
enableLocalCache?: boolean; * If enabled, it will get model data from cache the next time model is loaded.
/** * @internal
* If user can select an entity by mouse click * @default true
* @internal */
* @default false enableLocalCache?: boolean;
*/ /**
enableSelection?: boolean; * If user can select an entity by mouse click
} * @internal
/** * @default false
* Dxf compare config. */
*/ enableSelection?: boolean;
export interface DxfCompareConfig { }
/** /**
* Enables to compare properties (color, linetype, line width, etc.) * Dxf compare config.
*/ */
enableDetailComparision: boolean; export interface DxfCompareConfig {
} /**
/** * Enables to compare properties (color, linetype, line width, etc.)
* This wrappers most config for VRViewer */
*/ enableDetailComparision: boolean;
export interface VRViewerConfig extends BaseViewerConfig { }
autoRotateSpeed?: number; /**
} * This wrappers most config for VRViewer
/** */
* VR Viewpoint's hotpoint, which can be a user defined html element. export interface VRViewerConfig extends BaseViewerConfig {
* A hotpoint can be clicked, then caller can do their own operation, autoRotateSpeed?: number;
* e.g. open a description panel, jump to another viewpoint, etc. enableCache?: boolean;
*/ }
export interface Hotpoint { /**
hotpointId: string; * VR Viewpoint's hotpoint, which can be a user defined html element.
anchorPosition: number[]; * A hotpoint can be clicked, then caller can do their own operation,
visible?: boolean; * e.g. open a description panel, jump to another viewpoint, etc.
html: string; */
} export interface Hotpoint {
/** hotpointId: string;
* A VRViewpointPlan contains 1 or more panor anchorPosition: number[];
* A viewpoint may contain more than one plans visible?: boolean;
*/ html: string;
export interface Panorama { }
id: string; /**
/** * A VRViewpointPlan contains 1 or more panor
* 1, 6 or 24 image urls in order of right, left, up, down, front, back. * A viewpoint may contain more than one plans
* When there is 1 image, caller should also put it into array! */
*/ export interface Panorama {
images: string[]; id: string;
/** /**
* 6 image urls in order of right, left, up, down, front, back * 1, 6 or 24 image urls in order of right, left, up, down, front, back.
*/ * When there is 1 image, caller should also put it into array!
thumbnails?: string[]; */
} images: string[];
export interface VRViewpoint { /**
/** * 6 image urls in order of right, left, up, down, front, back
* @deprecated moved to VRViewpointPlan */
*/ thumbnails?: string[];
imageOrImages?: string | string[]; }
/** export interface VRViewpoint {
* @deprecated moved to VRViewpointPlan /**
*/ * @deprecated moved to VRViewpointPlan
thumbnailImages?: string[]; */
panoramas: Panorama[]; imageOrImages?: string | string[];
id: string; /**
name?: string; * @deprecated moved to VRViewpointPlan
position?: number[]; */
initialDirection?: number[]; thumbnailImages?: string[];
hotpoints?: Hotpoint[]; panoramas: Panorama[];
} id: string;
/** name?: string;
* A default BimViewerConfig as a template, which enables most plugins. position?: number[];
* @internal initialDirection?: number[];
*/ hotpoints?: Hotpoint[];
export declare const DEFAULT_BIM_VIEWER_CONFIG: BimViewerConfig; }
/** /**
* @internal * A default BimViewerConfig as a template, which enables most plugins.
*/ * @internal
export interface IsolateObjectsParam { */
id: string; export declare const DEFAULT_BIM_VIEWER_CONFIG: BimViewerConfig;
modelId: string; /**
} * @internal
/** */
* @internal export interface IsolateObjectsParam {
*/ id: string;
export interface IsolateObjectsParams { modelId: string;
familyInstanceIds: IsolateObjectsParam[]; }
} /**
/** * @internal
* @internal */
*/ export interface IsolateObjectsParams {
export interface ScreenshotConfig { familyInstanceIds: IsolateObjectsParam[];
type: string; }
quality: number; /**
includeOverlay: boolean; * @internal
} */
/** export interface ScreenshotConfig {
* Icon class. type: string;
* Used by toolbar and bottom bar icons, etc. quality: number;
*/ includeOverlay: boolean;
export interface IconClass { }
/** /**
* The default icon. * Icon class.
*/ * Used by toolbar and bottom bar icons, etc.
default: string; */
/** export interface IconClass {
* The icon when item is actived. /**
*/ * The default icon.
active?: string; */
/** default: string;
* The icon font class name. /**
*/ * The icon when item is actived.
iconFont?: string; */
} active?: string;
/**
* The icon font class name.
*/
iconFont?: string;
}

View File

@ -1,164 +1,164 @@
/** /**
* To improve performance, we can set object.matrixAutoUpdate = false for static or rarely moving objects and * To improve performance, we can set object.matrixAutoUpdate = false for static or rarely moving objects and
* manually call object.updateMatrix() whenever their position/rotation/quaternion/scale are updated. * manually call object.updateMatrix() whenever their position/rotation/quaternion/scale are updated.
* Add a constrant here, so developer can change it here easily for debugging. * Add a constrant here, so developer can change it here easily for debugging.
* @internal * @internal
*/ */
export declare const matrixAutoUpdate = false; export declare const matrixAutoUpdate = false;
/** /**
* @internal * @internal
*/ */
export declare const sceneAutoUpdate = false; export declare const sceneAutoUpdate = false;
/** /**
* These concept can be complex: hitable, snapable, selectable, visible * These concept can be complex: hitable, snapable, selectable, visible
* Mesh Y Y Y Y * Mesh Y Y Y Y
* text in DxfViewer Y N Y Y * text in DxfViewer Y N Y Y
* ground plan Y Y N Y * ground plan Y Y N Y
* outline N Y N Y * outline N Y N Y
* OSnap auxiliary object N Y N N * OSnap auxiliary object N Y N N
* *
* So, we must handle them properly. We'll try to put them into different layers. * So, we must handle them properly. We'll try to put them into different layers.
* *
* For each created object with geometry and material, the default layer is set to enableAll. * For each created object with geometry and material, the default layer is set to enableAll.
* If the object is only displayed, it is not necessary to call enableAll. For example, some auxiliary display objects. * If the object is only displayed, it is not necessary to call enableAll. For example, some auxiliary display objects.
* For objects that cannot be hitable, snapable, selectable, etc., call ObjectUtils.disableLayerChannels to exclude the corresponding channel. * For objects that cannot be hitable, snapable, selectable, etc., call ObjectUtils.disableLayerChannels to exclude the corresponding channel.
* @example * @example
* ``` typescript * ``` typescript
* this.groundPlane.layers.enableAll(); * this.groundPlane.layers.enableAll();
* ObjectUtils.disableLayerChannels(this.groundPlane, [layerForSelectableObjects]); * ObjectUtils.disableLayerChannels(this.groundPlane, [layerForSelectableObjects]);
* ``` * ```
*/ */
/** /**
* @internal * @internal
*/ */
export declare const layerForHitableObjects = 10; export declare const layerForHitableObjects = 10;
/** /**
* @internal * @internal
*/ */
export declare const layerForSnapableObjects = 11; export declare const layerForSnapableObjects = 11;
/** /**
* @internal * @internal
*/ */
export declare const layerForSelectableObjects = 12; export declare const layerForSelectableObjects = 12;
/** /**
* @internal * @internal
*/ */
export declare const ICON_FONT_CLASS = "gemini-viewer-iconfont"; export declare const ICON_FONT_CLASS = "gemini-viewer-iconfont";
/** /**
* @internal * @internal
*/ */
export declare const KEYDOWN_EVENT = "keydown"; export declare const KEYDOWN_EVENT = "keydown";
/** /**
* @internal * @internal
*/ */
export declare const KEYUP_EVENT = "keyup"; export declare const KEYUP_EVENT = "keyup";
/** /**
* @internal * @internal
*/ */
export declare const MOUSEMOVE_EVENT = "mousemove"; export declare const MOUSEMOVE_EVENT = "mousemove";
/** /**
* @internal * @internal
*/ */
export declare const MOUSEUP_EVENT = "mouseup"; export declare const MOUSEUP_EVENT = "mouseup";
/** /**
* @internal * @internal
*/ */
export declare const MOUSEDOWN_EVENT = "mousedown"; export declare const MOUSEDOWN_EVENT = "mousedown";
/** /**
* @internal * @internal
*/ */
export declare const ESC_KEY = "Escape"; export declare const ESC_KEY = "Escape";
/** /**
* @internal * @internal
*/ */
export declare const ENTER_KEY = "Enter"; export declare const ENTER_KEY = "Enter";
/** /**
* @internal * @internal
*/ */
export declare const AXIS_SECTION_PLANE_ID = "axis-section-plane"; export declare const AXIS_SECTION_PLANE_ID = "axis-section-plane";
/** /**
* @internal * @internal
*/ */
export declare const AXIS_SECTION_PLANE_CONTROL_ID = "axis-section-plane-control"; export declare const AXIS_SECTION_PLANE_CONTROL_ID = "axis-section-plane-control";
/** /**
* @internal * @internal
*/ */
export declare const SECTION_PLANE_ID = "section-plane"; export declare const SECTION_PLANE_ID = "section-plane";
/** /**
* @internal * @internal
*/ */
export declare const SECTION_PLANE_CONTROL_ID = "section-plane-control"; export declare const SECTION_PLANE_CONTROL_ID = "section-plane-control";
/** /**
* @internal * @internal
*/ */
export declare const SECTION_BOX_ID = "section-box"; export declare const SECTION_BOX_ID = "section-box";
/** /**
* @internal * @internal
*/ */
export declare const SECTION_PLANE_NAME = "plane-section-boxface"; export declare const SECTION_PLANE_NAME = "plane-section-boxface";
/** /**
* @internal * @internal
*/ */
export declare const GROUND_PLANE_RENDER_ORDER = -1000; export declare const GROUND_PLANE_RENDER_ORDER = -1000;
/** /**
* @internal * @internal
* Angle threshold at which two plane normals are parallel. Used to calculate edges. * Angle threshold at which two plane normals are parallel. Used to calculate edges.
*/ */
export declare const ANGLE_THRESHOLD_FOR_EDGE = 10; export declare const ANGLE_THRESHOLD_FOR_EDGE = 10;
/** /**
* Section type * Section type
*/ */
export declare enum SectionType { export declare enum SectionType {
ObjectsBoxSection = "ObjectsBoxSection", ObjectsBoxSection = "ObjectsBoxSection",
PickPlaneSection = "PickPlaneSection", PickPlaneSection = "PickPlaneSection",
AxisPlaneSection = "AxisPlaneSection" AxisPlaneSection = "AxisPlaneSection"
} }
/** /**
* Screenshot mode. * Screenshot mode.
*/ */
export declare enum ScreenshotMode { export declare enum ScreenshotMode {
/** /**
* Take screenshot of the whole canvas. * Take screenshot of the whole canvas.
*/ */
Default = "Default", Default = "Default",
/** /**
* Take screenshot by box selecting an area. * Take screenshot by box selecting an area.
*/ */
BoxSelection = "BoxSelection", BoxSelection = "BoxSelection",
/** /**
* Take screenshot by picking a markup. * Take screenshot by picking a markup.
*/ */
PickMarkup = "PickMarkup" PickMarkup = "PickMarkup"
} }
export interface Vector2 { export interface Vector2 {
x: number; x: number;
y: number; y: number;
} }
export interface Vector3 { export interface Vector3 {
x: number; x: number;
y: number; y: number;
z: number; z: number;
} }
export declare type Box = [number, number, number, number, number, number]; export declare type Box = [number, number, number, number, number, number];
export declare type Mat4 = [ export declare type Mat4 = [
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number, number,
number number
] | Float32Array; ] | Float32Array;
export interface Box2 { export interface Box2 {
min: Vector2; min: Vector2;
max: Vector2; max: Vector2;
} }

View File

@ -1,16 +1,16 @@
/** /**
* Units are defined the same order as to Dxf format * Units are defined the same order as to Dxf format
*/ */
export declare enum Units { export declare enum Units {
Unitless = "Unitless", Unitless = "Unitless",
Inches = "Inches", Inches = "Inches",
Feet = "Feet", Feet = "Feet",
Millimeters = "Millimeters", Millimeters = "Millimeters",
Centimeters = "Centimeters", Centimeters = "Centimeters",
Meters = "Meters" Meters = "Meters"
} }
/** /**
* Gets the unit scale when converting to meter * Gets the unit scale when converting to meter
*/ */
export declare const unitScaleToMeter: (srcUnit: Units) => number; export declare const unitScaleToMeter: (srcUnit: Units) => number;
export declare const unitScaleConversion: (srcUnit: Units, destUnit: Units) => number; export declare const unitScaleConversion: (srcUnit: Units, destUnit: Units) => number;

View File

@ -1,3 +1,3 @@
export declare const getVersionFromLocalStorage: () => string | null; export declare const getVersionFromLocalStorage: () => string | null;
export declare const setVersionToLocalStorage: () => void; export declare const setVersionToLocalStorage: () => void;
export declare const checkIsNewVersion: () => boolean; export declare const checkIsNewVersion: () => boolean;

File diff suppressed because it is too large Load Diff

View File

@ -1,2 +1,2 @@
export declare const PI_2: number; export declare const PI_2: number;
export declare const PI_HALF: number; export declare const PI_HALF: number;

View File

@ -1,41 +1,41 @@
export declare type Listener = (event?: DispatcherEvent) => void; export declare type Listener = (event?: DispatcherEvent) => void;
export interface DispatcherEvent { export interface DispatcherEvent {
type: string; type: string;
[key: string]: any; [key: string]: any;
} }
export declare class EventDispatcher { export declare class EventDispatcher {
private _listeners; private _listeners;
/** /**
* Adds the specified event listener. * Adds the specified event listener.
* @param type event name * @param type event name
* @param listener handler function * @param listener handler function
* @category Methods * @category Methods
*/ */
addEventListener(type: string, listener: Listener): void; addEventListener(type: string, listener: Listener): void;
/** /**
* Presence of the specified event listener. * Presence of the specified event listener.
* @param type event name * @param type event name
* @param listener handler function * @param listener handler function
* @category Methods * @category Methods
*/ */
hasEventListener(type: string, listener: Listener): boolean; hasEventListener(type: string, listener: Listener): boolean;
/** /**
* Removes the specified event listener * Removes the specified event listener
* @param type event name * @param type event name
* @param listener handler function * @param listener handler function
* @category Methods * @category Methods
*/ */
removeEventListener(type: string, listener: Listener): void; removeEventListener(type: string, listener: Listener): void;
/** /**
* Removes all event listeners * Removes all event listeners
* @param type event name * @param type event name
* @category Methods * @category Methods
*/ */
removeAllEventListeners(type?: string): void; removeAllEventListeners(type?: string): void;
/** /**
* Fire an event type. * Fire an event type.
* @param event DispatcherEvent * @param event DispatcherEvent
* @category Methods * @category Methods
*/ */
dispatchEvent(event: DispatcherEvent): void; dispatchEvent(event: DispatcherEvent): void;
} }

View File

@ -1,2 +1,2 @@
import { CameraControls } from './CameraControls'; import { CameraControls } from './CameraControls';
export default CameraControls; export default CameraControls;

View File

@ -1,112 +1,112 @@
import type * as _THREE from 'three'; import type * as _THREE from 'three';
export interface THREESubset { export interface THREESubset {
Vector2: typeof _THREE.Vector2; Vector2: typeof _THREE.Vector2;
Vector3: typeof _THREE.Vector3; Vector3: typeof _THREE.Vector3;
Vector4: typeof _THREE.Vector4; Vector4: typeof _THREE.Vector4;
Quaternion: typeof _THREE.Quaternion; Quaternion: typeof _THREE.Quaternion;
Matrix4: typeof _THREE.Matrix4; Matrix4: typeof _THREE.Matrix4;
Spherical: typeof _THREE.Spherical; Spherical: typeof _THREE.Spherical;
Box3: typeof _THREE.Box3; Box3: typeof _THREE.Box3;
Sphere: typeof _THREE.Sphere; Sphere: typeof _THREE.Sphere;
Raycaster: typeof _THREE.Raycaster; Raycaster: typeof _THREE.Raycaster;
[key: string]: any; [key: string]: any;
} }
export declare type Ref = { export declare type Ref = {
value: number; value: number;
}; };
export declare const MOUSE_BUTTON: { export declare const MOUSE_BUTTON: {
readonly LEFT: 1; readonly LEFT: 1;
readonly RIGHT: 2; readonly RIGHT: 2;
readonly MIDDLE: 4; readonly MIDDLE: 4;
}; };
export declare type MOUSE_BUTTON = typeof MOUSE_BUTTON[keyof typeof MOUSE_BUTTON]; export declare type MOUSE_BUTTON = typeof MOUSE_BUTTON[keyof typeof MOUSE_BUTTON];
export declare const ACTION: Readonly<{ export declare const ACTION: Readonly<{
readonly NONE: 0; readonly NONE: 0;
readonly ROTATE: 1; readonly ROTATE: 1;
readonly TRUCK: 2; readonly TRUCK: 2;
readonly OFFSET: 4; readonly OFFSET: 4;
readonly DOLLY: 8; readonly DOLLY: 8;
readonly ZOOM: 16; readonly ZOOM: 16;
readonly TOUCH_ROTATE: 32; readonly TOUCH_ROTATE: 32;
readonly TOUCH_TRUCK: 64; readonly TOUCH_TRUCK: 64;
readonly TOUCH_OFFSET: 128; readonly TOUCH_OFFSET: 128;
readonly TOUCH_DOLLY: 256; readonly TOUCH_DOLLY: 256;
readonly TOUCH_ZOOM: 512; readonly TOUCH_ZOOM: 512;
readonly TOUCH_DOLLY_TRUCK: 1024; readonly TOUCH_DOLLY_TRUCK: 1024;
readonly TOUCH_DOLLY_OFFSET: 2048; readonly TOUCH_DOLLY_OFFSET: 2048;
readonly TOUCH_DOLLY_ROTATE: 4096; readonly TOUCH_DOLLY_ROTATE: 4096;
readonly TOUCH_ZOOM_TRUCK: 8192; readonly TOUCH_ZOOM_TRUCK: 8192;
readonly TOUCH_ZOOM_OFFSET: 16384; readonly TOUCH_ZOOM_OFFSET: 16384;
readonly TOUCH_ZOOM_ROTATE: 32768; readonly TOUCH_ZOOM_ROTATE: 32768;
}>; }>;
export declare type ACTION = number; export declare type ACTION = number;
export interface PointerInput { export interface PointerInput {
pointerId: number; pointerId: number;
clientX: number; clientX: number;
clientY: number; clientY: number;
deltaX: number; deltaX: number;
deltaY: number; deltaY: number;
mouseButton: MOUSE_BUTTON | null; mouseButton: MOUSE_BUTTON | null;
} }
/** /**
* @internal * @internal
*/ */
export declare type mouseButtonAction = typeof ACTION.ROTATE | typeof ACTION.TRUCK | typeof ACTION.OFFSET | typeof ACTION.DOLLY | typeof ACTION.ZOOM | typeof ACTION.NONE; export declare type mouseButtonAction = typeof ACTION.ROTATE | typeof ACTION.TRUCK | typeof ACTION.OFFSET | typeof ACTION.DOLLY | typeof ACTION.ZOOM | typeof ACTION.NONE;
/** /**
* @internal * @internal
*/ */
export declare type mouseWheelAction = typeof ACTION.ROTATE | typeof ACTION.TRUCK | typeof ACTION.OFFSET | typeof ACTION.DOLLY | typeof ACTION.ZOOM | typeof ACTION.NONE; export declare type mouseWheelAction = typeof ACTION.ROTATE | typeof ACTION.TRUCK | typeof ACTION.OFFSET | typeof ACTION.DOLLY | typeof ACTION.ZOOM | typeof ACTION.NONE;
/** /**
* @internal * @internal
*/ */
export declare type singleTouchAction = typeof ACTION.TOUCH_ROTATE | typeof ACTION.TOUCH_TRUCK | typeof ACTION.TOUCH_OFFSET | typeof ACTION.DOLLY | typeof ACTION.ZOOM | typeof ACTION.NONE; export declare type singleTouchAction = typeof ACTION.TOUCH_ROTATE | typeof ACTION.TOUCH_TRUCK | typeof ACTION.TOUCH_OFFSET | typeof ACTION.DOLLY | typeof ACTION.ZOOM | typeof ACTION.NONE;
/** /**
* @internal * @internal
*/ */
export declare type multiTouchAction = typeof ACTION.TOUCH_DOLLY_ROTATE | typeof ACTION.TOUCH_DOLLY_TRUCK | typeof ACTION.TOUCH_DOLLY_OFFSET | typeof ACTION.TOUCH_ZOOM_ROTATE | typeof ACTION.TOUCH_ZOOM_TRUCK | typeof ACTION.TOUCH_ZOOM_OFFSET | typeof ACTION.TOUCH_DOLLY | typeof ACTION.TOUCH_ZOOM | typeof ACTION.TOUCH_ROTATE | typeof ACTION.TOUCH_TRUCK | typeof ACTION.TOUCH_OFFSET | typeof ACTION.NONE; export declare type multiTouchAction = typeof ACTION.TOUCH_DOLLY_ROTATE | typeof ACTION.TOUCH_DOLLY_TRUCK | typeof ACTION.TOUCH_DOLLY_OFFSET | typeof ACTION.TOUCH_ZOOM_ROTATE | typeof ACTION.TOUCH_ZOOM_TRUCK | typeof ACTION.TOUCH_ZOOM_OFFSET | typeof ACTION.TOUCH_DOLLY | typeof ACTION.TOUCH_ZOOM | typeof ACTION.TOUCH_ROTATE | typeof ACTION.TOUCH_TRUCK | typeof ACTION.TOUCH_OFFSET | typeof ACTION.NONE;
export interface MouseButtons { export interface MouseButtons {
left: mouseButtonAction; left: mouseButtonAction;
middle: mouseButtonAction; middle: mouseButtonAction;
right: mouseButtonAction; right: mouseButtonAction;
wheel: mouseWheelAction; wheel: mouseWheelAction;
} }
export interface Touches { export interface Touches {
one: singleTouchAction; one: singleTouchAction;
two: multiTouchAction; two: multiTouchAction;
three: multiTouchAction; three: multiTouchAction;
} }
export interface FitToOptions { export interface FitToOptions {
cover: boolean; cover: boolean;
paddingLeft: number; paddingLeft: number;
paddingRight: number; paddingRight: number;
paddingBottom: number; paddingBottom: number;
paddingTop: number; paddingTop: number;
} }
export interface CameraControlsEventMap { export interface CameraControlsEventMap {
update: { update: {
type: 'update'; type: 'update';
}; };
wake: { wake: {
type: 'wake'; type: 'wake';
}; };
rest: { rest: {
type: 'rest'; type: 'rest';
}; };
sleep: { sleep: {
type: 'sleep'; type: 'sleep';
}; };
transitionstart: { transitionstart: {
type: 'transitionstart'; type: 'transitionstart';
}; };
controlstart: { controlstart: {
type: 'controlstart'; type: 'controlstart';
}; };
control: { control: {
type: 'control'; type: 'control';
}; };
controlend: { controlend: {
type: 'controlend'; type: 'controlend';
}; };
} }
export declare function isPerspectiveCamera(camera: _THREE.Camera): camera is _THREE.PerspectiveCamera; export declare function isPerspectiveCamera(camera: _THREE.Camera): camera is _THREE.PerspectiveCamera;
export declare function isOrthographicCamera(camera: _THREE.Camera): camera is _THREE.OrthographicCamera; export declare function isOrthographicCamera(camera: _THREE.Camera): camera is _THREE.OrthographicCamera;

View File

@ -1,3 +1,3 @@
import type * as _THREE from 'three'; import type * as _THREE from 'three';
import type { PointerInput } from '../types'; import type { PointerInput } from '../types';
export declare function extractClientCoordFromEvent(pointers: PointerInput[], out: _THREE.Vector2): void; export declare function extractClientCoordFromEvent(pointers: PointerInput[], out: _THREE.Vector2): void;

View File

@ -1,11 +1,11 @@
import type * as _THREE from 'three'; import type * as _THREE from 'three';
import type { Ref } from '../types'; import type { Ref } from '../types';
export declare const DEG2RAD: number; export declare const DEG2RAD: number;
export declare function clamp(value: number, min: number, max: number): number; export declare function clamp(value: number, min: number, max: number): number;
export declare function approxZero(number: number, error?: number): boolean; export declare function approxZero(number: number, error?: number): boolean;
export declare function approxEquals(a: number, b: number, error?: number): boolean; export declare function approxEquals(a: number, b: number, error?: number): boolean;
export declare function roundToStep(value: number, step: number): number; export declare function roundToStep(value: number, step: number): number;
export declare function infinityToMaxNumber(value: number): number; export declare function infinityToMaxNumber(value: number): number;
export declare function maxNumberToInfinity(value: number): number; export declare function maxNumberToInfinity(value: number): number;
export declare function smoothDamp(current: number, target: number, currentVelocityRef: Ref, smoothTime: number, maxSpeed: number | undefined, deltaTime: number): number; export declare function smoothDamp(current: number, target: number, currentVelocityRef: Ref, smoothTime: number, maxSpeed: number | undefined, deltaTime: number): number;
export declare function smoothDampVec3(current: _THREE.Vector3, target: _THREE.Vector3, currentVelocityRef: _THREE.Vector3, smoothTime: number, maxSpeed: number | undefined, deltaTime: number, out: _THREE.Vector3): _THREE.Vector3; export declare function smoothDampVec3(current: _THREE.Vector3, target: _THREE.Vector3, currentVelocityRef: _THREE.Vector3, smoothTime: number, maxSpeed: number | undefined, deltaTime: number, out: _THREE.Vector3): _THREE.Vector3;

View File

@ -1,2 +1,2 @@
import * as _THREE from 'three'; import * as _THREE from 'three';
export declare function notSupportedInOrthographicCamera(camera: _THREE.OrthographicCamera | _THREE.PerspectiveCamera, message: string): camera is _THREE.OrthographicCamera; export declare function notSupportedInOrthographicCamera(camera: _THREE.OrthographicCamera | _THREE.PerspectiveCamera, message: string): camera is _THREE.OrthographicCamera;

View File

@ -0,0 +1,78 @@
import * as THREE from "three";
import { CameraConfig } from "../../core/Configs";
import CameraControls from "../../core/camera-controls";
import { Control, NavigationModes } from "../../core/controls/Control";
import { type BaseViewer } from "../../core/viewers/BaseViewer";
export declare enum CameraProjections {
Perspective = 0,
Orthographic = 1
}
export declare type CameraInfo = CameraConfig;
export declare class CameraManager {
viewer: BaseViewer;
readonly perspectiveCamera: THREE.PerspectiveCamera;
readonly orthographicCamera: THREE.OrthographicCamera;
activeCamera: THREE.PerspectiveCamera | THREE.OrthographicCamera;
readonly cameraControls: CameraControls;
private previousDistance;
private previousAzimuthRotateSpeed;
private previousPolarRotateSpeed;
private previousDollySpeed;
private previousTruckSpeed;
private previousMouseLeft;
protected enableKeyDown: boolean;
navMode: Record<string, Control>;
currentNavMode: Control;
currentProjection: CameraProjections;
protected anchor: HTMLElement;
constructor(viewer: BaseViewer);
get viewerContainer(): HTMLElement;
get inputManager(): import("../../core/input/InputManager").InputManager;
private createAnchor;
protected setAnchorPosition(x: number, y: number): void;
setOrbitPointVisible(visible: boolean): void;
private setOrthoCameraAspect;
private setupCameras;
private setCameraPositionAndTarget;
private setupControls;
private onKeyDown;
private onChange;
setOrthoCamera(): void;
private getDims;
private setupOrthoCamera;
private setPerspectiveCamera;
update(delta: number): boolean;
updateAspect(): void;
get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
enableKeyControl(enable: boolean): void;
getTarget(): THREE.Vector3;
getPosition(): THREE.Vector3;
adjustCameraByBbox(bbox: THREE.Box3): void;
enableControl(active: boolean): void;
enableRotate(enable: boolean): void;
enableZoom(enable: boolean): void;
enablePan(enable: boolean): void;
enableMouseLeft(enable: boolean): void;
setCameraPosition(position: THREE.Vector3): void;
setCameraTarget(target: THREE.Vector3): void;
flyTo(position: THREE.Vector3, lookAt: THREE.Vector3): void;
flyToPosition(x: number, y: number, z: number): void;
flyToBox(box: THREE.Box3): void;
fitToSphere(box: THREE.Object3D | THREE.Sphere): void;
flyToObject(object: THREE.Object3D): void;
getDistanceToFitSphere(radius: number): number;
setNavigationMode(mode: NavigationModes): void;
setProjection(projection: CameraProjections): void;
setOrbitPoint(point: THREE.Vector3): void;
getCameraDirection(): THREE.Vector3;
getCameraInfo(): {
near: number;
far: number;
zoom: number;
eye: THREE.Vector3Tuple;
up: THREE.Vector3Tuple;
look: THREE.Vector3Tuple;
};
setCameraInfo(cameraInfo: CameraInfo): void;
destroy(): void;
}

View File

@ -0,0 +1 @@
export * from "./CameraManager";

View File

@ -1,52 +1,53 @@
import * as THREE from "three"; import * as THREE from "three";
import { DrawableData } from "./Constants"; import { DrawableData } from "./Constants";
import { Drawable } from "./Drawable"; import { Drawable } from "./Drawable";
import type { DrawableList } from "./DrawableList"; import type { DrawableList } from "./DrawableList";
import { Event } from "../../core/utils"; import { Event } from "../../core/utils";
import type { BimViewer, DxfViewer } from "../../core/viewers"; import type { BaseViewer } from "../../core/viewers";
/** /**
* @internal * @internal
*/ */
export declare type constructorReturnType<T> = new (...arg: any) => T; export declare type constructorReturnType<T> = new (...arg: any) => T;
/** /**
* @internal * @internal
*/ */
export declare class CanvasRender extends Event { export declare class CanvasRender extends Event {
private viewer; private viewer;
private drawableLists; private drawableLists;
private canvas?; private canvas?;
context?: CanvasRenderingContext2D; context?: CanvasRenderingContext2D;
private frustum; private frustum;
private projScreenMatrix; private projScreenMatrix;
static _registerDrawableClass(drawable: constructorReturnType<Drawable>): void; static _registerDrawableClass(drawable: constructorReturnType<Drawable>): void;
static createDrawable(data: DrawableData): Drawable<Record<string, unknown>>; static createDrawable(data: DrawableData): Drawable<Record<string, unknown>>;
constructor(viewer: BimViewer | DxfViewer); constructor(viewer: BaseViewer);
get is3d(): boolean; get is3d(): boolean;
get container(): HTMLElement; get container(): HTMLElement;
get camera(): THREE.Camera; get camera(): THREE.Camera;
get raycaster(): THREE.Raycaster; get raycaster(): THREE.Raycaster;
private init; private init;
private initCanvas; private initCanvas;
private toHighDpr; private toHighDpr;
clearCanvas(): void; clearCanvas(): void;
addDrawableList(drawableList: DrawableList): void; addDrawableList(drawableList: DrawableList): void;
render(): void; render(): void;
setSize(width: number, height: number): void; setSize(width: number, height: number): void;
getSortedDrawables(onlyVisible?: boolean): Drawable<Record<string, unknown>>[]; getSortedDrawables(onlyVisible?: boolean): Drawable<Record<string, unknown>>[];
getDrawablesByPosition(p: THREE.Vector3, raycaster?: THREE.Raycaster): Drawable[]; getDrawablesByDrawableListAndPosition(drawList: DrawableList, p: THREE.Vector3): Drawable<Record<string, unknown>> | undefined;
getDrawableById(id: string): Drawable<Record<string, unknown>> | undefined; getDrawablesByPosition(p: THREE.Vector3): Drawable[];
measureTextLength(text: string, font: string): number; getDrawableById(id: string): Drawable<Record<string, unknown>> | undefined;
/** measureTextLength(text: string, font: string): number;
* /**
* @param option *
* @returns * @param option
* @deprecated * @returns
*/ * @deprecated
screenshot(option?: { */
type: string; screenshot(option?: {
quality: number; type: string;
}): Promise<string | undefined>; quality: number;
getImage(filter: (drawable: Drawable) => boolean): Promise<HTMLImageElement>; }): Promise<string | undefined>;
getCanvas(): HTMLCanvasElement | undefined; getImage(filter: (drawable: Drawable) => boolean): Promise<HTMLImageElement>;
destroy(): void; getCanvas(): HTMLCanvasElement | undefined;
} destroy(): void;
}

View File

@ -1,28 +1,28 @@
/** /**
* Drawable data, including measurement data, markup data, etc. * Drawable data, including measurement data, markup data, etc.
*/ */
export interface DrawableData { export interface DrawableData {
/** /**
* id is used by business logic to manage(find, update, delete, etc.) drawables * id is used by business logic to manage(find, update, delete, etc.) drawables
*/ */
id: string; id: string;
/** /**
* Two dimension float array stores 2d or 3d points. * Two dimension float array stores 2d or 3d points.
* e.g., You can use "[[1, 1], [2.5, 3]]" to represent a distance measurement result, * e.g., You can use "[[1, 1], [2.5, 3]]" to represent a distance measurement result,
* "[1, 1]" is the first point, and "[2.5, 3]" is the second point. * "[1, 1]" is the first point, and "[2.5, 3]" is the second point.
*/ */
points: number[][]; points: number[][];
lineWidth?: number; lineWidth?: number;
/** /**
* Line color is number array. e.g: [r, g, b, a] * Line color is number array. e.g: [r, g, b, a]
*/ */
lineColor?: number[]; lineColor?: number[];
/** /**
* Fill color is number array. e.g: [r, g, b, a] * Fill color is number array. e.g: [r, g, b, a]
*/ */
fillColor?: number[]; fillColor?: number[];
/** /**
* Drawable dta type * Drawable dta type
*/ */
type: string; type: string;
} }

View File

@ -1,87 +1,87 @@
import * as THREE from "three"; import * as THREE from "three";
import { DrawableData } from "./Constants"; import { DrawableData } from "./Constants";
import { Event } from "../../core/utils"; import { Event } from "../../core/utils";
/** /**
* @internal * @internal
*/ */
export declare abstract class Drawable<DrawableEvents extends Record<string, unknown> = Record<string, unknown>> extends Event<DrawableEvents> { export declare abstract class Drawable<DrawableEvents extends Record<string, unknown> = Record<string, unknown>> extends Event<DrawableEvents> {
protected readonly DEFAULT_LINE_WIDTH = 1; protected readonly DEFAULT_LINE_WIDTH = 1;
protected readonly DEFAULT_STROKE_STYLE: number[]; protected readonly DEFAULT_STROKE_STYLE: number[];
protected readonly DEFAULT_FILL_STYLE: number[]; protected readonly DEFAULT_FILL_STYLE: number[];
id: string; id: string;
protected lineWidth: number; protected lineWidth: number;
protected lineColor: number[]; protected lineColor: number[];
protected fillColor: number[]; protected fillColor: number[];
x: number; x: number;
y: number; y: number;
width: number; width: number;
height: number; height: number;
protected points: THREE.Vector3[]; protected points: THREE.Vector3[];
userData: Record<any, any>; userData: Record<any, any>;
protected tolerance: number; protected tolerance: number;
visible: boolean; visible: boolean;
selected: boolean; selected: boolean;
/** /**
* render order, the bigger number is on the top * render order, the bigger number is on the top
*/ */
renderOrder: number; renderOrder: number;
needsFrustumCulled: boolean; needsFrustumCulled: boolean;
protected editPointSize: number; protected editPointSize: number;
protected editPointFillColor: string; protected editPointFillColor: string;
protected editPointStrokeColor: string; protected editPointStrokeColor: string;
protected matrix: THREE.Matrix4; protected matrix: THREE.Matrix4;
protected ctx?: CanvasRenderingContext2D; protected ctx?: CanvasRenderingContext2D;
constructor(id?: string); constructor(id?: string);
setTolerance(t: number): void; setTolerance(t: number): void;
render(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void; render(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
getData(): DrawableData; getData(): DrawableData;
setData(data: DrawableData): void; setData(data: DrawableData): void;
getVertexes(): THREE.Vector3[]; getVertexes(): THREE.Vector3[];
setLineWidth(lineWidth?: number): void; setLineWidth(lineWidth?: number): void;
setLineColor(color?: number[]): void; setLineColor(color?: number[]): void;
setFillColor(color?: number[]): void; setFillColor(color?: number[]): void;
isSelected(): boolean; isSelected(): boolean;
getCenter(): THREE.Vector3; getCenter(): THREE.Vector3;
transToScreenCoord(vector: THREE.Vector3, camera: THREE.Camera): THREE.Vector2; transToScreenCoord(vector: THREE.Vector3, camera: THREE.Camera): THREE.Vector2;
/** /**
* *
* @param ctx * @param ctx
* @param camera * @param camera
* @describe just for debug bounds * @describe just for debug bounds
*/ */
private drawBounds; private drawBounds;
/** /**
* *
* @param ctx * @param ctx
* @param camera * @param camera
* @describe just for debug * @describe just for debug
*/ */
private drawCenter; private drawCenter;
/** /**
* *
* @param p is world position * @param p is world position
* @param raycaster just for 3d intersect * @param raycaster just for 3d intersect
* @returns boolean * @returns boolean
* @describe is point interact drawable, use to select drawable, the same as threejs object raycast * @describe is point interact drawable, use to select drawable, the same as threejs object raycast
*/ */
abstract isPointInPath(p: THREE.Vector3, raycaster?: THREE.Raycaster): boolean; abstract isPointInPath(p: THREE.Vector3, raycaster?: THREE.Raycaster): boolean;
getBounds(): THREE.Box3; getBounds(): THREE.Box3;
/** /**
* *
* @param ctx * @param ctx
* @param camera * @param camera
* @describe abstract draw method * @describe abstract draw method
*/ */
abstract draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void; abstract draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
/** /**
* *
* @param ctx * @param ctx
* @param camera * @param camera
* @describe abstract drawSelect method * @describe abstract drawSelect method
*/ */
abstract drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void; abstract drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
/** /**
* @describe class type for serialize * @describe class type for serialize
*/ */
abstract getClassType(): string; abstract getClassType(): string;
} }

View File

@ -1,27 +1,27 @@
import { DrawableData } from "./Constants"; import { DrawableData } from "./Constants";
import { Drawable } from "./Drawable"; import { Drawable } from "./Drawable";
import { Event } from "../../core/utils"; import { Event } from "../../core/utils";
declare type DrawableListEvents = { declare type DrawableListEvents = {
addDrawable: DrawableData; addDrawable: DrawableData;
updateDrawable: DrawableData; updateDrawable: DrawableData;
removeDrawable: DrawableData; removeDrawable: DrawableData;
}; };
/** /**
* A group of Drawlables for a certain category * A group of Drawlables for a certain category
* @internal * @internal
*/ */
export declare class DrawableList extends Event<DrawableListEvents> { export declare class DrawableList extends Event<DrawableListEvents> {
private category; private category;
private drawableMap; private drawableMap;
constructor(category: string); constructor(category: string);
addDrawable(drawable: Drawable): void; addDrawable(drawable: Drawable): void;
updateDrawable(drawable: Drawable, newData: DrawableData): void; updateDrawable(drawable: Drawable, newData: DrawableData): void;
removeDrawable(drawable: Drawable): void; removeDrawable(drawable: Drawable): void;
getDrawableById(id: string): Drawable<Record<string, unknown>> | undefined; getDrawableById(id: string): Drawable<Record<string, unknown>> | undefined;
clear(): void; clear(): void;
getDrawables(): Map<string, Drawable<Record<string, unknown>>>; getDrawables(): Map<string, Drawable<Record<string, unknown>>>;
getDrawableDatas(): DrawableData[]; getDrawableDatas(): DrawableData[];
setDrawableDatas(drawableDatas: DrawableData[]): void; setDrawableDatas(drawableDatas: DrawableData[]): void;
getDrawableByPosition(p: THREE.Vector3, raycaster?: THREE.Raycaster): Drawable<Record<string, unknown>> | undefined; getDrawableByPosition(p: THREE.Vector3, raycaster?: THREE.Raycaster): Drawable<Record<string, unknown>> | undefined;
} }
export {}; export {};

View File

@ -1,4 +1,4 @@
export * from "./CanvasRender"; export * from "./CanvasRender";
export * from "./DrawableList"; export * from "./DrawableList";
export * from "./Drawable"; export * from "./Drawable";
export * from "./Constants"; export * from "./Constants";

View File

@ -1,104 +1,104 @@
import * as THREE from "three"; import * as THREE from "three";
import { ProgressBar } from "../../components/progress-bar"; import { ProgressBar } from "../../components/progress-bar";
import { DxfCompareConfig, DxfModelConfig, DxfViewerConfig } from "../../core/Configs"; import { DxfCompareConfig, DxfModelConfig, DxfViewerConfig } from "../../core/Configs";
import { DxfChange, DxfLoader } from "../../core/dxf"; import { DxfChange, DxfLoader } from "../../core/dxf";
import { FontManager } from "../../core/font"; import { FontManager } from "../../core/font";
import { DxfViewer } from "../../core/viewers/DxfViewer"; import { DxfViewer } from "../../core/viewers/DxfViewer";
/** /**
* Dxf compare helper with one viewport. * Dxf compare helper with one viewport.
* @example * @example
* ``` html * ``` html
* <div id="app"> * <div id="app">
* <div id="myCanvas" style="width: 100%; height: 100%; display: inline-block;"></div> * <div id="myCanvas" style="width: 100%; height: 100%; display: inline-block;"></div>
* </div> * </div>
* ``` * ```
* ``` typescript * ``` typescript
* const viewerCfg = { containerId: "myCanvas" }; * const viewerCfg = { containerId: "myCanvas" };
* const modelCfg1 = { modelId: "id_1", src: "http://www.abc.com/sample1.dxf" }; * const modelCfg1 = { modelId: "id_1", src: "http://www.abc.com/sample1.dxf" };
* const modelCfg2 = { modelId: "id_2", src: "http://www.abc.com/sample2.dxf" }; * const modelCfg2 = { modelId: "id_2", src: "http://www.abc.com/sample2.dxf" };
* const fontFiles = ["http://www.abc.com/hztxt.shx", "http://www.abc.com/simplex.shx"]; * const fontFiles = ["http://www.abc.com/hztxt.shx", "http://www.abc.com/simplex.shx"];
* *
* const compareHelper = new BaseDxfCompareHelper(viewerCfg); * const compareHelper = new BaseDxfCompareHelper(viewerCfg);
* await compareHelper.setFont(fontFiles); * await compareHelper.setFont(fontFiles);
* await compareHelper.compare(modelCfg1, modelCfg2); * await compareHelper.compare(modelCfg1, modelCfg2);
* ``` * ```
*/ */
export declare class BaseDxfCompareHelper { export declare class BaseDxfCompareHelper {
/** /**
* DxfViewer of DxfCompareHelper. * DxfViewer of DxfCompareHelper.
*/ */
viewer: DxfViewer; viewer: DxfViewer;
protected fontManager?: FontManager; protected fontManager?: FontManager;
protected loader: DxfLoader; protected loader: DxfLoader;
protected loadingManager?: THREE.LoadingManager; protected loadingManager?: THREE.LoadingManager;
protected changes?: Record<string, DxfChange>; protected changes?: Record<string, DxfChange>;
protected container: HTMLElement; protected container: HTMLElement;
protected spinner?: HTMLDivElement; protected spinner?: HTMLDivElement;
protected jobCount: number; protected jobCount: number;
protected loadingProgressBar?: ProgressBar; protected loadingProgressBar?: ProgressBar;
constructor(viewerCfg: DxfViewerConfig); constructor(viewerCfg: DxfViewerConfig);
protected initSpinner(): void; protected initSpinner(): void;
/** /**
* @description {en} Sets font. * @description {en} Sets font.
* This needs to be called before loading a dxf, it won't affect any loaded text. * This needs to be called before loading a dxf, it won't affect any loaded text.
* It accepts shx or typeface formats. For typeface, it only support passing in 1 font file in the array for now. * It accepts shx or typeface formats. For typeface, it only support passing in 1 font file in the array for now.
* @description {zh} 设置字体。 * @description {zh} 设置字体。
* 需要在加载dxf之前调用不会影响已加载的文字。 * 需要在加载dxf之前调用不会影响已加载的文字。
* 支持shx或typeface格式。对于typeface目前只支持传入1个字体文件。 * 支持shx或typeface格式。对于typeface目前只支持传入1个字体文件。
* @param urls * @param urls
* - {en} font file urls. * - {en} font file urls.
* - {zh} 字体文件链接。 * - {zh} 字体文件链接。
* @example * @example
* ```typescript * ```typescript
* compareHelper.setFont(["https://example.com/xxx.shx"]); * compareHelper.setFont(["https://example.com/xxx.shx"]);
* ``` * ```
*/ */
setFont(urls: string[]): Promise<void>; setFont(urls: string[]): Promise<void>;
/** /**
* Compares two dxf files. Note that: * Compares two dxf files. Note that:
* - It only compares model spaces. * - It only compares model spaces.
* - It shouldn't load anything else before and after compare. * - It shouldn't load anything else before and after compare.
* @param modelCfg1 The first dxf to be compared * @param modelCfg1 The first dxf to be compared
* @param modelCfg2 The second dxf to be compared * @param modelCfg2 The second dxf to be compared
* @param onProgress loading progress * @param onProgress loading progress
*/ */
compare(modelCfg1: DxfModelConfig, modelCfg2: DxfModelConfig, compareCfg?: DxfCompareConfig, onProgress?: (event: ProgressEvent) => void): Promise<void>; compare(modelCfg1: DxfModelConfig, modelCfg2: DxfModelConfig, compareCfg?: DxfCompareConfig, onProgress?: (event: ProgressEvent) => void): Promise<void>;
/** /**
* @description {en} Gets compare changes. * @description {en} Gets compare changes.
* @description {zh} 获取对比变动. * @description {zh} 获取对比变动.
* @returns * @returns
* - {en} Compare changes. * - {en} Compare changes.
* - {zh} 对比变动列表。 * - {zh} 对比变动列表。
* @example * @example
* ``` typescript * ``` typescript
* const changes = compareHelper.getChanges(); * const changes = compareHelper.getChanges();
* console.log(changes); * console.log(changes);
* ``` * ```
*/ */
getChanges(): Record<number, DxfChange> | undefined; getChanges(): Record<number, DxfChange> | undefined;
/** /**
* @description {en} Zooms to a compare change. * @description {en} Zooms to a compare change.
* @description {zh} 聚焦到图纸的一处变动。 * @description {zh} 聚焦到图纸的一处变动。
* @param changeId * @param changeId
* - {en} Change id, which is an incremental integer starts from 1. * - {en} Change id, which is an incremental integer starts from 1.
* - {zh} 变动id该id是从数字1开始自增的整数。 * - {zh} 变动id该id是从数字1开始自增的整数。
* @example * @example
* ``` typescript * ``` typescript
* const changeId = 1; * const changeId = 1;
* compareHelper.zoomToChange(changeId); * compareHelper.zoomToChange(changeId);
* ``` * ```
*/ */
zoomToChange(changeId: number): void; zoomToChange(changeId: number): void;
/** /**
* Sets spinner visibility * Sets spinner visibility
*/ */
protected setSpinnerVisibility(visible: boolean): void; protected setSpinnerVisibility(visible: boolean): void;
/** /**
* Increases job count, and show spinner accordingly * Increases job count, and show spinner accordingly
*/ */
protected increaseJobCount(): void; protected increaseJobCount(): void;
/** /**
* Decreases job count, and hide spinner accordingly * Decreases job count, and hide spinner accordingly
*/ */
protected decreaseJobCount(): void; protected decreaseJobCount(): void;
} }

View File

@ -1,17 +1,17 @@
import * as THREE from "three"; import * as THREE from "three";
import { Drawable } from "../../core/canvas"; import { Drawable } from "../../core/canvas";
/** /**
* @internal * @internal
*/ */
export declare class CompareDrawable extends Drawable { export declare class CompareDrawable extends Drawable {
boxes: THREE.Box3[]; boxes: THREE.Box3[];
lineSegments: THREE.Vector3[][]; lineSegments: THREE.Vector3[][];
constructor(id: string, boxes: THREE.Box3[]); constructor(id: string, boxes: THREE.Box3[]);
private calculateCloudLineSegments; private calculateCloudLineSegments;
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void; draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
private drawBox; private drawBox;
drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void; drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
isPointInPath(p: THREE.Vector3): boolean; isPointInPath(p: THREE.Vector3): boolean;
getBounds(): THREE.Box3; getBounds(): THREE.Box3;
getClassType(): string; getClassType(): string;
} }

View File

@ -1,69 +1,69 @@
import { BaseDxfCompareHelper } from "./BaseDxfCompareHelper"; import { BaseDxfCompareHelper } from "./BaseDxfCompareHelper";
import { DxfCompareConfig, DxfModelConfig, DxfViewerConfig } from "../../core/Configs"; import { DxfCompareConfig, DxfModelConfig, DxfViewerConfig } from "../../core/Configs";
import { DxfViewer } from "../../core/viewers/DxfViewer"; import { DxfViewer } from "../../core/viewers/DxfViewer";
/** /**
* Dxf compare helper with two viewports. * Dxf compare helper with two viewports.
* @example * @example
* ``` html * ``` html
* <div id="app"> * <div id="app">
* <div id="myCanvas1" style="width: 50%; height: 100%; display: inline-block;"></div> * <div id="myCanvas1" style="width: 50%; height: 100%; display: inline-block;"></div>
* <div id="myCanvas2" style="width: 50%; height: 100%; display: inline-block; padding-left: 1px;"></div> * <div id="myCanvas2" style="width: 50%; height: 100%; display: inline-block; padding-left: 1px;"></div>
* </div> * </div>
* ``` * ```
* ``` typescript * ``` typescript
* const viewerCfg1 = { containerId: "myCanvas1" }; * const viewerCfg1 = { containerId: "myCanvas1" };
* const viewerCfg2 = { containerId: "myCanvas2" }; * const viewerCfg2 = { containerId: "myCanvas2" };
* const modelCfg1 = { modelId: "id_1", src: "http://www.abc.com/sample1.dxf" }; * const modelCfg1 = { modelId: "id_1", src: "http://www.abc.com/sample1.dxf" };
* const modelCfg2 = { modelId: "id_2", src: "http://www.abc.com/sample2.dxf" }; * const modelCfg2 = { modelId: "id_2", src: "http://www.abc.com/sample2.dxf" };
* const fontFiles = ["http://www.abc.com/hztxt.shx", "http://www.abc.com/simplex.shx"]; * const fontFiles = ["http://www.abc.com/hztxt.shx", "http://www.abc.com/simplex.shx"];
* *
* const compareHelper = new DxfCompareHelper(viewerCfg1, viewerCfg2); * const compareHelper = new DxfCompareHelper(viewerCfg1, viewerCfg2);
* await compareHelper.setFont(fontFiles); * await compareHelper.setFont(fontFiles);
* await compareHelper.compare(modelCfg1, modelCfg2); * await compareHelper.compare(modelCfg1, modelCfg2);
* compareHelper.enableSyncCamera(true); * compareHelper.enableSyncCamera(true);
* ``` * ```
*/ */
export declare class DxfCompareHelper extends BaseDxfCompareHelper { export declare class DxfCompareHelper extends BaseDxfCompareHelper {
/** /**
* The second DxfViewer of DxfCompareHelper. * The second DxfViewer of DxfCompareHelper.
*/ */
viewer2: DxfViewer; viewer2: DxfViewer;
/** /**
* Enables to synchronize camera position when another camera is moved. * Enables to synchronize camera position when another camera is moved.
*/ */
protected syncCamera: boolean; protected syncCamera: boolean;
constructor(viewerCfg1: DxfViewerConfig, viewerCfg2: DxfViewerConfig); constructor(viewerCfg1: DxfViewerConfig, viewerCfg2: DxfViewerConfig);
protected initSyncCameraEvent(): void; protected initSyncCameraEvent(): void;
/** /**
* @description {en} Enables to synchronize camera position when another camera is moved. * @description {en} Enables to synchronize camera position when another camera is moved.
* @description {zh} 设置开启或关闭同步相机视角。 * @description {zh} 设置开启或关闭同步相机视角。
* @example * @example
* ```typescript * ```typescript
* compareHelper.enableSyncCamera(true); * compareHelper.enableSyncCamera(true);
* ``` * ```
*/ */
enableSyncCamera(enable: boolean): void; enableSyncCamera(enable: boolean): void;
private syncCameraControls; private syncCameraControls;
/** /**
* Compares two dxf files. Note that: * Compares two dxf files. Note that:
* - It only compares model spaces. * - It only compares model spaces.
* - It shouldn't load anything else before and after compare. * - It shouldn't load anything else before and after compare.
* @param modelCfg1 The first dxf to be compared * @param modelCfg1 The first dxf to be compared
* @param modelCfg2 The second dxf to be compared * @param modelCfg2 The second dxf to be compared
* @param onProgress loading progress * @param onProgress loading progress
*/ */
compare(modelCfg1: DxfModelConfig, modelCfg2: DxfModelConfig, compareCfg?: DxfCompareConfig, onProgress?: (event: ProgressEvent) => void): Promise<void>; compare(modelCfg1: DxfModelConfig, modelCfg2: DxfModelConfig, compareCfg?: DxfCompareConfig, onProgress?: (event: ProgressEvent) => void): Promise<void>;
/** /**
* @description {en} Zooms to a compare change. * @description {en} Zooms to a compare change.
* @description {zh} 聚焦到图纸的一处变动。 * @description {zh} 聚焦到图纸的一处变动。
* @param changeId * @param changeId
* - {en} Change id, which is an incremental integer starts from 1. * - {en} Change id, which is an incremental integer starts from 1.
* - {zh} 变动id该id是从数字1开始自增的整数。 * - {zh} 变动id该id是从数字1开始自增的整数。
* @example * @example
* ``` typescript * ``` typescript
* const changeId = 1; * const changeId = 1;
* compareHelper.zoomToChange(changeId); * compareHelper.zoomToChange(changeId);
* ``` * ```
*/ */
zoomToChange(changeId: number): void; zoomToChange(changeId: number): void;
} }

View File

@ -1,11 +1,11 @@
import type { DxfViewer } from "../viewers"; import type { DxfViewer } from "../viewers";
import { DxfChange } from "../../core/dxf"; import { DxfChange } from "../../core/dxf";
import { Event } from "../../core/utils"; import { Event } from "../../core/utils";
export declare class DxfCompareMarkupManager extends Event { export declare class DxfCompareMarkupManager extends Event {
private viewer; private viewer;
private overlayRender?; private overlayRender?;
private drawableList; private drawableList;
constructor(viewer: DxfViewer); constructor(viewer: DxfViewer);
drawCompareDrawable(changes: Record<string, DxfChange>): void; drawCompareDrawable(changes: Record<string, DxfChange>): void;
setCompareDrawableVisible(visilbe: boolean): void; setCompareDrawableVisible(visilbe: boolean): void;
} }

View File

@ -1,4 +1,4 @@
export * from "./CompareDrawable"; export * from "./CompareDrawable";
export * from "./DxfCompareMarkupManager"; export * from "./DxfCompareMarkupManager";
export * from "./DxfCompareHelper"; export * from "./DxfCompareHelper";
export * from "./BaseDxfCompareHelper"; export * from "./BaseDxfCompareHelper";

View File

@ -0,0 +1,21 @@
export declare class Container {
width: number;
height: number;
container: HTMLDivElement;
viewerContainer?: HTMLDivElement;
widgetContainer?: HTMLDivElement;
constructor(containerId: string);
/**
* Creates a viewerContainer under the container that user passed in.
* There are some benefits to create a new one. e.g., its style won't affect
* the container div user passed in.
*/
private initViewerContainer;
/**
*
* @description Create a div for ui widget, if widget need position, just relative container, maybe remove later.
*/
private initWidgetContainer;
get needResize(): boolean;
destroy(): void;
}

View File

@ -0,0 +1,21 @@
import type { Container } from "./Container";
export interface ProgressItem {
div: HTMLDivElement;
onProgress?: (event: ProgressEvent) => void;
}
export declare class ProgressBar {
private element;
private progressItems;
private replaceReg;
constructor(container: Container);
addProgressItem(id: string, message?: string, onProgress?: (event: ProgressEvent) => void): void;
removeProgressItem(id: string): void;
updateProgressBar(id: string, progress: number | ProgressEvent, min?: number, max?: number): void;
setVisible(visible: boolean): void;
/**
* Removes a progress item after some time
* @param progressItemId
*/
delayRemoveProgressItem(progressItemId: string, delayInMs?: number): void;
destroy(): void;
}

View File

@ -0,0 +1,13 @@
import type { Container } from "./Container";
export declare class Spinner {
private element;
jobCount: number;
constructor(container: Container);
/**
* Sets spinner visibility
*/
private setSpinnerVisibility;
increaseJobCount(): void;
decreaseJobCount(): void;
destroy(): void;
}

View File

@ -0,0 +1,3 @@
export * from "./Spinner";
export * from "./Container";
export * from "./ProgressBar";

View File

@ -1,34 +1,34 @@
import * as THREE from "three"; import * as THREE from "three";
import { CameraControls } from "../camera-controls/CameraControls"; import { CameraControls } from "../camera-controls/CameraControls";
export declare class CameraControlsEx extends CameraControls { export declare class CameraControlsEx extends CameraControls {
minZoom: number; minZoom: number;
draggingSmoothTime: number; draggingSmoothTime: number;
private dollySpeedBackup; private dollySpeedBackup;
private azimuthRotateSpeedBackup; private azimuthRotateSpeedBackup;
private polarRotateSpeedBackup; private polarRotateSpeedBackup;
private truckSpeedBackup; private truckSpeedBackup;
private domElementKeyEvents?; private domElementKeyEvents?;
keyTruckSpeed: number; keyTruckSpeed: number;
keys: { keys: {
left: string; left: string;
up: string; up: string;
right: string; right: string;
bottom: string; bottom: string;
}; };
constructor(object: THREE.PerspectiveCamera | THREE.OrthographicCamera, domElement?: HTMLElement); constructor(object: THREE.PerspectiveCamera | THREE.OrthographicCamera, domElement?: HTMLElement);
get enableZoom(): boolean; get enableZoom(): boolean;
set enableZoom(value: boolean); set enableZoom(value: boolean);
get enableRotate(): boolean; get enableRotate(): boolean;
set enableRotate(value: boolean); set enableRotate(value: boolean);
get enableTruck(): boolean; get enableTruck(): boolean;
set enableTruck(value: boolean); set enableTruck(value: boolean);
private onKeyDown; private onKeyDown;
private onKeyUp; private onKeyUp;
listenToKeyEvents(): void; listenToKeyEvents(): void;
stopListenToKeyEvents(): void; stopListenToKeyEvents(): void;
/** /**
* Dispose the OrbitControls instance itself, remove all eventListeners. * Dispose the OrbitControls instance itself, remove all eventListeners.
* @category Methods * @category Methods
*/ */
dispose(): void; dispose(): void;
} }

View File

@ -0,0 +1,11 @@
export declare enum NavigationModes {
Orbit = 0,
FirstPerson = 1,
Plan = 2,
VR = 3
}
export interface Control {
mode: NavigationModes;
setupControl(): void;
adjustCameraByBbox(bbox: THREE.Box3): void;
}

View File

@ -0,0 +1,10 @@
import * as THREE from "three";
import { Control, NavigationModes } from "./Control";
import type { CameraManager } from "../../core/camera/CameraManager";
export declare class OrbitControl implements Control {
readonly mode = NavigationModes.Orbit;
private cameraManager;
constructor(cameraManager: CameraManager);
setupControl(): void;
adjustCameraByBbox(box: THREE.Box3): void;
}

View File

@ -0,0 +1,14 @@
import * as THREE from "three";
import { Control, NavigationModes } from "./Control";
import type { CameraManager } from "../../core/camera";
/**
*
* @description control for 2d. dxf,pdf etc.
*/
export declare class PlanControl implements Control {
readonly mode = NavigationModes.Plan;
private cameraManager;
constructor(cameraManager: CameraManager);
setupControl(): void;
adjustCameraByBbox(box: THREE.Box3): void;
}

View File

@ -0,0 +1,10 @@
import * as THREE from "three";
import { Control, NavigationModes } from "./Control";
import type { CameraManager } from "../../core/camera/CameraManager";
export declare class VRControl implements Control {
readonly mode = NavigationModes.FirstPerson;
private cameraManager;
constructor(cameraManager: CameraManager);
setupControl(): void;
adjustCameraByBbox(box: THREE.Box3): void;
}

View File

@ -1,131 +0,0 @@
import { EventDispatcher, PerspectiveCamera, Vector3 } from "three";
import type { ControlsHelper } from "../../core/helpers";
/**
* @internal
*/
export declare enum STATE {
NONE = -1,
ROTATE = 0,
DOLLY = 1,
PAN = 2,
TOUCH_ROTATE = 3,
TOUCH_DOLLY = 4
}
/**
* @internal
*/
export declare enum Keys {
LEFT = "ArrowLeft",
UP = "ArrowUp",
RIGHT = "ArrowRight",
BOTTOM = "ArrowDown"
}
/**
* @internal
*/
export declare class VRControls extends EventDispatcher {
object: PerspectiveCamera;
domElement: HTMLCanvasElement;
isVRMode: boolean;
enabled: boolean;
target: Vector3;
enableZoom: boolean;
enablePan: boolean;
enableRotate: boolean;
state: STATE;
rotateSpeed: number;
zoomSpeed: number;
panSpeed: number;
scale: number;
minZoom: number;
maxZoom: number;
screenSpacePanning: boolean;
autoRotate: boolean;
controlsHelper?: ControlsHelper;
autoRotateSpeed: number;
enableDamping: boolean;
dampingFactor: number;
minAzimuthAngle: number;
maxAzimuthAngle: number;
minPolarAngle: number;
maxPolarAngle: number;
minDistance: number;
maxDistance: number;
keyPanSpeed: number;
minFov: number;
maxFov: number;
private zoomChanged;
private panOffset;
private pointerPositions;
private rotateStart;
private rotateEnd;
private rotateDelta;
private dollyStart;
private dollyEnd;
private dollyDelta;
private panStart;
private panEnd;
private panDelta;
private pointers;
private spherical;
private sphericalDelta;
private domElementKeyEvents?;
private quat;
constructor(object: PerspectiveCamera, domElement: HTMLCanvasElement, isVRMode?: boolean);
dispose(): void;
update: () => boolean;
private addPointer;
private removePointer;
private onContextMenu;
/**
*
* Get the distance between two points
* @param {number[]} p1
* @param {number[]} p2
* @return {*}
* @memberof VRControls
*/
getDist(p1: number[], p2: number[]): number;
private trackPointer;
/**************************PointerDown Event*************************/
private onTouchStart;
private onMouseDown;
private onPointerDown;
/**************************PointerMove Event*************************/
private onTouchMove;
private onMouseMove;
private onPointerMove;
/**************************PointerUp Event*************************/
handlerTouchEnd(event: PointerEvent): void;
private onPointerUp;
private onPointerCancel;
handleMouseWheel(event: WheelEvent): void;
private onMouseWheel;
/**************************Ponter down event handling*************************/
handleMouseDownRotate(event: PointerEvent): void;
handleMouseDownDolly(event: PointerEvent): void;
handleMouseDownPan(event: PointerEvent): void;
handleTouchStartRotate(): void;
handleTouchStartDolly(pointers: PointerEvent[]): void;
/**************************Mouse move rotate event handling*************************/
private updateRotate;
handleMouseMoveRotate(event: PointerEvent): void;
/**************************Mouse move zoom event handling*************************/
private dollyOut;
private dollyIn;
handleMouseMoveDolly(event: PointerEvent): void;
/**************************Mouse move pan event handling*************************/
private pan;
private panLeft;
private panUp;
handleMouseMovePan(event: PointerEvent): void;
/**************************One-finger or Two-finger rotate event handling*************************/
private getSecondPointerPosition;
handleTouchMoveRotate(event: PointerEvent): void;
/**************************Two-finger zoom event handling*************************/
private updateFov;
handleTouchMoveDolly(event: PointerEvent): void;
private handleKeyDown;
private onKeyDown;
listenToKeyEvents(domElement: HTMLElement): void;
}

View File

@ -1,2 +1,4 @@
export * from "./VRControls"; export * from "./Control";
export * from "./CameraControlsEx"; export * from "./OrbitControl";
export * from "./PlanControl";
export * from "./VRControl";

View File

@ -1,8 +1,8 @@
/** /**
* AutoCad files sometimes use an indexed color value between 1 and 255 inclusive. * AutoCad files sometimes use an indexed color value between 1 and 255 inclusive.
* Each value corresponds to a color. index 1 is red, that is 16711680 or 0xFF0000. * Each value corresponds to a color. index 1 is red, that is 16711680 or 0xFF0000.
* index 0 and 256, while included in this array, are actually reserved for inheritance * index 0 and 256, while included in this array, are actually reserved for inheritance
* values in AutoCad so they should not be used for index color lookups. * values in AutoCad so they should not be used for index color lookups.
*/ */
declare const _default: number[]; declare const _default: number[];
export default _default; export default _default;

View File

@ -1,12 +1,12 @@
export interface IGroup { export interface IGroup {
code: number; code: number;
value: number | string | boolean; value: number | string | boolean;
} }
export declare abstract class DxfBaseReader { export declare abstract class DxfBaseReader {
protected pointer: number; protected pointer: number;
protected eof: boolean; protected eof: boolean;
lastReadGroup: IGroup | undefined; lastReadGroup: IGroup | undefined;
abstract next(): IGroup; abstract next(): IGroup;
abstract hasNext(): boolean; abstract hasNext(): boolean;
abstract isEOF(): boolean; abstract isEOF(): boolean;
} }

View File

@ -1,14 +1,14 @@
import { DxfBaseReader, IGroup } from "./DxfBaseReader"; import { DxfBaseReader, IGroup } from "./DxfBaseReader";
export default class DxfBinaryReader extends DxfBaseReader { export default class DxfBinaryReader extends DxfBaseReader {
private reader; private reader;
private decoder; private decoder;
private int8Array; private int8Array;
private caches; private caches;
constructor(data: ArrayBuffer); constructor(data: ArrayBuffer);
next(): IGroup; next(): IGroup;
hasNext(): boolean; hasNext(): boolean;
isEOF(): boolean; isEOF(): boolean;
private parseGroupValue; private parseGroupValue;
private readNullTerminatedString; private readNullTerminatedString;
private ReadBinaryData; private ReadBinaryData;
} }

View File

@ -1,327 +1,327 @@
/// <reference types="node" /> /// <reference types="node" />
import { Readable } from "stream"; import { Readable } from "stream";
import IGeometry, { IEntity, IPoint } from "./entities/geomtry"; import IGeometry, { IEntity, IPoint } from "./entities/geomtry";
import { IObject, IObjectParser } from "./objects/common"; import { IObject, IObjectParser } from "./objects/common";
/** /**
* @internal * @internal
*/ */
export declare enum BlockTypeFlags { export declare enum BlockTypeFlags {
None = 0, None = 0,
AnonymousBlock = 1, AnonymousBlock = 1,
NonConstantAttributeDefinitions = 2, NonConstantAttributeDefinitions = 2,
XRef = 4, XRef = 4,
XRefOverlay = 8, XRefOverlay = 8,
ExternallyDependent = 16, ExternallyDependent = 16,
ResolvedExternalReference = 32, ResolvedExternalReference = 32,
DefinitionExternalReference = 64 DefinitionExternalReference = 64
} }
/** /**
* Definition of a block. Which contains entities, name, handle, etc. * Definition of a block. Which contains entities, name, handle, etc.
* @internal * @internal
*/ */
export interface IBlock { export interface IBlock {
entities: IEntity[]; entities: IEntity[];
ownerHandle: string; ownerHandle: string;
xrefPath: string; xrefPath: string;
name: string; name: string;
name2: string; name2: string;
handle: string; handle: string;
layer: string; layer: string;
position: IPoint; position: IPoint;
paperSpace: boolean; paperSpace: boolean;
blockType: BlockTypeFlags; blockType: BlockTypeFlags;
description?: string; description?: string;
} }
/** /**
* Definition of a viewport. * Definition of a viewport.
* @internal * @internal
*/ */
export interface IViewport { export interface IViewport {
name: string; name: string;
lowerLeftCorner: IPoint; lowerLeftCorner: IPoint;
upperRightCorner: IPoint; upperRightCorner: IPoint;
center: IPoint; center: IPoint;
snapBasePoint: IPoint; snapBasePoint: IPoint;
snapSpacing: IPoint; snapSpacing: IPoint;
gridSpacing: IPoint; gridSpacing: IPoint;
viewDirectionFromTarget: IPoint; viewDirectionFromTarget: IPoint;
viewTarget: IPoint; viewTarget: IPoint;
aspectRatio: number; aspectRatio: number;
lensLength: number; lensLength: number;
frontClippingPlane: string | number | boolean; frontClippingPlane: string | number | boolean;
backClippingPlane: string | number | boolean; backClippingPlane: string | number | boolean;
viewHeight: number; viewHeight: number;
snapRotationAngle: number; snapRotationAngle: number;
viewTwistAngle: number; viewTwistAngle: number;
orthographicType: string; orthographicType: string;
ucsOrigin: IPoint; ucsOrigin: IPoint;
ucsXAxis: IPoint; ucsXAxis: IPoint;
ucsYAxis: IPoint; ucsYAxis: IPoint;
renderMode: string; renderMode: string;
defaultLightingType: string; defaultLightingType: string;
defaultLightingOn: string; defaultLightingOn: string;
ownerHandle: string; ownerHandle: string;
ambientColor: number; ambientColor: number;
} }
/** /**
* Viewport table definition. * Viewport table definition.
* @internal * @internal
*/ */
export interface IViewportTableDefinition { export interface IViewportTableDefinition {
tableRecordsProperty: "viewports"; tableRecordsProperty: "viewports";
tableName: "viewport"; tableName: "viewport";
dxfSymbolName: "VPORT"; dxfSymbolName: "VPORT";
parseTableRecords(): IViewport[]; parseTableRecords(): IViewport[];
} }
/** /**
* Line type. * Line type.
* @internal * @internal
*/ */
export interface ILineType { export interface ILineType {
name: string; name: string;
description: string; description: string;
pattern: number[]; pattern: number[];
patternLength: number; patternLength: number;
} }
/** /**
* Line type table definition. * Line type table definition.
* @internal * @internal
*/ */
export interface ILineTypeTableDefinition { export interface ILineTypeTableDefinition {
tableRecordsProperty: "lineTypes"; tableRecordsProperty: "lineTypes";
tableName: "lineType"; tableName: "lineType";
dxfSymbolName: "LTYPE"; dxfSymbolName: "LTYPE";
parseTableRecords(): Record<string, ILineType>; parseTableRecords(): Record<string, ILineType>;
} }
/** /**
* Definition of a layer. * Definition of a layer.
*/ */
export interface ILayer { export interface ILayer {
/** /**
* Unique layer name with the dxf/dwg file. * Unique layer name with the dxf/dwg file.
*/ */
name: string; name: string;
/** /**
* @internal * @internal
*/ */
handle: string; handle: string;
visible: boolean; visible: boolean;
/** /**
* @internal * @internal
*/ */
colorIndex: number; colorIndex: number;
/** /**
* color in decimal * color in decimal
*/ */
color: number; color: number;
/** /**
* @internal * @internal
*/ */
frozen: boolean; frozen: boolean;
/** /**
* @internal * @internal
*/ */
flag: number; flag: number;
/** /**
* @internal * @internal
*/ */
lineType: string; lineType: string;
/** /**
* @internal * @internal
*/ */
lineweight: 0 | 5 | 9 | 13 | 15 | 18 | 20 | 25 | 30 | 35 | 40 | 50 | 53 | 60 | 70 | 80 | 90 | 100 | 106 | 120 | 140 | 158 | 200 | 211 | -3 | -2 | -1; lineweight: 0 | 5 | 9 | 13 | 15 | 18 | 20 | 25 | 30 | 35 | 40 | 50 | 53 | 60 | 70 | 80 | 90 | 100 | 106 | 120 | 140 | 158 | 200 | 211 | -3 | -2 | -1;
} }
/** /**
* Layer table definition. * Layer table definition.
* @internal * @internal
*/ */
export interface ILayerTableDefinition { export interface ILayerTableDefinition {
tableRecordsProperty: "layers"; tableRecordsProperty: "layers";
tableName: "layer"; tableName: "layer";
dxfSymbolName: "LAYER"; dxfSymbolName: "LAYER";
parseTableRecords(): Record<string, ILayer>; parseTableRecords(): Record<string, ILayer>;
} }
/** /**
* BlockRecord * BlockRecord
* @internal * @internal
*/ */
export interface IBlockRecord { export interface IBlockRecord {
handle: string; handle: string;
ownerHandle: string; ownerHandle: string;
blockName: string; blockName: string;
layoutHandle: string; layoutHandle: string;
blockInsertUnits: number; blockInsertUnits: number;
blockExplodability: number; blockExplodability: number;
blockScalability: number; blockScalability: number;
bitmap?: string; bitmap?: string;
} }
/** /**
* @internal * @internal
*/ */
export interface IBlockRecordTableDefinition { export interface IBlockRecordTableDefinition {
tableRecordsProperty: "blockRecords"; tableRecordsProperty: "blockRecords";
tableName: "blockRecord"; tableName: "blockRecord";
dxfSymbolName: "BLOCK_RECORD"; dxfSymbolName: "BLOCK_RECORD";
parseTableRecords(): Record<string, IBlockRecord>; parseTableRecords(): Record<string, IBlockRecord>;
} }
/** /**
* Definition of a style. * Definition of a style.
* @internal * @internal
*/ */
export interface IStyle { export interface IStyle {
handle: string; handle: string;
ownerHandle: string; ownerHandle: string;
styleName: string; styleName: string;
priorTextHeight: number; priorTextHeight: number;
textHeight: number; textHeight: number;
xScale: number; xScale: number;
rotation: number; rotation: number;
mirrorType: number; mirrorType: number;
fontFile: string; fontFile: string;
bigFontFile: string; bigFontFile: string;
} }
/** /**
* Style table definition. * Style table definition.
* @internal * @internal
*/ */
export interface IStyleTableDefinition { export interface IStyleTableDefinition {
tableRecordsProperty: "styles"; tableRecordsProperty: "styles";
tableName: "style"; tableName: "style";
dxfSymbolName: "STYLE"; dxfSymbolName: "STYLE";
parseTableRecords(): Record<string, IStyle>; parseTableRecords(): Record<string, IStyle>;
} }
/** /**
* Dim style. * Dim style.
* @internal * @internal
*/ */
export interface IDimStyle { export interface IDimStyle {
styleName: string; styleName: string;
DIMSCALE: number; DIMSCALE: number;
DIMASZ: number; DIMASZ: number;
DIMEXO: string; DIMEXO: string;
DIMEXE: string; DIMEXE: string;
DIMSE1: string; DIMSE1: string;
DIMSE2: string; DIMSE2: string;
DIMTAD: string; DIMTAD: string;
DIMTXT: string; DIMTXT: string;
DIMGAP: number; DIMGAP: number;
DIMCLRD: number; DIMCLRD: number;
DIMCLRT: number; DIMCLRT: number;
DIMLFAC: number; DIMLFAC: number;
DIMDEC: string; DIMDEC: string;
DIMLDRBLK: string; DIMLDRBLK: string;
} }
/** /**
* Dim style table definition * Dim style table definition
* @internal * @internal
*/ */
export interface IDimStyleTableDefinition { export interface IDimStyleTableDefinition {
tableRecordsProperty: "dimStyles"; tableRecordsProperty: "dimStyles";
tableName: "dimStyle"; tableName: "dimStyle";
dxfSymbolName: "DIMSTYLE"; dxfSymbolName: "DIMSTYLE";
parseTableRecords(): Record<string, IDimStyle>; parseTableRecords(): Record<string, IDimStyle>;
} }
/** /**
* Table definitions. * Table definitions.
* @internal * @internal
*/ */
export interface ITableDefinitions { export interface ITableDefinitions {
VPORT: IViewportTableDefinition; VPORT: IViewportTableDefinition;
LTYPE: ILineTypeTableDefinition; LTYPE: ILineTypeTableDefinition;
LAYER: ILayerTableDefinition; LAYER: ILayerTableDefinition;
BLOCK_RECORD: IBlockRecordTableDefinition; BLOCK_RECORD: IBlockRecordTableDefinition;
STYLE: IStyleTableDefinition; STYLE: IStyleTableDefinition;
DIMSTYLE: IDimStyleTableDefinition; DIMSTYLE: IDimStyleTableDefinition;
} }
/** /**
* Base table * Base table
* @internal * @internal
*/ */
export interface IBaseTable { export interface IBaseTable {
handle: string; handle: string;
ownerHandle: string; ownerHandle: string;
} }
/** /**
* Viewport table * Viewport table
* @internal * @internal
*/ */
export interface IViewportTable extends IBaseTable { export interface IViewportTable extends IBaseTable {
viewports: IViewport[]; viewports: IViewport[];
} }
/** /**
* @internal * @internal
*/ */
export interface ILayerTypesTable extends IBaseTable { export interface ILayerTypesTable extends IBaseTable {
lineTypes: Record<string, ILineType>; lineTypes: Record<string, ILineType>;
} }
/** /**
* @internal * @internal
*/ */
export interface ILayersTable extends IBaseTable { export interface ILayersTable extends IBaseTable {
layers: Record<string, ILayer>; layers: Record<string, ILayer>;
} }
/** /**
* @internal * @internal
*/ */
export interface IStylesTable extends IBaseTable { export interface IStylesTable extends IBaseTable {
styles: Record<string, IStyle>; styles: Record<string, IStyle>;
} }
/** /**
* @internal * @internal
*/ */
export interface IDimStyleTable extends IBaseTable { export interface IDimStyleTable extends IBaseTable {
dimStyles: Record<string, IDimStyle>; dimStyles: Record<string, IDimStyle>;
} }
/** /**
* @internal * @internal
*/ */
export interface IBlockRecordsTable extends IBaseTable { export interface IBlockRecordsTable extends IBaseTable {
blockRecords: Record<string, IBlockRecord>; blockRecords: Record<string, IBlockRecord>;
} }
/** /**
* @internal * @internal
*/ */
export interface ITables { export interface ITables {
viewport: IViewportTable; viewport: IViewportTable;
lineType: ILayerTypesTable; lineType: ILayerTypesTable;
layer: ILayersTable; layer: ILayersTable;
blockRecord: IBlockRecordsTable; blockRecord: IBlockRecordsTable;
style: IStylesTable; style: IStylesTable;
dimStyle: IDimStyleTable; dimStyle: IDimStyleTable;
} }
/** /**
* @internal * @internal
*/ */
export declare type ITable = IViewportTable | ILayerTypesTable | ILayersTable | IBlockRecordsTable | IStylesTable | IDimStyleTable; export declare type ITable = IViewportTable | ILayerTypesTable | ILayersTable | IBlockRecordsTable | IStylesTable | IDimStyleTable;
/** /**
* @internal * @internal
*/ */
export interface IDxf { export interface IDxf {
header: Record<string, IPoint | number>; header: Record<string, IPoint | number>;
entities: IEntity[]; entities: IEntity[];
blocks: Record<string, IBlock>; blocks: Record<string, IBlock>;
tables: ITables; tables: ITables;
objects: Record<string, IObject[]>; objects: Record<string, IObject[]>;
} }
export default class DxfParser { export default class DxfParser {
private encoding?; private encoding?;
private _entityHandlers; private _entityHandlers;
private _objectHandlers; private _objectHandlers;
private _layoutBlocks; private _layoutBlocks;
private unhandledSections; private unhandledSections;
private unhandledObjects; private unhandledObjects;
private unhandledEntities; private unhandledEntities;
private unsupportedLineTypes; private unsupportedLineTypes;
constructor(encoding?: string); constructor(encoding?: string);
parse(source: string | ArrayBuffer): IDxf; parse(source: string | ArrayBuffer): IDxf;
registerEntityHandler(handlerType: new () => IGeometry): void; registerEntityHandler(handlerType: new () => IGeometry): void;
registerObjectHandler(handlerType: new () => IObjectParser): void; registerObjectHandler(handlerType: new () => IObjectParser): void;
parseSync(source: string | ArrayBuffer): IDxf; parseSync(source: string | ArrayBuffer): IDxf;
parseStream(stream: Readable): Promise<IDxf>; parseStream(stream: Readable): Promise<IDxf>;
private _parse; private _parse;
/** /**
* Splits a string to string array by line separator, "\r\n", "\r", "\n", etc. * Splits a string to string array by line separator, "\r\n", "\r", "\n", etc.
* We do this instead of using "String.prototype.split(/\r\n|\r|\n/g)", because it is extreamly slow! * We do this instead of using "String.prototype.split(/\r\n|\r|\n/g)", because it is extreamly slow!
*/ */
private splitByLineSeparator; private splitByLineSeparator;
} }

View File

@ -1,31 +1,31 @@
import { IGroup, DxfBaseReader } from './DxfBaseReader'; import { IGroup, DxfBaseReader } from './DxfBaseReader';
/** /**
* *
* Based off the AutoCad 2012 DXF Reference * Based off the AutoCad 2012 DXF Reference
* http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf * http://images.autodesk.com/adsk/files/autocad_2012_pdf_dxf-reference_enu.pdf
* *
* Reads through an array representing lines of a dxf file. Takes an array and * Reads through an array representing lines of a dxf file. Takes an array and
* provides an easy interface to extract group code and value pairs. * provides an easy interface to extract group code and value pairs.
* @param data - an array where each element represents a line in the dxf file * @param data - an array where each element represents a line in the dxf file
* @constructor * @constructor
*/ */
export default class DxfTextRender extends DxfBaseReader { export default class DxfTextRender extends DxfBaseReader {
private data; private data;
constructor(data: string[]); constructor(data: string[]);
/** /**
* Gets the next group (code, value) from the array. A group is two consecutive elements * Gets the next group (code, value) from the array. A group is two consecutive elements
* in the array. The first is the code, the second is the value. * in the array. The first is the code, the second is the value.
* @returns {{code: Number}|*} * @returns {{code: Number}|*}
*/ */
next(): IGroup; next(): IGroup;
/** /**
* Returns true if there is another code/value pair (2 elements in the array). * Returns true if there is another code/value pair (2 elements in the array).
* @returns {boolean} * @returns {boolean}
*/ */
hasNext(): boolean; hasNext(): boolean;
/** /**
* Returns true if the scanner is at the end of the array * Returns true if the scanner is at the end of the array
* @returns {boolean} * @returns {boolean}
*/ */
isEOF(): boolean; isEOF(): boolean;
} }

View File

@ -1,36 +1,36 @@
import { DxfBaseReader, IGroup } from "./DxfBaseReader"; import { DxfBaseReader, IGroup } from "./DxfBaseReader";
import { IEntity, IPoint } from "./entities/geomtry"; import { IEntity, IPoint } from "./entities/geomtry";
import { IObject } from "./objects/common"; import { IObject } from "./objects/common";
export declare const originalTypes: string[]; export declare const originalTypes: string[];
/** /**
* Returns the truecolor value of the given AutoCad color index value * Returns the truecolor value of the given AutoCad color index value
* @return {Number} truecolor value as a number * @return {Number} truecolor value as a number
*/ */
export declare function getAcadColor(index: number): number; export declare function getAcadColor(index: number): number;
/** /**
* Parses the 2D or 3D coordinate, vector, or point. When complete, * Parses the 2D or 3D coordinate, vector, or point. When complete,
* the scanner remains on the last group of the coordinate. * the scanner remains on the last group of the coordinate.
* @param {*} scanner * @param {*} scanner
*/ */
export declare function parsePoint(scanner: DxfBaseReader): IPoint; export declare function parsePoint(scanner: DxfBaseReader): IPoint;
/** /**
* Parses 16 numbers as an array. When complete, * Parses 16 numbers as an array. When complete,
* the scanner remains on the last group of the value. * the scanner remains on the last group of the value.
* @param {*} scanner * @param {*} scanner
* @param {*} groupCode * @param {*} groupCode
*/ */
export declare function parseMatrix(scanner: DxfBaseReader, groupCode: number): number[]; export declare function parseMatrix(scanner: DxfBaseReader, groupCode: number): number[];
/** /**
* Attempts to parse codes common to all entities. Returns true if the group * Attempts to parse codes common to all entities. Returns true if the group
* was handled by this function. * was handled by this function.
* @param {*} entity - the entity currently being parsed * @param {*} entity - the entity currently being parsed
* @param {*} curr - the current group being parsed * @param {*} curr - the current group being parsed
*/ */
export declare function checkCommonEntityProperties(entity: IEntity, curr: IGroup): boolean; export declare function checkCommonEntityProperties(entity: IEntity, curr: IGroup): boolean;
/** /**
* Attempts to parse codes common to all objects. Returns true if the group * Attempts to parse codes common to all objects. Returns true if the group
* was handled by this function. * was handled by this function.
* @param {*} object - the object currently being parsed * @param {*} object - the object currently being parsed
* @param {*} curr - the current group being parsed * @param {*} curr - the current group being parsed
*/ */
export declare function checkCommonObjectProperties(object: IObject, curr: IGroup): boolean; export declare function checkCommonObjectProperties(object: IObject, curr: IGroup): boolean;

View File

@ -1,11 +1,11 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface I3DfaceEntity extends IEntity { export interface I3DfaceEntity extends IEntity {
shape: boolean; shape: boolean;
hasContinuousLinetypePattern: boolean; hasContinuousLinetypePattern: boolean;
vertices: IPoint[]; vertices: IPoint[];
} }
export default class ThreeDface implements IGeometry { export default class ThreeDface implements IGeometry {
ForEntityName: "3DFACE"; ForEntityName: "3DFACE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): I3DfaceEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): I3DfaceEntity;
} }

View File

@ -1,16 +1,16 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IArcEntity extends IEntity { export interface IArcEntity extends IEntity {
center: IPoint; center: IPoint;
radius: number; radius: number;
startAngle: number; startAngle: number;
endAngle: number; endAngle: number;
angleLength: number; angleLength: number;
extrusionDirectionX: number; extrusionDirectionX: number;
extrusionDirectionY: number; extrusionDirectionY: number;
extrusionDirectionZ: number; extrusionDirectionZ: number;
} }
export default class Arc implements IGeometry { export default class Arc implements IGeometry {
ForEntityName: "ARC"; ForEntityName: "ARC";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IArcEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IArcEntity;
} }

View File

@ -1,31 +1,31 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IAttdefEntity extends IEntity { export interface IAttdefEntity extends IEntity {
xScale: number; xScale: number;
textStyle: "STANDARD" | string; textStyle: "STANDARD" | string;
text: string; text: string;
tag: string; tag: string;
prompt: string; prompt: string;
startPoint: IPoint; startPoint: IPoint;
endPoint: IPoint; endPoint: IPoint;
thickness: number; thickness: number;
textHeight: number; textHeight: number;
rotation: number; rotation: number;
obliqueAngle: number; obliqueAngle: number;
invisible: boolean; invisible: boolean;
constant: boolean; constant: boolean;
verificationRequired: boolean; verificationRequired: boolean;
preset: boolean; preset: boolean;
backwards: boolean; backwards: boolean;
mirrored: boolean; mirrored: boolean;
horizontalJustification: number; horizontalJustification: number;
fieldLength: number; fieldLength: number;
verticalJustification: number; verticalJustification: number;
extrusionDirectionX: number; extrusionDirectionX: number;
extrusionDirectionY: number; extrusionDirectionY: number;
extrusionDirectionZ: number; extrusionDirectionZ: number;
} }
export default class Attdef implements IGeometry { export default class Attdef implements IGeometry {
ForEntityName: "ATTDEF"; ForEntityName: "ATTDEF";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IAttdefEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IAttdefEntity;
} }

View File

@ -1,31 +1,31 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IAttribEntity extends IEntity { export interface IAttribEntity extends IEntity {
xScale: number; xScale: number;
textStyle: "STANDARD" | string; textStyle: "STANDARD" | string;
text: string; text: string;
tag: string; tag: string;
prompt: string; prompt: string;
startPoint: IPoint; startPoint: IPoint;
endPoint: IPoint; endPoint: IPoint;
thickness: number; thickness: number;
textHeight: number; textHeight: number;
rotation: number; rotation: number;
obliqueAngle: number; obliqueAngle: number;
invisible: boolean; invisible: boolean;
constant: boolean; constant: boolean;
verificationRequired: boolean; verificationRequired: boolean;
preset: boolean; preset: boolean;
backwards: boolean; backwards: boolean;
mirrored: boolean; mirrored: boolean;
horizontalJustification: number; horizontalJustification: number;
fieldLength: number; fieldLength: number;
verticalJustification: number; verticalJustification: number;
extrusionDirectionX: number; extrusionDirectionX: number;
extrusionDirectionY: number; extrusionDirectionY: number;
extrusionDirectionZ: number; extrusionDirectionZ: number;
} }
export default class Attrib implements IGeometry { export default class Attrib implements IGeometry {
ForEntityName: "ATTRIB"; ForEntityName: "ATTRIB";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IAttribEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IAttribEntity;
} }

View File

@ -1,13 +1,13 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface ICircleEntity extends IEntity { export interface ICircleEntity extends IEntity {
center: IPoint; center: IPoint;
radius: number; radius: number;
startAngle: number; startAngle: number;
endAngle: number; endAngle: number;
angleLength: number; angleLength: number;
} }
export default class Circle implements IGeometry { export default class Circle implements IGeometry {
ForEntityName: "CIRCLE"; ForEntityName: "CIRCLE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ICircleEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ICircleEntity;
} }

View File

@ -1,22 +1,22 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IDimensionEntity extends IEntity { export interface IDimensionEntity extends IEntity {
block: string; block: string;
dimStyleName: string; dimStyleName: string;
anchorPoint: IPoint; anchorPoint: IPoint;
middleOfText: IPoint; middleOfText: IPoint;
insertionPoint: IPoint; insertionPoint: IPoint;
linearOrAngularPoint1: IPoint; linearOrAngularPoint1: IPoint;
linearOrAngularPoint2: IPoint; linearOrAngularPoint2: IPoint;
diameterOrRadiusPoint: IPoint; diameterOrRadiusPoint: IPoint;
arcPoint: IPoint; arcPoint: IPoint;
dimensionType: number; dimensionType: number;
attachmentPoint: number; attachmentPoint: number;
actualMeasurement: number; actualMeasurement: number;
text: string; text: string;
angle: number; angle: number;
} }
export default class Dimension implements IGeometry { export default class Dimension implements IGeometry {
ForEntityName: "DIMENSION"; ForEntityName: "DIMENSION";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IDimensionEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IDimensionEntity;
} }

View File

@ -1,15 +1,15 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IEllipseEntity extends IEntity { export interface IEllipseEntity extends IEntity {
center: IPoint; center: IPoint;
majorAxisEndPoint: IPoint; majorAxisEndPoint: IPoint;
axisRatio: number; axisRatio: number;
startAngle: number; startAngle: number;
endAngle: number; endAngle: number;
name: string; name: string;
extrusionDirection: IPoint; extrusionDirection: IPoint;
} }
export default class Ellipse implements IGeometry { export default class Ellipse implements IGeometry {
ForEntityName: "ELLIPSE"; ForEntityName: "ELLIPSE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IEllipseEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IEllipseEntity;
} }

View File

@ -1,40 +1,40 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
/** /**
* @internal * @internal
*/ */
export interface IPoint { export interface IPoint {
x: number; x: number;
y: number; y: number;
z?: number; z?: number;
bulge?: number; bulge?: number;
} }
export interface IEntity { export interface IEntity {
lineType: string; lineType: string;
layer: string; layer: string;
lineTypeScale: number; lineTypeScale: number;
visible: boolean; visible: boolean;
colorIndex: number; colorIndex: number;
color: number; color: number;
isTrueColor: boolean; isTrueColor: boolean;
inPaperSpace: boolean; inPaperSpace: boolean;
layoutName: string; layoutName: string;
ownerHandle: string; ownerHandle: string;
materialObjectHandle: number; materialObjectHandle: number;
lineweight: 0 | 5 | 9 | 13 | 15 | 18 | 20 | 25 | 30 | 35 | 40 | 50 | 53 | 60 | 70 | 80 | 90 | 100 | 106 | 120 | 140 | 158 | 200 | 211 | -3 | -2 | -1; lineweight: 0 | 5 | 9 | 13 | 15 | 18 | 20 | 25 | 30 | 35 | 40 | 50 | 53 | 60 | 70 | 80 | 90 | 100 | 106 | 120 | 140 | 158 | 200 | 211 | -3 | -2 | -1;
extendedData?: { extendedData?: {
customStrings?: string[]; customStrings?: string[];
applicationName?: string; applicationName?: string;
originalHandle?: string; originalHandle?: string;
originalType?: string; originalType?: string;
outlines?: number[][][]; outlines?: number[][][];
}; };
type: string; type: string;
handle: string; handle: string;
blockPosition?: IPoint; blockPosition?: IPoint;
attributesFollow?: boolean; attributesFollow?: boolean;
} }
export declare type EntityName = "POINT" | "3DFACE" | "ARC" | "ATTDEF" | "ATTRIB" | "CIRCLE" | "DIMENSION" | "MULTILEADER" | "ELLIPSE" | "HATCH" | "IMAGE" | "INSERT" | "LEADER" | "LINE" | "LWPOLYLINE" | "MTEXT" | "OLE2FRAME" | "POLYLINE" | "REGION" | "RAY" | "SEQEND" | "SOLID" | "SPLINE" | "ACAD_TABLE" | "TEXT" | "VERTEX" | "VIEWPORT" | "XLINE"; export declare type EntityName = "POINT" | "3DFACE" | "ARC" | "ATTDEF" | "ATTRIB" | "CIRCLE" | "DIMENSION" | "MULTILEADER" | "ELLIPSE" | "HATCH" | "IMAGE" | "INSERT" | "LEADER" | "LINE" | "LWPOLYLINE" | "MTEXT" | "OLE2FRAME" | "POLYLINE" | "REGION" | "RAY" | "SEQEND" | "SOLID" | "SPLINE" | "ACAD_TABLE" | "TEXT" | "VERTEX" | "VIEWPORT" | "XLINE";
export default interface IGeometry { export default interface IGeometry {
ForEntityName: EntityName; ForEntityName: EntityName;
parseEntity(scanner: DxfBaseReader, curr: IGroup): IEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IEntity;
} }

View File

@ -1,108 +1,108 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export declare enum HatchBoundaryPathTypeFlag { export declare enum HatchBoundaryPathTypeFlag {
Default = 0, Default = 0,
External = 1, External = 1,
Polyline = 2, Polyline = 2,
Derived = 4, Derived = 4,
Textbox = 8, Textbox = 8,
Outermost = 16, Outermost = 16,
MaxFlags = 31 MaxFlags = 31
} }
export declare enum HatchEdgeType { export declare enum HatchEdgeType {
Polyline = 0, Polyline = 0,
Line = 1, Line = 1,
Arc = 2, Arc = 2,
Ellipse = 3, Ellipse = 3,
Spline = 4 Spline = 4
} }
export declare abstract class HatchEdge { export declare abstract class HatchEdge {
readonly type: HatchEdgeType; readonly type: HatchEdgeType;
startPoint: IPoint; startPoint: IPoint;
endPoint: IPoint; endPoint: IPoint;
constructor(type: HatchEdgeType); constructor(type: HatchEdgeType);
} }
export declare class HatchPolyline extends HatchEdge { export declare class HatchPolyline extends HatchEdge {
points: IPoint[]; points: IPoint[];
isClosed: boolean; isClosed: boolean;
constructor(); constructor();
} }
export declare class HatchLine extends HatchEdge { export declare class HatchLine extends HatchEdge {
constructor(); constructor();
} }
export declare class HatchArc extends HatchEdge { export declare class HatchArc extends HatchEdge {
center: IPoint; center: IPoint;
radius: number; radius: number;
startAngle: number; startAngle: number;
endAngle: number; endAngle: number;
bCounterclockwise: boolean; bCounterclockwise: boolean;
constructor(); constructor();
} }
export declare class HatchEllipse extends HatchEdge { export declare class HatchEllipse extends HatchEdge {
center: IPoint; center: IPoint;
majorAxisEndPoint: IPoint; majorAxisEndPoint: IPoint;
minorRatio: number; minorRatio: number;
startAngle: number; startAngle: number;
endAngle: number; endAngle: number;
bCounterclockwise: boolean; bCounterclockwise: boolean;
constructor(); constructor();
} }
export declare class HatchSpline extends HatchEdge { export declare class HatchSpline extends HatchEdge {
controlPoints: IPoint[]; controlPoints: IPoint[];
numControlPoints: number; numControlPoints: number;
knotValues: number[]; knotValues: number[];
numKnots: number; numKnots: number;
bPeriodic: boolean; bPeriodic: boolean;
bRational: boolean; bRational: boolean;
degreeOfSplineCurve: number; degreeOfSplineCurve: number;
constructor(); constructor();
} }
export interface IHatchBoundaryPath { export interface IHatchBoundaryPath {
edges: HatchEdge[]; edges: HatchEdge[];
pathTypeFlag: HatchBoundaryPathTypeFlag; pathTypeFlag: HatchBoundaryPathTypeFlag;
} }
export declare enum HatchStyle { export declare enum HatchStyle {
Normal = 0, Normal = 0,
Outer = 1, Outer = 1,
Ignore = 2 Ignore = 2
} }
export declare enum HatchType { export declare enum HatchType {
UserDefined = 0, UserDefined = 0,
Predefined = 1, Predefined = 1,
Custom = 2 Custom = 2
} }
export interface IHatchPatternLine { export interface IHatchPatternLine {
angle: number; angle: number;
origin: IPoint; origin: IPoint;
delta: IPoint; delta: IPoint;
dashPattern: number[]; dashPattern: number[];
} }
export interface IHatchEntity extends IEntity { export interface IHatchEntity extends IEntity {
elevationX: number; elevationX: number;
elevationY: number; elevationY: number;
elevationZ: number; elevationZ: number;
pixelSize: number; pixelSize: number;
associativity: boolean; associativity: boolean;
annotatedBoundary: boolean; annotatedBoundary: boolean;
boundaryPathsCount: number; boundaryPathsCount: number;
boundaryPaths: IHatchBoundaryPath[]; boundaryPaths: IHatchBoundaryPath[];
seedPointsCount: number; seedPointsCount: number;
extrusionDirectionX: number; extrusionDirectionX: number;
extrusionDirectionY: number; extrusionDirectionY: number;
extrusionDirectionZ: number; extrusionDirectionZ: number;
patternName: string; patternName: string;
solidFill: boolean; solidFill: boolean;
patternFillColor: number; patternFillColor: number;
style: HatchStyle; style: HatchStyle;
patternType: HatchType; patternType: HatchType;
patternAngle: number; patternAngle: number;
patternScale: number; patternScale: number;
patternLines?: IHatchPatternLine[]; patternLines?: IHatchPatternLine[];
isGradientColor?: boolean; isGradientColor?: boolean;
gradientColorCount?: number; gradientColorCount?: number;
gradientColors?: number[]; gradientColors?: number[];
} }
export default class Hatch implements IGeometry { export default class Hatch implements IGeometry {
readonly ForEntityName = "HATCH"; readonly ForEntityName = "HATCH";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IHatchEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IHatchEntity;
} }

View File

@ -1,37 +1,37 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export declare enum ImageFlags { export declare enum ImageFlags {
ShowImage = 1, ShowImage = 1,
ShowImageWhenNotAlignedWithScreen = 2, ShowImageWhenNotAlignedWithScreen = 2,
UseClippingBoundary = 4, UseClippingBoundary = 4,
TransparencyIsOn = 8 TransparencyIsOn = 8
} }
export declare enum ImageClippingBoundaryType { export declare enum ImageClippingBoundaryType {
Rectangular = 1, Rectangular = 1,
Polygonal = 2 Polygonal = 2
} }
export declare enum ImageClipMode { export declare enum ImageClipMode {
Outside = 0, Outside = 0,
Inside = 1 Inside = 1
} }
export interface IImageEntity extends IEntity { export interface IImageEntity extends IEntity {
position: IPoint; position: IPoint;
uPixel: IPoint; uPixel: IPoint;
vPixel: IPoint; vPixel: IPoint;
imageSize: IPoint; imageSize: IPoint;
imageDefHandle: string; imageDefHandle: string;
flags: ImageFlags; flags: ImageFlags;
clipping: number; clipping: number;
brightness: number; brightness: number;
contrast: number; contrast: number;
fade: number; fade: number;
imageDefReactorHandle: string; imageDefReactorHandle: string;
clippingBoundaryType: ImageClippingBoundaryType; clippingBoundaryType: ImageClippingBoundaryType;
countBoundaryPoints: number; countBoundaryPoints: number;
clippingBoundaryPath: IPoint[]; clippingBoundaryPath: IPoint[];
clipMode: ImageClipMode; clipMode: ImageClipMode;
} }
export default class Image implements IGeometry { export default class Image implements IGeometry {
ForEntityName: "IMAGE"; ForEntityName: "IMAGE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IImageEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IImageEntity;
} }

View File

@ -1,20 +1,20 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IInsertEntity extends IEntity { export interface IInsertEntity extends IEntity {
block: string; block: string;
attributesFollow: boolean; attributesFollow: boolean;
xScale: number; xScale: number;
yScale: number; yScale: number;
zScale: number; zScale: number;
position: IPoint; position: IPoint;
rotation: number; rotation: number;
columnCount: number; columnCount: number;
rowCount: number; rowCount: number;
columnSpacing: number; columnSpacing: number;
rowSpacing: number; rowSpacing: number;
extrusionDirection: IPoint; extrusionDirection: IPoint;
} }
export default class Insert implements IGeometry { export default class Insert implements IGeometry {
ForEntityName: "INSERT"; ForEntityName: "INSERT";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IInsertEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IInsertEntity;
} }

View File

@ -1,23 +1,23 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface ILeaderEntity extends IEntity { export interface ILeaderEntity extends IEntity {
dimensionStyle: string; dimensionStyle: string;
position: IPoint; position: IPoint;
textHeight: number; textHeight: number;
textWidth: number; textWidth: number;
rotation: number; rotation: number;
arrowFlag: number; arrowFlag: number;
pathType: number; pathType: number;
arrowHeight: number; arrowHeight: number;
arrowHeadScale: number; arrowHeadScale: number;
creationFlag: number; creationFlag: number;
direction: number; direction: number;
hasHookline: boolean; hasHookline: boolean;
block: string; block: string;
arrowHeadBlockHandle: string; arrowHeadBlockHandle: string;
vertices: IPoint[]; vertices: IPoint[];
} }
export default class Leader implements IGeometry { export default class Leader implements IGeometry {
ForEntityName: "LEADER"; ForEntityName: "LEADER";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ILeaderEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ILeaderEntity;
} }

View File

@ -1,10 +1,10 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from './geomtry'; import IGeometry, { IEntity, IPoint } from './geomtry';
export interface ILineEntity extends IEntity { export interface ILineEntity extends IEntity {
vertices: IPoint[]; vertices: IPoint[];
extrusionDirection: IPoint; extrusionDirection: IPoint;
} }
export default class Line implements IGeometry { export default class Line implements IGeometry {
ForEntityName: "LINE"; ForEntityName: "LINE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ILineEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ILineEntity;
} }

View File

@ -1,21 +1,21 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IVertex extends IPoint { export interface IVertex extends IPoint {
startWidth?: number; startWidth?: number;
endWidth?: number; endWidth?: number;
} }
export interface ILwpolylineEntity extends IEntity { export interface ILwpolylineEntity extends IEntity {
vertices: IVertex[]; vertices: IVertex[];
elevation?: number; elevation?: number;
thickness?: number; thickness?: number;
shape: boolean; shape: boolean;
hasContinuousLinetypePattern: boolean; hasContinuousLinetypePattern: boolean;
constantWidth?: number; constantWidth?: number;
extrusionDirectionX?: number; extrusionDirectionX?: number;
extrusionDirectionY?: number; extrusionDirectionY?: number;
extrusionDirectionZ?: number; extrusionDirectionZ?: number;
} }
export default class Lwpolyline implements IGeometry { export default class Lwpolyline implements IGeometry {
ForEntityName: "LWPOLYLINE"; ForEntityName: "LWPOLYLINE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ILwpolylineEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ILwpolylineEntity;
} }

View File

@ -1,101 +1,101 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface ILeaderEntity extends IEntity { export interface ILeaderEntity extends IEntity {
leaderStyleId: number; leaderStyleId: number;
leaderLineType: number; leaderLineType: number;
leaderLineColor: number; leaderLineColor: number;
leaderLineTypeId: number; leaderLineTypeId: number;
leaderLineWeight: number; leaderLineWeight: number;
enableLanding: boolean; enableLanding: boolean;
enableDogLeg: boolean; enableDogLeg: boolean;
doglegLength: number; doglegLength: number;
arrowHeadId: number; arrowHeadId: number;
arrowHeadSize: number; arrowHeadSize: number;
contentType: number; contentType: number;
textStyleId: number; textStyleId: number;
textLeftAttachmentType: number; textLeftAttachmentType: number;
textRightAttachmentType: number; textRightAttachmentType: number;
textAngleType: number; textAngleType: number;
textAlignmentType: number; textAlignmentType: number;
textColor: number; textColor: number;
enableFrameText: boolean; enableFrameText: boolean;
blockContentId: number; blockContentId: number;
blockContentColor: number; blockContentColor: number;
blockContentScale: IPoint; blockContentScale: IPoint;
blockContentRotation: number; blockContentRotation: number;
blockContentConnectionType: number; blockContentConnectionType: number;
enableAnotationScale: boolean; enableAnotationScale: boolean;
arrowHeadIndex: number; arrowHeadIndex: number;
blockAttributeId: number; blockAttributeId: number;
blockAttributeIndex: number; blockAttributeIndex: number;
blockAttributeWidth: number; blockAttributeWidth: number;
blockAttributeTextString: string; blockAttributeTextString: string;
textDirectionNegative: boolean; textDirectionNegative: boolean;
textAlignInIPE: number; textAlignInIPE: number;
textAttachmentPoint: number; textAttachmentPoint: number;
textAttachmentDirectionMText: number; textAttachmentDirectionMText: number;
textAttachmentDirectionBottom: number; textAttachmentDirectionBottom: number;
textAttachmentDirectionTop: number; textAttachmentDirectionTop: number;
contextData: IMLeaderContextData; contextData: IMLeaderContextData;
} }
export interface IMLeaderContextData { export interface IMLeaderContextData {
contentScale: number; contentScale: number;
contentBasePosition: IPoint; contentBasePosition: IPoint;
textHeight: number; textHeight: number;
arrowHeadSize: number; arrowHeadSize: number;
landingGap: number; landingGap: number;
hasMText: boolean; hasMText: boolean;
defaultTextContents: string; defaultTextContents: string;
textNormalDirection: IPoint; textNormalDirection: IPoint;
textLocation: IPoint; textLocation: IPoint;
textDirection: IPoint; textDirection: IPoint;
textRotation: number; textRotation: number;
textWidth: number; textWidth: number;
textLineSpacingFactor: number; textLineSpacingFactor: number;
textLineSpacingStyle: number; textLineSpacingStyle: number;
textColor: number; textColor: number;
textAttachment: number; textAttachment: number;
textFlowDirection: number; textFlowDirection: number;
textBackgroundColor: number; textBackgroundColor: number;
textBackgroundScaleFactor: number; textBackgroundScaleFactor: number;
textBackgroundTransparency: number; textBackgroundTransparency: number;
textBackgroundColorOn: boolean; textBackgroundColorOn: boolean;
textBackgroundFillOn: boolean; textBackgroundFillOn: boolean;
textColumnType: number; textColumnType: number;
textUseAutoHeight: boolean; textUseAutoHeight: boolean;
textColumnWidth: number; textColumnWidth: number;
textColumnGutterWidth: number; textColumnGutterWidth: number;
textColumnFlowReversed: boolean; textColumnFlowReversed: boolean;
textColumnHeight: number; textColumnHeight: number;
textUseWordBreak: boolean; textUseWordBreak: boolean;
hasBlock: boolean; hasBlock: boolean;
blockContentId: number; blockContentId: number;
blockContentNormalDirection: IPoint; blockContentNormalDirection: IPoint;
blockContentPosition: IPoint; blockContentPosition: IPoint;
blockContentScale: number; blockContentScale: number;
blockContentRotation: number; blockContentRotation: number;
blockContentColor: number; blockContentColor: number;
blockTransformationMatrix: number[]; blockTransformationMatrix: number[];
planeOriginPoint: IPoint; planeOriginPoint: IPoint;
planeXAxisDirection: IPoint; planeXAxisDirection: IPoint;
planeYAxisDirection: IPoint; planeYAxisDirection: IPoint;
planeNormalReversed: boolean; planeNormalReversed: boolean;
leaders: IMLeaderLeader[]; leaders: IMLeaderLeader[];
} }
export interface IMLeaderLeader { export interface IMLeaderLeader {
hasSetLastLeaderLinePoint: boolean; hasSetLastLeaderLinePoint: boolean;
hasSetDoglegVector: boolean; hasSetDoglegVector: boolean;
lastLeaderLinePoint: IPoint; lastLeaderLinePoint: IPoint;
doglegVector: IPoint; doglegVector: IPoint;
leaderBranchIndex: number; leaderBranchIndex: number;
doglegLength: number; doglegLength: number;
leaderLines: IMLeaderLine[]; leaderLines: IMLeaderLine[];
} }
export interface IMLeaderLine { export interface IMLeaderLine {
vertices: IPoint[][]; vertices: IPoint[][];
leaderLineIndex: number; leaderLineIndex: number;
} }
export default class MLeader implements IGeometry { export default class MLeader implements IGeometry {
ForEntityName: "MULTILEADER"; ForEntityName: "MULTILEADER";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ILeaderEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ILeaderEntity;
} }

View File

@ -1,18 +1,18 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IMtextEntity extends IEntity { export interface IMtextEntity extends IEntity {
text: string; text: string;
position: IPoint; position: IPoint;
directionVector?: IPoint; directionVector?: IPoint;
height: number; height: number;
width: number; width: number;
rotation?: number; rotation?: number;
attachmentPoint: number; attachmentPoint: number;
drawingDirection: number; drawingDirection: number;
textStyle?: string; textStyle?: string;
lineSpaceFactor?: number; lineSpaceFactor?: number;
} }
export default class Mtext implements IGeometry { export default class Mtext implements IGeometry {
ForEntityName: "MTEXT"; ForEntityName: "MTEXT";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IMtextEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IMtextEntity;
} }

View File

@ -1,20 +1,20 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity } from "./geomtry"; import IGeometry, { IEntity } from "./geomtry";
export interface IOleEntity extends IEntity { export interface IOleEntity extends IEntity {
documentType: string; documentType: string;
version: number; version: number;
leftUpX: number; leftUpX: number;
leftUpY: number; leftUpY: number;
leftUpZ: number; leftUpZ: number;
rightDownX: number; rightDownX: number;
rightDownY: number; rightDownY: number;
rightDownZ: number; rightDownZ: number;
type: string; type: string;
tileModeDescriptor: number; tileModeDescriptor: number;
binaryData: string; binaryData: string;
lengthOfBinaryData: number; lengthOfBinaryData: number;
} }
export default class Ole implements IGeometry { export default class Ole implements IGeometry {
readonly ForEntityName = "OLE2FRAME"; readonly ForEntityName = "OLE2FRAME";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IOleEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IOleEntity;
} }

View File

@ -1,11 +1,11 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from './geomtry'; import IGeometry, { IEntity, IPoint } from './geomtry';
export interface IPointEntity extends IEntity { export interface IPointEntity extends IEntity {
position: IPoint; position: IPoint;
thickness: number; thickness: number;
extrusionDirection: IPoint; extrusionDirection: IPoint;
} }
export default class Point implements IGeometry { export default class Point implements IGeometry {
ForEntityName: "POINT"; ForEntityName: "POINT";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IPointEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IPointEntity;
} }

View File

@ -1,20 +1,20 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
import { IVertexEntity } from "./vertex"; import { IVertexEntity } from "./vertex";
export interface IPolylineEntity extends IEntity { export interface IPolylineEntity extends IEntity {
vertices: IVertexEntity[]; vertices: IVertexEntity[];
thickness: number; thickness: number;
shape: boolean; shape: boolean;
includesCurveFitVertices: boolean; includesCurveFitVertices: boolean;
includesSplineFitVertices: boolean; includesSplineFitVertices: boolean;
is3dPolyline: boolean; is3dPolyline: boolean;
is3dPolygonMesh: boolean; is3dPolygonMesh: boolean;
is3dPolygonMeshClosed: boolean; is3dPolygonMeshClosed: boolean;
isPolyfaceMesh: boolean; isPolyfaceMesh: boolean;
hasContinuousLinetypePattern: boolean; hasContinuousLinetypePattern: boolean;
extrusionDirection: IPoint; extrusionDirection: IPoint;
} }
export default class Polyline implements IGeometry { export default class Polyline implements IGeometry {
ForEntityName: "POLYLINE"; ForEntityName: "POLYLINE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IPolylineEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IPolylineEntity;
} }

View File

@ -1,10 +1,10 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from './geomtry'; import IGeometry, { IEntity, IPoint } from './geomtry';
export interface IRayEntity extends IEntity { export interface IRayEntity extends IEntity {
vertices: IPoint[]; vertices: IPoint[];
directionVector: IPoint; directionVector: IPoint;
} }
export default class Ray implements IGeometry { export default class Ray implements IGeometry {
ForEntityName: "RAY"; ForEntityName: "RAY";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IRayEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IRayEntity;
} }

View File

@ -1,10 +1,10 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity } from "./geomtry"; import IGeometry, { IEntity } from "./geomtry";
export interface IRegionEntity extends IEntity { export interface IRegionEntity extends IEntity {
modelerVersion?: number; modelerVersion?: number;
proprietaryData?: string; proprietaryData?: string;
} }
export default class Region implements IGeometry { export default class Region implements IGeometry {
ForEntityName: "REGION"; ForEntityName: "REGION";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IRegionEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IRegionEntity;
} }

View File

@ -1,8 +1,8 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity } from './geomtry'; import IGeometry, { IEntity } from './geomtry';
export interface ISeqendEntity extends IEntity { export interface ISeqendEntity extends IEntity {
} }
export default class Seqend implements IGeometry { export default class Seqend implements IGeometry {
ForEntityName: "SEQEND"; ForEntityName: "SEQEND";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ISeqendEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ISeqendEntity;
} }

View File

@ -1,10 +1,10 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface ISolidEntity extends IEntity { export interface ISolidEntity extends IEntity {
points: IPoint[]; points: IPoint[];
extrusionDirection: IPoint; extrusionDirection: IPoint;
} }
export default class Solid implements IGeometry { export default class Solid implements IGeometry {
ForEntityName: "SOLID"; ForEntityName: "SOLID";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ISolidEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ISolidEntity;
} }

View File

@ -1,23 +1,23 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface ISplineEntity extends IEntity { export interface ISplineEntity extends IEntity {
controlPoints?: IPoint[]; controlPoints?: IPoint[];
fitPoints?: IPoint[]; fitPoints?: IPoint[];
startTangent: IPoint; startTangent: IPoint;
endTangent: IPoint; endTangent: IPoint;
knotValues: number[]; knotValues: number[];
closed: boolean; closed: boolean;
periodic: boolean; periodic: boolean;
rational: boolean; rational: boolean;
planar: boolean; planar: boolean;
linear: boolean; linear: boolean;
degreeOfSplineCurve: number; degreeOfSplineCurve: number;
numberOfKnots: number; numberOfKnots: number;
numberOfControlPoints: number; numberOfControlPoints: number;
numberOfFitPoints: number; numberOfFitPoints: number;
normalVector: IPoint; normalVector: IPoint;
} }
export default class Spline implements IGeometry { export default class Spline implements IGeometry {
ForEntityName: "SPLINE"; ForEntityName: "SPLINE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ISplineEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ISplineEntity;
} }

View File

@ -1,42 +1,42 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
import { IMtextEntity } from "./mtext"; import { IMtextEntity } from "./mtext";
export interface ITableEntity extends IEntity { export interface ITableEntity extends IEntity {
version: number; version: number;
startPoint: IPoint; startPoint: IPoint;
directionVector: IPoint; directionVector: IPoint;
tableValue: number; tableValue: number;
rowCount: number; rowCount: number;
columnCount: number; columnCount: number;
overrideFlag?: number; overrideFlag?: number;
borderColorOverrideFlag?: number; borderColorOverrideFlag?: number;
borderLineWeightOverrideFlag?: number; borderLineWeightOverrideFlag?: number;
borderVisibilityOverrideFlag?: number; borderVisibilityOverrideFlag?: number;
rowHeightArr: number[]; rowHeightArr: number[];
columnWidthArr: number[]; columnWidthArr: number[];
tableStyleId?: string; tableStyleId?: string;
blockRecordHandle?: string; blockRecordHandle?: string;
cells: TableCell[]; cells: TableCell[];
} }
export interface TableCell extends IMtextEntity { export interface TableCell extends IMtextEntity {
cellType: number; cellType: number;
flagValue?: number; flagValue?: number;
mergedValue?: number; mergedValue?: number;
autoFit?: number; autoFit?: number;
borderWidth?: number; borderWidth?: number;
borderHeight?: number; borderHeight?: number;
overrideFlag?: number; overrideFlag?: number;
virtualEdgeFlag?: number; virtualEdgeFlag?: number;
fieldObjetId?: string; fieldObjetId?: string;
blockTableRecordId?: string; blockTableRecordId?: string;
blockScale?: number; blockScale?: number;
blockAttrNum?: number; blockAttrNum?: number;
attrDefineId?: string[]; attrDefineId?: string[];
attrText?: string; attrText?: string;
textHeight: number; textHeight: number;
extendedCellFlags?: number; extendedCellFlags?: number;
} }
export default class Table implements IGeometry { export default class Table implements IGeometry {
ForEntityName: "ACAD_TABLE"; ForEntityName: "ACAD_TABLE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ITableEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ITableEntity;
} }

View File

@ -1,18 +1,18 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface ITextEntity extends IEntity { export interface ITextEntity extends IEntity {
startPoint: IPoint; startPoint: IPoint;
endPoint: IPoint; endPoint: IPoint;
textHeight: number; textHeight: number;
xScale: number; xScale: number;
rotation: number; rotation: number;
text: string; text: string;
textStyle: string; textStyle: string;
mirrored: number; mirrored: number;
halign: number; halign: number;
valign: number; valign: number;
} }
export default class Text implements IGeometry { export default class Text implements IGeometry {
ForEntityName: "TEXT"; ForEntityName: "TEXT";
parseEntity(scanner: DxfBaseReader, curr: IGroup): ITextEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): ITextEntity;
} }

View File

@ -1,20 +1,20 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from './geomtry'; import IGeometry, { IEntity, IPoint } from './geomtry';
export interface IVertexEntity extends IEntity, IPoint { export interface IVertexEntity extends IEntity, IPoint {
bulge: number; bulge: number;
curveFittingVertex: boolean; curveFittingVertex: boolean;
curveFitTangent: boolean; curveFitTangent: boolean;
splineVertex: boolean; splineVertex: boolean;
splineControlPoint: boolean; splineControlPoint: boolean;
threeDPolylineVertex: boolean; threeDPolylineVertex: boolean;
threeDPolylineMesh: boolean; threeDPolylineMesh: boolean;
polyfaceMeshVertex: boolean; polyfaceMeshVertex: boolean;
faceA: number; faceA: number;
faceB: number; faceB: number;
faceC: number; faceC: number;
faceD: number; faceD: number;
} }
export default class Vertex implements IGeometry { export default class Vertex implements IGeometry {
ForEntityName: "VERTEX"; ForEntityName: "VERTEX";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IVertexEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IVertexEntity;
} }

View File

@ -1,46 +1,46 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from "./geomtry"; import IGeometry, { IEntity, IPoint } from "./geomtry";
export interface IViewportEntity extends IEntity { export interface IViewportEntity extends IEntity {
centerPoint: IPoint; centerPoint: IPoint;
width_paperSpace: number; width_paperSpace: number;
height_paperSpace: number; height_paperSpace: number;
viewportStatus: number; viewportStatus: number;
viewportId: string; viewportId: string;
centerPoint_dcs: IPoint; centerPoint_dcs: IPoint;
snapBasePoint_dcs: IPoint; snapBasePoint_dcs: IPoint;
snapSpacing_dcs: IPoint; snapSpacing_dcs: IPoint;
gridSpacing_dcs: IPoint; gridSpacing_dcs: IPoint;
viewDirection: IPoint; viewDirection: IPoint;
viewTarget: IPoint; viewTarget: IPoint;
perspectiveLens: number; perspectiveLens: number;
frontClippingPlaneZ: number; frontClippingPlaneZ: number;
backClippingPlaneZ: number; backClippingPlaneZ: number;
viewHeight: number; viewHeight: number;
snapAngle: number; snapAngle: number;
viewTwistAngle: number; viewTwistAngle: number;
circleZoomPercent: number; circleZoomPercent: number;
frozenLayerHandles: string[]; frozenLayerHandles: string[];
viewportStatusFlags: number; viewportStatusFlags: number;
viewportClippingBoundaryhandleId: string; viewportClippingBoundaryhandleId: string;
plotStyleSheetName: string; plotStyleSheetName: string;
renderMode: number; renderMode: number;
viewportFlag_ucs: number; viewportFlag_ucs: number;
ucsIcon: string; ucsIcon: string;
ucsOrigin: IPoint; ucsOrigin: IPoint;
ucsXAxis: IPoint; ucsXAxis: IPoint;
ucsYAxis: IPoint; ucsYAxis: IPoint;
ucsTableRecordHandle: string; ucsTableRecordHandle: string;
baseUcsTableRecordHandle: string; baseUcsTableRecordHandle: string;
orthographicType: number; orthographicType: number;
elevation: number; elevation: number;
shadePlotMode: number; shadePlotMode: number;
frequency: number; frequency: number;
lightingFlag: number; lightingFlag: number;
lightingType: number; lightingType: number;
viewBrightness: number; viewBrightness: number;
viewContrast: number; viewContrast: number;
} }
export default class Viewport implements IGeometry { export default class Viewport implements IGeometry {
ForEntityName: "VIEWPORT"; ForEntityName: "VIEWPORT";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IViewportEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IViewportEntity;
} }

View File

@ -1,10 +1,10 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import IGeometry, { IEntity, IPoint } from './geomtry'; import IGeometry, { IEntity, IPoint } from './geomtry';
export interface IXLineEntity extends IEntity { export interface IXLineEntity extends IEntity {
vertices: IPoint[]; vertices: IPoint[];
directionVector: IPoint; directionVector: IPoint;
} }
export default class XLine implements IGeometry { export default class XLine implements IGeometry {
ForEntityName: "XLINE"; ForEntityName: "XLINE";
parseEntity(scanner: DxfBaseReader, curr: IGroup): IXLineEntity; parseEntity(scanner: DxfBaseReader, curr: IGroup): IXLineEntity;
} }

View File

@ -1,27 +1,27 @@
export { default, default as DxfParser } from "./DxfParser"; export { default, default as DxfParser } from "./DxfParser";
export type { IDxf, IBlock, ILayerTypesTable, ILayersTable, ITables, IViewportTable, IBaseTable, ILayer, ILayerTableDefinition, ILineType, ILineTypeTableDefinition, ITable, ITableDefinitions, IViewport, IViewportTableDefinition, } from "./DxfParser"; export type { IDxf, IBlock, ILayerTypesTable, ILayersTable, ITables, IViewportTable, IBaseTable, ILayer, ILayerTableDefinition, ILineType, ILineTypeTableDefinition, ITable, ITableDefinitions, IViewport, IViewportTableDefinition, } from "./DxfParser";
export type { IEntity, IPoint } from "./entities/geomtry"; export type { IEntity, IPoint } from "./entities/geomtry";
export type { I3DfaceEntity } from "./entities/3dface"; export type { I3DfaceEntity } from "./entities/3dface";
export type { IArcEntity } from "./entities/arc"; export type { IArcEntity } from "./entities/arc";
export type { IAttdefEntity } from "./entities/attdef"; export type { IAttdefEntity } from "./entities/attdef";
export type { ICircleEntity } from "./entities/circle"; export type { ICircleEntity } from "./entities/circle";
export type { IDimensionEntity } from "./entities/dimension"; export type { IDimensionEntity } from "./entities/dimension";
export type { ILeaderEntity } from "./entities/mleader"; export type { ILeaderEntity } from "./entities/mleader";
export type { IEllipseEntity } from "./entities/ellipse"; export type { IEllipseEntity } from "./entities/ellipse";
export type { IHatchEntity } from "./entities/hatch"; export type { IHatchEntity } from "./entities/hatch";
export type { IInsertEntity } from "./entities/insert"; export type { IInsertEntity } from "./entities/insert";
export type { ILineEntity } from "./entities/line"; export type { ILineEntity } from "./entities/line";
export type { ILwpolylineEntity } from "./entities/lwpolyline"; export type { ILwpolylineEntity } from "./entities/lwpolyline";
export type { IMtextEntity } from "./entities/mtext"; export type { IMtextEntity } from "./entities/mtext";
export type { IPointEntity } from "./entities/point"; export type { IPointEntity } from "./entities/point";
export type { IPolylineEntity } from "./entities/polyline"; export type { IPolylineEntity } from "./entities/polyline";
export type { ISolidEntity } from "./entities/solid"; export type { ISolidEntity } from "./entities/solid";
export type { ISplineEntity } from "./entities/spline"; export type { ISplineEntity } from "./entities/spline";
export type { ITextEntity } from "./entities/text"; export type { ITextEntity } from "./entities/text";
export type { ITableEntity, TableCell } from "./entities/table"; export type { ITableEntity, TableCell } from "./entities/table";
export type { IVertexEntity } from "./entities/vertex"; export type { IVertexEntity } from "./entities/vertex";
export type { IViewportEntity } from "./entities/viewport"; export type { IViewportEntity } from "./entities/viewport";
export type { IObject } from "./objects/common"; export type { IObject } from "./objects/common";
export type { IImageDefObject } from "./objects/imagedef"; export type { IImageDefObject } from "./objects/imagedef";
export type { ILayoutObject } from "./objects/layout"; export type { ILayoutObject } from "./objects/layout";
export type { ISortEntsObject, ISortEntsTableObject } from "./objects/sortentstable"; export type { ISortEntsObject, ISortEntsTableObject } from "./objects/sortentstable";

View File

@ -1,15 +1,15 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
export interface IObject { export interface IObject {
type: string; type: string;
handle: string; handle: string;
ownerHandle: string; ownerHandle: string;
extendedData?: { extendedData?: {
customStrings?: string[]; customStrings?: string[];
applicationName?: string; applicationName?: string;
}; };
} }
export declare type ObjectName = "ACAD_PROXY_OBJECT" | "ACDBDICTIONARYWDFLT" | "ACDBPLACEHOLDER" | "DATATABLE" | "DICTIONARY" | "DICTIONARYVAR" | "DIMASSOC" | "FIELD" | "GEODATA" | "IDBUFFER" | "IMAGEDEF" | "IMAGEDEF_REACTOR" | "LAYER_INDEX" | "LAYER_FILTER" | "LAYOUT" | "LIGHTLIST" | "MATERIAL" | "MLINESTYLE" | "OBJECT_PTR" | "PLOTSETTINGS" | "RASTERVARIABLES" | "RENDER" | "SECTION" | "SPATIAL_INDEX" | "SPATIAL_FILTER" | "SORTENTSTABLE" | "TABLESTYLE" | "UNDERLAYDEFINITION" | "VISUALSTYLE" | "VBA_PROJECT" | "WIPEOUTVARIABLES" | "XRECORD"; export declare type ObjectName = "ACAD_PROXY_OBJECT" | "ACDBDICTIONARYWDFLT" | "ACDBPLACEHOLDER" | "DATATABLE" | "DICTIONARY" | "DICTIONARYVAR" | "DIMASSOC" | "FIELD" | "GEODATA" | "IDBUFFER" | "IMAGEDEF" | "IMAGEDEF_REACTOR" | "LAYER_INDEX" | "LAYER_FILTER" | "LAYOUT" | "LIGHTLIST" | "MATERIAL" | "MLINESTYLE" | "OBJECT_PTR" | "PLOTSETTINGS" | "RASTERVARIABLES" | "RENDER" | "SECTION" | "SPATIAL_INDEX" | "SPATIAL_FILTER" | "SORTENTSTABLE" | "TABLESTYLE" | "UNDERLAYDEFINITION" | "VISUALSTYLE" | "VBA_PROJECT" | "WIPEOUTVARIABLES" | "XRECORD";
export interface IObjectParser { export interface IObjectParser {
ForObjectName: ObjectName; ForObjectName: ObjectName;
parseObject(scanner: DxfBaseReader, curr: IGroup): IObject; parseObject(scanner: DxfBaseReader, curr: IGroup): IObject;
} }

View File

@ -1,19 +1,19 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import { IObject, IObjectParser } from "./common"; import { IObject, IObjectParser } from "./common";
export declare enum DictionaryCloningFlags { export declare enum DictionaryCloningFlags {
NotApplicable = 0, NotApplicable = 0,
KeepExisting = 1, KeepExisting = 1,
UseClone = 2, UseClone = 2,
XrefName = 3, XrefName = 3,
Name = 4, Name = 4,
UnmangleName = 5 UnmangleName = 5
} }
export interface IDictionaryObject extends IObject { export interface IDictionaryObject extends IObject {
entries: Record<string, string>; entries: Record<string, string>;
isHardOwner: boolean; isHardOwner: boolean;
cloningFlag: DictionaryCloningFlags; cloningFlag: DictionaryCloningFlags;
} }
export declare class Dictionary implements IObjectParser { export declare class Dictionary implements IObjectParser {
ForObjectName: "DICTIONARY"; ForObjectName: "DICTIONARY";
parseObject(scanner: DxfBaseReader, curr: IGroup): IDictionaryObject; parseObject(scanner: DxfBaseReader, curr: IGroup): IDictionaryObject;
} }

View File

@ -1,24 +1,24 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import { IPoint } from "../entities/geomtry"; import { IPoint } from "../entities/geomtry";
import { IObject, IObjectParser } from "./common"; import { IObject, IObjectParser } from "./common";
export declare enum ImgaeDefLoaded { export declare enum ImgaeDefLoaded {
Unloaded = 0, Unloaded = 0,
Loaded = 1 Loaded = 1
} }
export declare enum ImageDefResolutionUnits { export declare enum ImageDefResolutionUnits {
NoUnits = 0, NoUnits = 0,
Centimeters = 2, Centimeters = 2,
Inches = 5 Inches = 5
} }
export interface IImageDefObject extends IObject { export interface IImageDefObject extends IObject {
classVersion: number; classVersion: number;
filename: string; filename: string;
imageSize: IPoint; imageSize: IPoint;
pixelSize: IPoint; pixelSize: IPoint;
loaded: ImgaeDefLoaded; loaded: ImgaeDefLoaded;
resolutionUnits: ImageDefResolutionUnits; resolutionUnits: ImageDefResolutionUnits;
} }
export declare class ImageDef implements IObjectParser { export declare class ImageDef implements IObjectParser {
ForObjectName: "IMAGEDEF"; ForObjectName: "IMAGEDEF";
parseObject(scanner: DxfBaseReader, curr: IGroup): IImageDefObject; parseObject(scanner: DxfBaseReader, curr: IGroup): IImageDefObject;
} }

View File

@ -1,29 +1,29 @@
import { IObject, IObjectParser } from './common'; import { IObject, IObjectParser } from './common';
import { DxfBaseReader, IGroup } from '../DxfBaseReader'; import { DxfBaseReader, IGroup } from '../DxfBaseReader';
import { IPoint } from '../entities/geomtry'; import { IPoint } from '../entities/geomtry';
/** /**
* @internal * @internal
*/ */
export interface ILayoutObject extends IObject { export interface ILayoutObject extends IObject {
plotSettings?: object; plotSettings?: object;
layoutName: string; layoutName: string;
flag: number; flag: number;
tabOrder: number; tabOrder: number;
minLimit: IPoint; minLimit: IPoint;
maxLimit: IPoint; maxLimit: IPoint;
basePoint: IPoint; basePoint: IPoint;
minExtent: IPoint; minExtent: IPoint;
maxExtent: IPoint; maxExtent: IPoint;
elevation: number; elevation: number;
origin: IPoint; origin: IPoint;
XAxis: IPoint; XAxis: IPoint;
YAxis: IPoint; YAxis: IPoint;
orthographicType: number; orthographicType: number;
blockTableHandle: string; blockTableHandle: string;
viewportHandle: string; viewportHandle: string;
associatedBlockName: string; associatedBlockName: string;
} }
export declare class Layout implements IObjectParser { export declare class Layout implements IObjectParser {
ForObjectName: "LAYOUT"; ForObjectName: "LAYOUT";
parseObject(scanner: DxfBaseReader, curr: IGroup): ILayoutObject; parseObject(scanner: DxfBaseReader, curr: IGroup): ILayoutObject;
} }

View File

@ -1,12 +1,12 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import { IObject, IObjectParser } from "./common"; import { IObject, IObjectParser } from "./common";
export interface ISortEntsObject extends IObject { export interface ISortEntsObject extends IObject {
entityHandles: string[][]; entityHandles: string[][];
} }
export interface ISortEntsTableObject extends IObject { export interface ISortEntsTableObject extends IObject {
sortEntsObject: ISortEntsObject; sortEntsObject: ISortEntsObject;
} }
export declare class SortEntsTable implements IObjectParser { export declare class SortEntsTable implements IObjectParser {
ForObjectName: "SORTENTSTABLE"; ForObjectName: "SORTENTSTABLE";
parseObject(scanner: DxfBaseReader, curr: IGroup): ISortEntsTableObject; parseObject(scanner: DxfBaseReader, curr: IGroup): ISortEntsTableObject;
} }

View File

@ -1,22 +1,22 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import { IPoint } from "../entities/geomtry"; import { IPoint } from "../entities/geomtry";
import { IObject, IObjectParser } from "./common"; import { IObject, IObjectParser } from "./common";
export interface ISpatialFilterObject extends IObject { export interface ISpatialFilterObject extends IObject {
origin: IPoint; origin: IPoint;
numberOfPointsOnClipBoundary: number; numberOfPointsOnClipBoundary: number;
vertices: IPoint[]; vertices: IPoint[];
extrusionDirectionX: number; extrusionDirectionX: number;
extrusionDirectionY: number; extrusionDirectionY: number;
extrusionDirectionZ: number; extrusionDirectionZ: number;
clipBoundaryVisible: boolean; clipBoundaryVisible: boolean;
frontClippingPlaneFlag: boolean; frontClippingPlaneFlag: boolean;
frontClippingPlaneDistance: number; frontClippingPlaneDistance: number;
backClippingPlaneFlag: boolean; backClippingPlaneFlag: boolean;
backClippingPlaneDistance: number; backClippingPlaneDistance: number;
matrix: number[]; matrix: number[];
invertBlockMatrix: number[]; invertBlockMatrix: number[];
} }
export declare class SpatialFilter implements IObjectParser { export declare class SpatialFilter implements IObjectParser {
ForObjectName: "SPATIAL_FILTER"; ForObjectName: "SPATIAL_FILTER";
parseObject(scanner: DxfBaseReader, curr: IGroup): ISpatialFilterObject; parseObject(scanner: DxfBaseReader, curr: IGroup): ISpatialFilterObject;
} }

View File

@ -1,11 +1,11 @@
import { DxfBaseReader, IGroup } from "../DxfBaseReader"; import { DxfBaseReader, IGroup } from "../DxfBaseReader";
import { IObject, IObjectParser } from "./common"; import { IObject, IObjectParser } from "./common";
import { DictionaryCloningFlags } from "./dictionary"; import { DictionaryCloningFlags } from "./dictionary";
export interface IXRecord extends IObject { export interface IXRecord extends IObject {
binaryData: string | undefined; binaryData: string | undefined;
cloningFlag: DictionaryCloningFlags; cloningFlag: DictionaryCloningFlags;
} }
export declare class XRecord implements IObjectParser { export declare class XRecord implements IObjectParser {
ForObjectName: "XRECORD"; ForObjectName: "XRECORD";
parseObject(scanner: DxfBaseReader, curr: IGroup): IXRecord; parseObject(scanner: DxfBaseReader, curr: IGroup): IXRecord;
} }

View File

@ -1,151 +1,151 @@
import * as THREE from "three"; import * as THREE from "three";
import type { DxfEntity } from "./DxfLoader"; import type { DxfEntity } from "./DxfLoader";
import type { DxfCompareConfig } from "../../core/Configs"; import type { DxfCompareConfig } from "../../core/Configs";
import { IDxf } from "../../core/dxf-parser"; import { IDxf } from "../../core/dxf-parser";
/** /**
* Dxf change type, which can be "Added", "Removed" or "Modified". * Dxf change type, which can be "Added", "Removed" or "Modified".
* *
* Note that a "Modified" change can be represented as a "Removed" and an "Added" types. * Note that a "Modified" change can be represented as a "Removed" and an "Added" types.
* *
* The system can display "Added" object in a specific color (green, etc.), * The system can display "Added" object in a specific color (green, etc.),
* and "Removed" in another color (red, etc.). * and "Removed" in another color (red, etc.).
*/ */
export declare enum DxfChangeType { export declare enum DxfChangeType {
Added = "Added", Added = "Added",
Removed = "Removed", Removed = "Removed",
Modified = "Modified", Modified = "Modified",
NoChange = "NoChange" NoChange = "NoChange"
} }
/** /**
* Dxf compare detail changes. * Dxf compare detail changes.
* It supports: * It supports:
* - color * - color
* - lineType * - lineType
* - constantWidth (polyline width) * - constantWidth (polyline width)
*/ */
export declare type DxfDetailChanges = { export declare type DxfDetailChanges = {
[propName: string]: { [propName: string]: {
/** /**
* The old value. * The old value.
*/ */
old: unknown; old: unknown;
/** /**
* The new value. * The new value.
*/ */
new: unknown; new: unknown;
}; };
}; };
/** /**
* Describes a dxf change * Describes a dxf change
*/ */
export interface DxfChange { export interface DxfChange {
/** /**
* An integer type id. It is unique in the lifecycle of a DxfViewer. * An integer type id. It is unique in the lifecycle of a DxfViewer.
*/ */
id: number; id: number;
/** /**
* Change type, which can be "Added", "Removed", "Modified" or "NoChange". * Change type, which can be "Added", "Removed", "Modified" or "NoChange".
*/ */
type: DxfChangeType; type: DxfChangeType;
/** /**
* AutoCAD entity handle * AutoCAD entity handle
*/ */
handle: string; handle: string;
/** /**
* @internal * @internal
*/ */
parentHandles?: string[]; parentHandles?: string[];
/** /**
* @internal * @internal
*/ */
box?: THREE.Box3; box?: THREE.Box3;
detailChanges?: DxfDetailChanges; detailChanges?: DxfDetailChanges;
} }
/** /**
* Used to compare two drawings/dxfs. * Used to compare two drawings/dxfs.
* - Consider model space only. * - Consider model space only.
* - Consider entity's geometry, position, scale, etc. * - Consider entity's geometry, position, scale, etc.
* - Ignore layer's visibility, freeze settings. * - Ignore layer's visibility, freeze settings.
* - Ignore entity's properties like linetype, fill pattern, font, color, etc. * - Ignore entity's properties like linetype, fill pattern, font, color, etc.
* - Ignore spatial filter (xclip) of block reference. * - Ignore spatial filter (xclip) of block reference.
* - We compare entities with the same handle and type. e.g. * - We compare entities with the same handle and type. e.g.
* - if line A from dxf1 has the same handle with arc A from dxf2, then line A is "Removed", arc A is "Added". * - if line A from dxf1 has the same handle with arc A from dxf2, then line A is "Removed", arc A is "Added".
* - For color, it compares color setting rather than the actual color. E.g. * - For color, it compares color setting rather than the actual color. E.g.
* - If a color setting is "ByLayer", but the layer's color is changed. We take this case as unchanged. * - If a color setting is "ByLayer", but the layer's color is changed. We take this case as unchanged.
* - If a color setting is "ByLayer", the setting is changed to "ByBlock", while the layer and block actually have the same color. We take this case as changed. * - If a color setting is "ByLayer", the setting is changed to "ByBlock", while the layer and block actually have the same color. We take this case as changed.
* @internal * @internal
*/ */
export declare class DxfCompare { export declare class DxfCompare {
static readonly ENTITY_COLOR_ADDED = 65280; static readonly ENTITY_COLOR_ADDED = 65280;
static readonly ENTITY_COLOR_REMOVED = 16711680; static readonly ENTITY_COLOR_REMOVED = 16711680;
static readonly ENTITY_COLOR_NO_CHANGE = 10066329; static readonly ENTITY_COLOR_NO_CHANGE = 10066329;
static readonly ENTITY_COLOR_MARKUP = 16744231; static readonly ENTITY_COLOR_MARKUP = 16744231;
private dxf1; private dxf1;
private dxf2; private dxf2;
private changes; private changes;
private comparedBlocks; private comparedBlocks;
private isComparingBlock; private isComparingBlock;
private isComparingDimension; private isComparingDimension;
private enableDetailComparision; private enableDetailComparision;
static readonly ignoreEntityTypes: string[]; static readonly ignoreEntityTypes: string[];
constructor(dxf1: IDxf, dxf2: IDxf, compareCfg?: DxfCompareConfig); constructor(dxf1: IDxf, dxf2: IDxf, compareCfg?: DxfCompareConfig);
private getLayerFrozen; private getLayerFrozen;
/** /**
* Compares model spaces of two dxf files. * Compares model spaces of two dxf files.
* Returns DxfChange map, the key is incremental integer starts from 1. * Returns DxfChange map, the key is incremental integer starts from 1.
* It is unique in the lifecycle of a DxfViewer. * It is unique in the lifecycle of a DxfViewer.
*/ */
compare(onProgress?: (event: ProgressEvent) => void): Promise<Record<number, DxfChange>>; compare(onProgress?: (event: ProgressEvent) => void): Promise<Record<number, DxfChange>>;
private isDimensionBlock; private isDimensionBlock;
compareInsertOrDemensionEntities(a: DxfEntity, b: DxfEntity, parentHandle1?: string, parentHandle2?: string): { compareInsertOrDemensionEntities(a: DxfEntity, b: DxfEntity, parentHandle1?: string, parentHandle2?: string): {
type: DxfChangeType; type: DxfChangeType;
handle: string; handle: string;
parentHandles?: string[] | undefined; parentHandles?: string[] | undefined;
}[] | undefined; }[] | undefined;
private compareBlock; private compareBlock;
private compareEntities; private compareEntities;
private bIgnoreChildEntitiesOriginalType; private bIgnoreChildEntitiesOriginalType;
private entitiesEqual; private entitiesEqual;
private getColor; private getColor;
private getLineType; private getLineType;
private addModificationItem; private addModificationItem;
private baseEntitiesEqual; private baseEntitiesEqual;
private arcsEqual; private arcsEqual;
private linesEqual; private linesEqual;
private polylinesEqual; private polylinesEqual;
private textsEqual; private textsEqual;
private solidsEqual; private solidsEqual;
private pointEntitiesEqual; private pointEntitiesEqual;
private splinesEqual; private splinesEqual;
private mtextsEqual; private mtextsEqual;
private ellipsesEqual; private ellipsesEqual;
private attDefsEqual; private attDefsEqual;
private attribsEqual; private attribsEqual;
private hatchesEqual; private hatchesEqual;
private viewportsEqual; private viewportsEqual;
private leadersEqual; private leadersEqual;
private mleadersEqual; private mleadersEqual;
private ole2framesEqual; private ole2framesEqual;
private insertsEqual; private insertsEqual;
private dimensionsEqual; private dimensionsEqual;
private regionsEqual; private regionsEqual;
private vectorsEqual; private vectorsEqual;
private pointsEqual; private pointsEqual;
private vertexEntityEqual; private vertexEntityEqual;
private numbersEqual; private numbersEqual;
private numberEqual; private numberEqual;
private vectorArraysEqual; private vectorArraysEqual;
private verticesEqual; private verticesEqual;
private verticesArrayEqual; private verticesArrayEqual;
private vertexEntitiesEqual; private vertexEntitiesEqual;
private hatchEdgesEqual; private hatchEdgesEqual;
private hatchEdgeArraysEqual; private hatchEdgeArraysEqual;
private hatchBoundaryPathsEqual; private hatchBoundaryPathsEqual;
private hatchBoundaryPathArraysEqual; private hatchBoundaryPathArraysEqual;
private mleaderLineEqual; private mleaderLineEqual;
private mleaderLinesEqual; private mleaderLinesEqual;
private mleaderLeaderEqual; private mleaderLeaderEqual;
private mleaderLeadersEqual; private mleaderLeadersEqual;
private mleaderContextEqual; private mleaderContextEqual;
private compareHexStrings; private compareHexStrings;
} }

View File

@ -1,15 +1,15 @@
/** /**
* Constants used by dxf * Constants used by dxf
*/ */
export declare const BYLAYER = "BYLAYER"; export declare const BYLAYER = "BYLAYER";
export declare const BYBLOCK = "BYBLOCK"; export declare const BYBLOCK = "BYBLOCK";
export declare enum DxfRenderOrder { export declare enum DxfRenderOrder {
Mesh = -1, Mesh = -1,
MeshWithPattern = 0, MeshWithPattern = 0,
LineWithWidth = 1, LineWithWidth = 1,
Line = 2, Line = 2,
LineWithPattern = 3, LineWithPattern = 3,
Point = 4, Point = 4,
Text = 5 Text = 5
} }
export declare const NestCompareTypes: string[]; export declare const NestCompareTypes: string[];

File diff suppressed because it is too large Load Diff

View File

@ -1,32 +1,32 @@
import { Box3, BufferGeometry, Object3D, Layers, Material, Matrix4 } from "three"; import { Box3, BufferGeometry, Object3D, Layers, Material, Matrix4 } from "three";
export declare enum ObjectType { export declare enum ObjectType {
Object = 0, Object = 0,
Point = 1, Point = 1,
Line = 2, Line = 2,
LineSegment = 3, LineSegment = 3,
Mesh = 4 Mesh = 4
} }
export declare type CallBack = (object: DxfObject) => void; export declare type CallBack = (object: DxfObject) => void;
export declare class DxfObject { export declare class DxfObject {
name: string; name: string;
type: ObjectType; type: ObjectType;
matrix: Matrix4; matrix: Matrix4;
parent?: DxfObject; parent?: DxfObject;
children: DxfObject[]; children: DxfObject[];
layers: Layers; layers: Layers;
renderOrder: number; renderOrder: number;
userData: any; userData: any;
material?: Material; material?: Material;
geometry?: BufferGeometry; geometry?: BufferGeometry;
matrixWorld?: Matrix4; matrixWorld?: Matrix4;
constructor(type?: ObjectType); constructor(type?: ObjectType);
add(object: DxfObject, ...args: DxfObject[]): this; add(object: DxfObject, ...args: DxfObject[]): this;
remove(object: DxfObject, ...args: DxfObject[]): this; remove(object: DxfObject, ...args: DxfObject[]): this;
removeFromParent(): this; removeFromParent(): this;
clear(): this; clear(): this;
traverse(callback: CallBack): void; traverse(callback: CallBack): void;
clone(recursive?: boolean): DxfObject; clone(recursive?: boolean): DxfObject;
copy(source: DxfObject, recursive?: boolean): this; copy(source: DxfObject, recursive?: boolean): this;
convertToThreejsObject(recursive?: boolean): Object3D<import("three").Event> | undefined; convertToThreejsObject(recursive?: boolean): Object3D<import("three").Event> | undefined;
static getBox(object: DxfObject, box: THREE.Box3, parentMatrix?: Matrix4): Box3; static getBox(object: DxfObject, box: THREE.Box3, parentMatrix?: Matrix4): Box3;
} }

View File

@ -1,79 +1,79 @@
import { DxfObject } from "../../core/dxf/DxfObject"; import { DxfObject } from "../../core/dxf/DxfObject";
/** /**
* MergeHelper class is used to merge child objects for a given object * MergeHelper class is used to merge child objects for a given object
* @internal * @internal
*/ */
export declare class DxfUtils { export declare class DxfUtils {
static mergeInfo: { static mergeInfo: {
removedObjects: number; removedObjects: number;
mergedMeshes: number; mergedMeshes: number;
mergedLines: number; mergedLines: number;
mergedPoints: number; mergedPoints: number;
mergedUnknownTypeObjects: number; mergedUnknownTypeObjects: number;
elapsedTime: number; elapsedTime: number;
}; };
static resetMergeInfo(): void; static resetMergeInfo(): void;
/** /**
* Merges child objects for given object. * Merges child objects for given object.
* it tries to merge objects in the same level and with the same parent; * it tries to merge objects in the same level and with the same parent;
* @param saveBatchInfo caller can set saveBatchInfo to true, so that s/he can * @param saveBatchInfo caller can set saveBatchInfo to true, so that s/he can
* get the object's original data before merged. * get the object's original data before merged.
* While this takes some extra space, so, we'd like to add a flag here. * While this takes some extra space, so, we'd like to add a flag here.
*/ */
static merge(object: DxfObject, saveBatchInfo?: boolean): void; static merge(object: DxfObject, saveBatchInfo?: boolean): void;
/** /**
* Merges child objects of given object. * Merges child objects of given object.
* If objects' material are the same, they can be merged. * If objects' material are the same, they can be merged.
*/ */
private static mergeInner; private static mergeInner;
/** /**
* @param object parent object or THREE.Object3D[] * @param object parent object or THREE.Object3D[]
* @param i index of for object.children[] * @param i index of for object.children[]
* @param k index of for object.children[] * @param k index of for object.children[]
* @param dict to store merge-able object * @param dict to store merge-able object
* @param nonMergeIndexes used in order to improve performance * @param nonMergeIndexes used in order to improve performance
*/ */
private static tryHandleMergeableObjects; private static tryHandleMergeableObjects;
/** /**
* TODO: Filters XC etc. * TODO: Filters XC etc.
* there are cases where entities with xc and without xc are merged together * there are cases where entities with xc and without xc are merged together
*/ */
private static isFilteredByOtherFactors; private static isFilteredByOtherFactors;
/** /**
* Merges all objects of given object, just leaf children. * Merges all objects of given object, just leaf children.
* If objects' material are the same, they can be merged. * If objects' material are the same, they can be merged.
* Better to call mergeInner first then deepMerge for a better performance. * Better to call mergeInner first then deepMerge for a better performance.
* return \{ "added": THREE.Object3D[], "removed": THREE.Object3D[] \} * return \{ "added": THREE.Object3D[], "removed": THREE.Object3D[] \}
*/ */
static deepMerge(objects: DxfObject[], levelObject?: DxfObject | undefined, bRemovedAndAddedAfterMerge?: boolean, bRemoveEmptyObjectsAfterMerge?: boolean, saveBatchInfo?: boolean): { static deepMerge(objects: DxfObject[], levelObject?: DxfObject | undefined, bRemovedAndAddedAfterMerge?: boolean, bRemoveEmptyObjectsAfterMerge?: boolean, saveBatchInfo?: boolean): {
added: DxfObject[]; added: DxfObject[];
removed: DxfObject[]; removed: DxfObject[];
}; };
/** /**
* since we'll move geometry to another merged mesh under a group, below is the structure: * since we'll move geometry to another merged mesh under a group, below is the structure:
- root object - root object
- merged objects group - merged objects group
- merged object 1 - merged object 1
* need to consider a geometry's matrix for each level of ancestor * need to consider a geometry's matrix for each level of ancestor
*/ */
private static applyMatrix; private static applyMatrix;
/** /**
* Merges geometries for lines * Merges geometries for lines
*/ */
/** /**
* Removes a number from array * Removes a number from array
*/ */
private static removeFromArray; private static removeFromArray;
/** /**
* Checks if two geometries are mergable. * Checks if two geometries are mergable.
* It requires they have the same type and the same attributes. * It requires they have the same type and the same attributes.
*/ */
/** /**
* Checks if two objects are mergable. * Checks if two objects are mergable.
* It requires * It requires
* - They are with the same masks. * - They are with the same masks.
* - Their userData.layerName must be the same if there is. This is useful for Dxf. * - Their userData.layerName must be the same if there is. This is useful for Dxf.
* - They have the same type or the same draw type( Mesh or Line or Point). * - They have the same type or the same draw type( Mesh or Line or Point).
*/ */
private static areObjectsMergeable; private static areObjectsMergeable;
} }

View File

@ -1,12 +1,12 @@
import * as THREE from "three"; import * as THREE from "three";
export interface PatternLine { export interface PatternLine {
origin: THREE.Vector2; origin: THREE.Vector2;
delta: THREE.Vector2; delta: THREE.Vector2;
angle: number; angle: number;
pattern: number[]; pattern: number[];
patternSum: number[]; patternSum: number[];
patternLength: number; patternLength: number;
} }
export declare function createHatchPatternShaderMaterial(patternLines: PatternLine[], patternAngle: number, cameraZoomUniform: { export declare function createHatchPatternShaderMaterial(patternLines: PatternLine[], patternAngle: number, cameraZoomUniform: {
value: number; value: number;
}, color: THREE.Color, fixedThicknessInWorldCoord?: number): THREE.Material; }, color: THREE.Color, fixedThicknessInWorldCoord?: number): THREE.Material;

View File

@ -1,12 +1,12 @@
import * as THREE from "three"; import * as THREE from "three";
export declare class LinePatternShaders { export declare class LinePatternShaders {
/** /**
* Creates line shader by given pattern. * Creates line shader by given pattern.
* Note: remember to call line.computeLineDistances() in order to make it work! * Note: remember to call line.computeLineDistances() in order to make it work!
*/ */
static createLineShaderMaterial(pattern: number[], color: number, scale: number, viewportScaleUniform: { static createLineShaderMaterial(pattern: number[], color: number, scale: number, viewportScaleUniform: {
value: number; value: number;
}, cameraZoomUniform: { }, cameraZoomUniform: {
value: number; value: number;
}): THREE.Material; }): THREE.Material;
} }

View File

@ -1,8 +1,8 @@
/** /**
* Copied and ported to code standard as the b-spline library is not maintained any longer. * Copied and ported to code standard as the b-spline library is not maintained any longer.
* Source: * Source:
* https://github.com/thibauts/b-spline * https://github.com/thibauts/b-spline
* Copyright (c) 2015 Thibaut Séguy <thibaut.seguy@gmail.com> * Copyright (c) 2015 Thibaut Séguy <thibaut.seguy@gmail.com>
*/ */
declare const _default: (t: number, degree: number, points: number[][], knots: number[], weights?: number[]) => number[]; declare const _default: (t: number, degree: number, points: number[][], knots: number[], weights?: number[]) => number[];
export default _default; export default _default;

Some files were not shown because too many files have changed in this diff Show More