Merge pull request #110 from pattern-x/feature/bump-node
Bump node version to 18 to make pdfjs-dist happy
This commit is contained in:
@ -15,14 +15,15 @@
|
||||
"demo/libs/types/core/dxf-parser/DxfParser.d.ts": "./demo/libs/types/core/dxf-parser/DxfParser.d.ts",
|
||||
"demo/libs/types/core/viewers/BaseViewer.d.ts": "./demo/libs/types/core/viewers/BaseViewer.d.ts",
|
||||
"demo/libs/types/plugins/sections/BasePlaneSection.d.ts": "./demo/libs/types/plugins/sections/BasePlaneSection.d.ts",
|
||||
"demo/libs/types/core/pdf/PdfLoader.d.ts": "./demo/libs/types/core/pdf/PdfLoader.d.ts",
|
||||
"demo/libs/types/core/utils/Locale.d.ts": "./demo/libs/types/core/utils/Locale.d.ts",
|
||||
"demo/libs/types/core/viewers/SimplifiedBimViewer.d.ts": "./demo/libs/types/core/viewers/SimplifiedBimViewer.d.ts",
|
||||
"demo/libs/types/plugins/sections/BaseBoxSection.d.ts": "./demo/libs/types/plugins/sections/BaseBoxSection.d.ts",
|
||||
"demo/libs/types/core/dxf/DxfCompare.d.ts": "./demo/libs/types/core/dxf/DxfCompare.d.ts",
|
||||
"demo/libs/types/core/utils/MergeUtils.d.ts": "./demo/libs/types/core/utils/MergeUtils.d.ts",
|
||||
"demo/libs/types/plugins/measure/BaseMeasurement.d.ts": "./demo/libs/types/plugins/measure/BaseMeasurement.d.ts",
|
||||
"demo/libs/types/core/controls/VRControls.d.ts": "./demo/libs/types/core/controls/VRControls.d.ts",
|
||||
"demo/libs/types/core/helpers/OSnapHelper.d.ts": "./demo/libs/types/core/helpers/OSnapHelper.d.ts",
|
||||
"demo/libs/types/core/controls/VRControls.d.ts": "./demo/libs/types/core/controls/VRControls.d.ts",
|
||||
"demo/libs/types/core/compare/BaseDxfCompareHelper.d.ts": "./demo/libs/types/core/compare/BaseDxfCompareHelper.d.ts",
|
||||
"demo/libs/types/plugins/measure/MeasurementPlugin.d.ts": "./demo/libs/types/plugins/measure/MeasurementPlugin.d.ts",
|
||||
"demo/libs/types/core/Constants.d.ts": "./demo/libs/types/core/Constants.d.ts",
|
||||
@ -54,9 +55,9 @@
|
||||
"demo/libs/types/core/dxf-parser/index.d.ts": "./demo/libs/types/core/dxf-parser/index.d.ts",
|
||||
"demo/libs/types/core/webcam/WebCam.d.ts": "./demo/libs/types/core/webcam/WebCam.d.ts",
|
||||
"demo/libs/types/core/utils/CoordinateConversionUtils.d.ts": "./demo/libs/types/core/utils/CoordinateConversionUtils.d.ts",
|
||||
"demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts": "./demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts",
|
||||
"demo/libs/types/plugins/ground-shaow/GroundShadowPlugin.d.ts": "./demo/libs/types/plugins/ground-shaow/GroundShadowPlugin.d.ts",
|
||||
"demo/libs/types/core/helpers/BoxSelectHelper.d.ts": "./demo/libs/types/core/helpers/BoxSelectHelper.d.ts",
|
||||
"demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts": "./demo/libs/types/plugins/view-cube/ViewCubePlugin.d.ts",
|
||||
"demo/libs/types/plugins/sections/PickPlaneSection.d.ts": "./demo/libs/types/plugins/sections/PickPlaneSection.d.ts",
|
||||
"demo/libs/types/plugins/sections/SectionPlugin.d.ts": "./demo/libs/types/plugins/sections/SectionPlugin.d.ts",
|
||||
"demo/libs/types/core/dxf-parser/ParseHelpers.d.ts": "./demo/libs/types/core/dxf-parser/ParseHelpers.d.ts",
|
||||
@ -72,6 +73,7 @@
|
||||
"demo/libs/types/plugins/explode/ObjectExploder.d.ts": "./demo/libs/types/plugins/explode/ObjectExploder.d.ts",
|
||||
"demo/libs/types/core/TextTexture/TextTexture.d.ts": "./demo/libs/types/core/TextTexture/TextTexture.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/plugins/layer-manager/LayerManagerPlugin.d.ts": "./demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts",
|
||||
"demo/libs/types/plugins/sections/SectionGizmo.d.ts": "./demo/libs/types/plugins/sections/SectionGizmo.d.ts",
|
||||
"demo/libs/types/core/geometry-offset/Offset.d.ts": "./demo/libs/types/core/geometry-offset/Offset.d.ts",
|
||||
"demo/libs/types/plugins/sections/AxisPlaneSection.d.ts": "./demo/libs/types/plugins/sections/AxisPlaneSection.d.ts",
|
||||
@ -103,7 +105,6 @@
|
||||
"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/dxf-parser/objects/common.d.ts": "./demo/libs/types/core/dxf-parser/objects/common.d.ts",
|
||||
"demo/libs/types/core/utils/Viewer3DUtils.d.ts": "./demo/libs/types/core/utils/Viewer3DUtils.d.ts",
|
||||
"demo/libs/types/components/settings/ProjectSettingsDef.d.ts": "./demo/libs/types/components/settings/ProjectSettingsDef.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",
|
||||
@ -121,6 +122,7 @@
|
||||
"demo/libs/types/plugins/sections/GlobalPlaneSection.d.ts": "./demo/libs/types/plugins/sections/GlobalPlaneSection.d.ts",
|
||||
"demo/libs/types/core/canvas/Constants.d.ts": "./demo/libs/types/core/canvas/Constants.d.ts",
|
||||
"demo/libs/types/core/shx-parser/TextShape.d.ts": "./demo/libs/types/core/shx-parser/TextShape.d.ts",
|
||||
"demo/libs/types/core/utils/Viewer3DUtils.d.ts": "./demo/libs/types/core/utils/Viewer3DUtils.d.ts",
|
||||
"demo/libs/types/core/shx-parser/ShxFontLoader.d.ts": "./demo/libs/types/core/shx-parser/ShxFontLoader.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",
|
||||
@ -137,11 +139,11 @@
|
||||
"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/core/helpers/BinaryReader.d.ts": "./demo/libs/types/core/helpers/BinaryReader.d.ts",
|
||||
"demo/libs/types/core/index.d.ts": "./demo/libs/types/core/index.d.ts",
|
||||
"demo/libs/types/plugins/measure/AreaMeasureDrawable.d.ts": "./demo/libs/types/plugins/measure/AreaMeasureDrawable.d.ts",
|
||||
"demo/libs/types/core/shx-parser/ShxParser.d.ts": "./demo/libs/types/core/shx-parser/ShxParser.d.ts",
|
||||
"index.html": "./index.html",
|
||||
"demo/libs/types/core/dxf-parser/entities/vertex.d.ts": "./demo/libs/types/core/dxf-parser/entities/vertex.d.ts",
|
||||
"demo/libs/types/core/index.d.ts": "./demo/libs/types/core/index.d.ts",
|
||||
"demo/libs/types/core/dxf/dxfom-text.d.ts": "./demo/libs/types/core/dxf/dxfom-text.d.ts",
|
||||
"demo/libs/types/core/geometry-offset/Edge.d.ts": "./demo/libs/types/core/geometry-offset/Edge.d.ts",
|
||||
"demo/libs/types/core/utils/SectionUtils.d.ts": "./demo/libs/types/core/utils/SectionUtils.d.ts",
|
||||
@ -177,13 +179,13 @@
|
||||
"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/markup/PolylineMarkup.d.ts": "./demo/libs/types/core/markup/PolylineMarkup.d.ts",
|
||||
"demo/libs/types/plugins/index.d.ts": "./demo/libs/types/plugins/index.d.ts",
|
||||
"demo/libs/types/core/Units.d.ts": "./demo/libs/types/core/Units.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/dxf-parser/objects/xrecord.d.ts": "./demo/libs/types/core/dxf-parser/objects/xrecord.d.ts",
|
||||
"demo/libs/types/core/vr/VRCube.d.ts": "./demo/libs/types/core/vr/VRCube.d.ts",
|
||||
"demo/libs/types/components/toolbar/Toolbar.config.d.ts": "./demo/libs/types/components/toolbar/Toolbar.config.d.ts",
|
||||
"demo/libs/types/plugins/index.d.ts": "./demo/libs/types/plugins/index.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",
|
||||
@ -269,6 +271,7 @@
|
||||
"demo/libs/types/components/settings/index.d.ts": "./demo/libs/types/components/settings/index.d.ts",
|
||||
"demo/libs/types/core/local-model-uploader/index.d.ts": "./demo/libs/types/core/local-model-uploader/index.d.ts",
|
||||
"demo/libs/types/plugins/ground-shaow/index.d.ts": "./demo/libs/types/plugins/ground-shaow/index.d.ts",
|
||||
"demo/libs/types/plugins/layer-manager/index.d.ts": "./demo/libs/types/plugins/layer-manager/index.d.ts",
|
||||
"demo/libs/types/plugins/ground-grass/index.d.ts": "./demo/libs/types/plugins/ground-grass/index.d.ts",
|
||||
"demo/libs/types/plugins/ground-grid/index.d.ts": "./demo/libs/types/plugins/ground-grid/index.d.ts",
|
||||
"demo/libs/types/plugins/screenshot/index.d.ts": "./demo/libs/types/plugins/screenshot/index.d.ts",
|
||||
@ -283,6 +286,7 @@
|
||||
"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/plugins/stats/index.d.ts": "./demo/libs/types/plugins/stats/index.d.ts",
|
||||
"demo/libs/types/core/pdf/index.d.ts": "./demo/libs/types/core/pdf/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/webcam/index.d.ts": "./demo/libs/types/core/webcam/index.d.ts",
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="icon" href="./demo/favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css">
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css">
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -23,13 +22,13 @@
|
||||
AxisGizmoPlugin,
|
||||
BottomBarPlugin,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
StatsPlugin,
|
||||
ToolbarMenuId,
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from './demo/layerManager/LayerManager.js';
|
||||
|
||||
const filename = "rac_basic_sample_project";
|
||||
const modelCfg = {
|
||||
@ -65,15 +64,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="icon" href="./demo/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css" />
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css" />
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -23,13 +22,13 @@
|
||||
AxisGizmoPlugin,
|
||||
BottomBarPlugin,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
StatsPlugin,
|
||||
ToolbarMenuId,
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from "./demo/layerManager/LayerManager.js";
|
||||
|
||||
const filename = "apartments";
|
||||
const modelCfg = {
|
||||
@ -65,15 +64,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css" />
|
||||
<link rel="stylesheet" href="./demo/compare/dxfComparePanel.css" />
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css" />
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css" />
|
||||
<style>
|
||||
body {
|
||||
@ -77,6 +76,7 @@
|
||||
BottomBarPlugin,
|
||||
DxfCompareHelper,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
StatsPlugin,
|
||||
ToolbarMenuId,
|
||||
@ -84,7 +84,6 @@
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfComparePanel from "./demo/compare/dxfComparePanel.js";
|
||||
import DxfSettingsPanel from "./demo/settings/DxfSettingsPanel.js";
|
||||
import LayerManager from "./demo/layerManager/LayerManager.js";
|
||||
|
||||
const compareHelper = new DxfCompareHelper(
|
||||
{
|
||||
@ -191,15 +190,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!viewer.layerManager) {
|
||||
viewer.layerManager = new LayerManager(viewer);
|
||||
viewer.layerManager = new LayerManagerPlugin(viewer);
|
||||
}
|
||||
viewer.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!viewer.layerManager) {
|
||||
viewer.layerManager = new LayerManager(viewer);
|
||||
}
|
||||
viewer.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="icon" href="./demo/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css" />
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css" />
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -23,13 +22,13 @@
|
||||
AxisGizmoPlugin,
|
||||
BottomBarPlugin,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
StatsPlugin,
|
||||
ToolbarMenuId,
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from "./demo/layerManager/LayerManager.js";
|
||||
|
||||
const filename = "doors_and_windows";
|
||||
const modelCfg = {
|
||||
@ -65,15 +64,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -5,7 +5,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css" />
|
||||
<link rel="stylesheet" href="./demo/compare/dxfComparePanel.css" />
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css" />
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css" />
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -30,7 +29,6 @@
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfComparePanel from "./demo/compare/dxfComparePanel.js"
|
||||
import DxfSettingsPanel from "./demo/settings/DxfSettingsPanel.js";
|
||||
import LayerManager from "./demo/layerManager/LayerManager.js";
|
||||
|
||||
const url1 = "./demo/models/dxf/doors_and_windows.dxf";
|
||||
const url2 = "./demo/models/dxf/doors_and_windows_mopdified.dxf";
|
||||
@ -61,15 +59,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.compareHelper.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.compareHelper.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.compareHelper.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="icon" href="./demo/favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css">
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css">
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -87,7 +86,6 @@
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from './demo/layerManager/LayerManager.js';
|
||||
|
||||
const filename = "rac_basic_sample_project";
|
||||
const modelCfg = {
|
||||
@ -122,15 +120,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="icon" href="./demo/favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css">
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css">
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -98,11 +97,11 @@
|
||||
AxisGizmoPlugin,
|
||||
DxfViewer,
|
||||
HotpointPlugin,
|
||||
LayerManagerPlugin,
|
||||
ToolbarMenuId,
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from './demo/layerManager/LayerManager.js';
|
||||
|
||||
const filename = "rac_basic_sample_project";
|
||||
const modelCfg = {
|
||||
@ -137,15 +136,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
@ -185,7 +181,7 @@
|
||||
clearHotpointsBtn.onclick = () => {
|
||||
addHotpointBtn.classList.remove("btn-active");
|
||||
addingHotpoint = false;
|
||||
viewer.clearHotpoints();
|
||||
hotpointPlugin.clear();
|
||||
Object.keys(hotpointsPerLayout).forEach((key) => {
|
||||
hotpointsPerLayout[key] = [];
|
||||
});
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="icon" href="./demo/favicon.ico">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css">
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css">
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css">
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -22,12 +21,12 @@
|
||||
import {
|
||||
AxisGizmoPlugin,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
ToolbarMenuId,
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from './demo/layerManager/LayerManager.js';
|
||||
|
||||
const filename = "building_1_2";
|
||||
const modelCfg = {
|
||||
@ -63,15 +62,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css" />
|
||||
<link rel="stylesheet" href="./demo/compare/dxfComparePanel.css" />
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css" />
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css" />
|
||||
<style>
|
||||
body {
|
||||
@ -60,13 +59,13 @@
|
||||
AxisGizmoPlugin,
|
||||
DxfCompareHelper,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
ToolbarMenuId,
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfComparePanel from "./demo/compare/dxfComparePanel.js";
|
||||
import DxfSettingsPanel from "./demo/settings/DxfSettingsPanel.js";
|
||||
import LayerManager from "./demo/layerManager/LayerManager.js";
|
||||
|
||||
const url1 = "./demo/models/dxf/doors_and_windows.dxf";
|
||||
const url2 = "./demo/models/dxf/doors_and_windows_mopdified.dxf";
|
||||
@ -147,15 +146,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!viewer.layerManager) {
|
||||
viewer.layerManager = new LayerManager(viewer);
|
||||
viewer.layerManager = new LayerManagerPlugin(viewer);
|
||||
}
|
||||
viewer.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!viewer.layerManager) {
|
||||
viewer.layerManager = new LayerManager(viewer);
|
||||
}
|
||||
viewer.layerManager.hide();
|
||||
},
|
||||
},
|
||||
|
||||
@ -12,12 +12,7 @@
|
||||
/>
|
||||
<link rel="icon" href="./demo/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="./demo/iconfont/iconfont.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/iconfont/iconfont.css"/>
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css" />
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -35,6 +30,7 @@
|
||||
import {
|
||||
AxisGizmoPlugin,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
MeasurementPlugin,
|
||||
MenuTypeEnums,
|
||||
ScreenshotMode,
|
||||
@ -42,7 +38,6 @@
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from "./demo/settings/DxfSettingsPanel.js";
|
||||
import LayerManager from "./demo/layerManager/LayerManager.js";
|
||||
|
||||
const filename = "rac_basic_sample_project";
|
||||
const modelCfg = {
|
||||
@ -78,31 +73,25 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
const viewer = new DxfViewer(config);
|
||||
const fontFiles = ["./demo/three/fonts/hztxt.shx", "./demo/three/fonts/simplex.shx"];
|
||||
await viewer.setFont(fontFiles);
|
||||
window.viewer = viewer;
|
||||
|
||||
new AxisGizmoPlugin(viewer, { ignoreZAxis: true });
|
||||
new MeasurementPlugin(viewer);
|
||||
|
||||
const fontFiles = [
|
||||
"./demo/three/fonts/hztxt.shx",
|
||||
"./demo/three/fonts/simplex.shx",
|
||||
];
|
||||
await viewer.setFont(fontFiles);
|
||||
|
||||
const toolbar = viewer.toolbar;
|
||||
toolbar.addMenu(
|
||||
"markup-screenshot",
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
<head>
|
||||
<link rel="icon" href="./demo/favicon.ico" />
|
||||
<link rel="stylesheet" type="text/css" href="./demo/global.css" />
|
||||
<link rel="stylesheet" href="./demo/layerManager/layerManager.css">
|
||||
<link rel="stylesheet" href="./demo/settings/SettingsPanel.css">
|
||||
<style>
|
||||
#myCanvas {
|
||||
@ -79,6 +78,7 @@
|
||||
AxisGizmoPlugin,
|
||||
BottomBarPlugin,
|
||||
DxfViewer,
|
||||
LayerManagerPlugin,
|
||||
LocalDxfUploader,
|
||||
MeasurementPlugin,
|
||||
StatsPlugin,
|
||||
@ -86,7 +86,6 @@
|
||||
ViewerEvent,
|
||||
} from "./demo/libs/gemini-viewer.esm.min.js";
|
||||
import DxfSettingsPanel from './demo/settings/DxfSettingsPanel.js';
|
||||
import LayerManager from './demo/layerManager/LayerManager.js';
|
||||
|
||||
const config = {
|
||||
containerId: "myCanvas",
|
||||
@ -115,15 +114,12 @@
|
||||
onActive: () => {
|
||||
console.log("[Toolbar]", "Activate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
window.layerManager = new LayerManagerPlugin(window.viewer);
|
||||
}
|
||||
window.layerManager.show();
|
||||
},
|
||||
onDeactive: () => {
|
||||
console.log("[Toolbar]", "Deactivate Layers");
|
||||
if (!window.layerManager) {
|
||||
window.layerManager = new LayerManager(window.viewer);
|
||||
}
|
||||
window.layerManager.hide();
|
||||
},
|
||||
},
|
||||
@ -142,7 +138,7 @@
|
||||
|
||||
const modelUploader = new LocalDxfUploader(viewer);
|
||||
modelUploader.onSuccess = () => {
|
||||
!viewer.layerManager && (viewer.layerManager = new LayerManager(viewer));
|
||||
!window.layerManager && (window.layerManager = new LayerManagerPlugin(viewer));
|
||||
}
|
||||
document.getElementById("uploadModelFile").onclick = function() {
|
||||
modelUploader.openFileBrowserToUpload();
|
||||
@ -152,7 +148,7 @@
|
||||
if (url) {
|
||||
viewer.loadModelAsync({ src: url, merge: true }).then(() => {
|
||||
console.log(`[Demo] Loaded model ${url}`);
|
||||
!viewer.layerManager && (viewer.layerManager = new LayerManager(viewer));
|
||||
!window.layerManager && (window.layerManager = new LayerManagerPlugin(viewer));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,215 +0,0 @@
|
||||
/* eslint-disable no-undef */
|
||||
export default class LayerManager {
|
||||
viewer;
|
||||
container;
|
||||
listWrapper;
|
||||
listContainer;
|
||||
confirmBtn;
|
||||
cancelBtn;
|
||||
headerText;
|
||||
closeBtn;
|
||||
layers;
|
||||
checkboxes;
|
||||
colorInputs;
|
||||
|
||||
constructor(viewer, container = document.body) {
|
||||
this.init(viewer, container);
|
||||
}
|
||||
|
||||
init(viewer, container) {
|
||||
this.viewer = viewer;
|
||||
this.container = viewer.viewerContainer;
|
||||
this.layers = this.viewer.getLayers();
|
||||
this.buildPage();
|
||||
this.addContent();
|
||||
this.addEventHandlers();
|
||||
}
|
||||
|
||||
show() {
|
||||
if (this.listContainer?.classList.contains("popup-hide")) {
|
||||
this.listContainer.classList.remove("popup-hide");
|
||||
this.updatePage();
|
||||
}
|
||||
}
|
||||
|
||||
hide() {
|
||||
if (!this.listContainer?.classList.contains("popup-hide")) {
|
||||
this.listContainer?.classList.add("popup-hide");
|
||||
|
||||
// when click the close button, trigger the layers button's click event
|
||||
const layersBtn = document.querySelector("#Layers");
|
||||
if (layersBtn.classList.contains("active")) {
|
||||
layersBtn.click();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
destroy() {
|
||||
this.closeBtn?.removeEventListener("click", this.hide);
|
||||
|
||||
this.checkboxes?.forEach((checkbox, i) => {
|
||||
checkbox.removeEventListener("change", () => {
|
||||
this.checkboxHandler(checkbox, i);
|
||||
});
|
||||
});
|
||||
this.listContainer.remove();
|
||||
}
|
||||
|
||||
buildPage() {
|
||||
this.listContainer = document.createElement("div");
|
||||
this.listContainer.classList.add("popup-container", "popup-hide");
|
||||
|
||||
const header = document.createElement("div");
|
||||
header.classList.add("popup-header");
|
||||
this.headerText = document.createElement("span");
|
||||
this.headerText.innerHTML = "图层管理";
|
||||
this.closeBtn = document.createElement("span");
|
||||
this.closeBtn.classList.add("popup-close");
|
||||
this.closeBtn.innerHTML = "X";
|
||||
header.appendChild(this.headerText);
|
||||
header.appendChild(this.closeBtn);
|
||||
this.listContainer.appendChild(header);
|
||||
|
||||
this.listWrapper = document.createElement("div");
|
||||
this.listWrapper.classList.add("popup-wrapper");
|
||||
this.listContainer.appendChild(this.listWrapper);
|
||||
|
||||
this.container.appendChild(this.listContainer);
|
||||
this.updateHeaderText();
|
||||
}
|
||||
|
||||
addContent() {
|
||||
let fragment = `
|
||||
<div class="popup-list-item">
|
||||
<input type="checkbox" id="toggleAllLayers" checked class="checkbox"></input>
|
||||
<span class="popup-layer-color">颜色</span>
|
||||
<span class="popup-layer-name">图层名称</span>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const bAppendModelId = this.layers.length > 1;
|
||||
for (let i = 0; i < this.layers.length; ++i) {
|
||||
const layers = this.layers[i].layers;
|
||||
let layerNames = Object.keys(layers);
|
||||
layerNames = layerNames.sort();
|
||||
for (const layerName of layerNames) {
|
||||
const dxfLayer = layers[layerName];
|
||||
// add "<modelId>" as layer name prefix when there is more than one models
|
||||
const tmpLayerName = bAppendModelId ? `<${this.layers[i].modelId}> ${layerName}` : layerName;
|
||||
const color = convertDecimalToHex(dxfLayer.color);
|
||||
const listItem = this.generateListItem(tmpLayerName, dxfLayer.visible, color);
|
||||
fragment += listItem;
|
||||
}
|
||||
}
|
||||
|
||||
if (this.listWrapper) {
|
||||
this.listWrapper.innerHTML = fragment;
|
||||
}
|
||||
|
||||
// add checkboxes events
|
||||
const checkboxEles = this.listContainer.querySelectorAll("input[type=checkbox]");
|
||||
this.checkboxes = [].slice.call(checkboxEles, 0);
|
||||
const colorInputsEles = this.listContainer.querySelectorAll("input[type=color]");
|
||||
this.colorInputs = [].slice.call(colorInputsEles, 0);
|
||||
|
||||
// input[type=checkbox]
|
||||
this.checkboxes.forEach((checkbox, i) => {
|
||||
checkbox.addEventListener("change", () => {
|
||||
this.checkboxHandler(checkbox, i);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
generateListItem(layer, visible, color) {
|
||||
const listItem = `
|
||||
<div class="popup-list-item">
|
||||
<input type="checkbox" value="${layer}" ${visible ? "checked" : ""} class="checkbox">
|
||||
<div class="popup-color" style="background-color: ${color}"></div>
|
||||
<span class="popup-layer-name">${layer}</span>
|
||||
</div>
|
||||
`;
|
||||
|
||||
return listItem;
|
||||
}
|
||||
|
||||
addEventHandlers() {
|
||||
this.closeBtn?.addEventListener("click", this.hide.bind(this));
|
||||
|
||||
// const layersBtn = document.querySelector("#Layers");
|
||||
// layersBtn &&
|
||||
// layersBtn.addEventListener("click", () => {
|
||||
// if (layersBtn.classList.contains("active")) {
|
||||
// if (!this.viewer.layerManager) {
|
||||
// this.viewer.layerManager = new LayerManager(this.viewer);
|
||||
// } else {
|
||||
// this.viewer.layerManager.show();
|
||||
// }
|
||||
// } else {
|
||||
// this.hide();
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
checkboxHandler(checkbox, index) {
|
||||
if (checkbox.id === "toggleAllLayers") {
|
||||
for (let i = 0; i < this.layers.length; ++i) {
|
||||
const modelId = this.layers[i].modelId;
|
||||
const layers = this.layers[i].layers;
|
||||
Object.keys(layers).forEach((layerName) => {
|
||||
this.viewer.setLayerVisibility(layerName, checkbox.checked, modelId);
|
||||
});
|
||||
}
|
||||
|
||||
this.checkboxes?.forEach((cb) => (cb.checked = checkbox.checked));
|
||||
return;
|
||||
}
|
||||
|
||||
let modelId = "";
|
||||
let layerName = checkbox.value;
|
||||
let layerHandle = undefined;
|
||||
if (index === this.checkboxes.length - 1) {
|
||||
layerHandle = Object.values(this.layers.at(-1).layers)[0].handle;
|
||||
}
|
||||
|
||||
const idx = layerName.indexOf(">");
|
||||
if (idx !== -1) {
|
||||
modelId = layerName.slice(1, idx);
|
||||
layerName = layerName.slice(idx + 2);
|
||||
}
|
||||
if (!modelId) {
|
||||
modelId = this.layers[0].modelId;
|
||||
}
|
||||
this.viewer.setLayerVisibility(layerName, checkbox.checked, modelId);
|
||||
}
|
||||
|
||||
updatePage() {
|
||||
const layers = this.viewer.getLayers();
|
||||
// if layers.length is the same, there is no change to loaded models
|
||||
if (layers.length === this.layers.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.layers = layers;
|
||||
this.addContent();
|
||||
this.updateHeaderText();
|
||||
}
|
||||
|
||||
updateHeaderText() {
|
||||
let layerCount = 0;
|
||||
for (let i = 0; i < this.layers.length; ++i) {
|
||||
const layers = this.layers[i].layers;
|
||||
layerCount += Object.keys(layers).length;
|
||||
}
|
||||
this.headerText.innerHTML = `图层管理 (共 ${layerCount} 个图层)`;
|
||||
}
|
||||
}
|
||||
|
||||
function convertDecimalToHex(decimal) {
|
||||
if (decimal === undefined) {
|
||||
return "#ffffff";
|
||||
}
|
||||
|
||||
const hex = decimal.toString(16);
|
||||
|
||||
return `#${hex.padStart(6, "0")}`;
|
||||
}
|
||||
@ -1,133 +0,0 @@
|
||||
input[type="checkbox"] {
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type="color"] {
|
||||
width: 30px;
|
||||
height: 16px;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
background-color: rgba(0, 0, 0, 0.0);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* ::-webkit-color-swatch-wrapper {
|
||||
border: 1px solid #777;
|
||||
} */
|
||||
::-webkit-color-swatch {
|
||||
position:relative;
|
||||
margin-top: -5px;
|
||||
width: 40px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.popup-container {
|
||||
position: absolute;
|
||||
top: 76px;
|
||||
left: calc(5%);
|
||||
width: 330px;
|
||||
height: 600px;
|
||||
max-height: 90%; /* fix the issue when canvas's height is less than 600px */
|
||||
border-radius: 4px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.7);
|
||||
background-color: rgba(255, 255, 255, 0.7);
|
||||
color: black;
|
||||
z-index: 1000;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.popup-container:hover {
|
||||
background-color: rgba(255, 255, 255, 1);
|
||||
}
|
||||
|
||||
.popup-wrapper {
|
||||
width: 100%;
|
||||
height: calc(100% - 40px);
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border-bottom: 1px solid #ccc;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.popup-list-item {
|
||||
display: flex;
|
||||
/* justify-content: space-between; */
|
||||
align-items: center;
|
||||
padding: 6px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.popup-list-item:hover {
|
||||
background-color: aliceblue;
|
||||
}
|
||||
.popup-layer-color {
|
||||
display: inline-block;
|
||||
margin-left: 5px;
|
||||
width: 20px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.popup-layer-name {
|
||||
display: inline-block;
|
||||
margin-left: 10px;
|
||||
padding: 1px 0;
|
||||
width: 280px;
|
||||
font-size: 12px;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.popup-color {
|
||||
margin-left: 8px;
|
||||
font-size: 12px;
|
||||
border: 1px solid black;
|
||||
width: 18px;
|
||||
height: 16px;
|
||||
min-width: 18px;
|
||||
}
|
||||
.popup-freeze {
|
||||
margin-right: 5px;
|
||||
color: #ccc;
|
||||
font-size: 12px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.popup-hide {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.popup-header {
|
||||
display: flex;
|
||||
/* justify-content: space-between; */
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
/* .popup-layer-name-title,
|
||||
.popup-layer-color-title {
|
||||
display: inline;
|
||||
color: #ccc;
|
||||
font-size: 12px;
|
||||
}
|
||||
.popup-layer-name-title {
|
||||
margin-left: 40px;
|
||||
}
|
||||
.popup-layer-color-title {
|
||||
margin-right: 75px;
|
||||
} */
|
||||
|
||||
.popup-close {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 20px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.popup-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 6px;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
border-bottom: 1px solid #ccc;
|
||||
background-color: #00000022;
|
||||
}
|
||||
2
demo/libs/gemini-viewer.esm.min.js
vendored
2
demo/libs/gemini-viewer.esm.min.js
vendored
File diff suppressed because one or more lines are too long
@ -41,7 +41,7 @@ export declare class LoadingHelper {
|
||||
setFont(font: Font | ShxFont): void;
|
||||
/**
|
||||
* Sets decoder path for draco loader.
|
||||
* @param decoderPath e.g., "three/js/libs/draco/gltf/"
|
||||
* @param decoderPath e.g., "libs/draco/gltf/"
|
||||
*/
|
||||
static setDracoDecoderPath(path: string): void;
|
||||
private getGltfLoader;
|
||||
|
||||
@ -53,6 +53,7 @@ export declare class OSnapHelper {
|
||||
protected markers: Record<number, SnapDrawable>;
|
||||
protected activeOSnapType: OSnapType;
|
||||
protected snapToleranceInWorldCoord: number;
|
||||
protected tempEdgeMaterial: THREE.LineBasicMaterial;
|
||||
/**
|
||||
* OSnapType priority. Lower value has a higher priority.
|
||||
*/
|
||||
@ -78,7 +79,7 @@ export declare class OSnapHelper {
|
||||
* @param lastMouseDownPosition Used in order to to get foot of perpendicular.
|
||||
* @returns Target snap point if any
|
||||
*/
|
||||
handleSnap(intersections: THREE.Intersection[], is3d: boolean, lastMouseDownPosition?: THREE.Vector3): THREE.Vector3 | undefined;
|
||||
handleSnap(intersections: THREE.Intersection[], is3d: boolean, raycaster?: THREE.Raycaster, lastMouseDownPosition?: THREE.Vector3): THREE.Vector3 | undefined;
|
||||
/**
|
||||
* Tries to find a proper snap point and display corresponding marker.
|
||||
* @param mousePosition Mouse position in world coordinate.
|
||||
@ -92,5 +93,9 @@ export declare class OSnapHelper {
|
||||
private getFootOfPerpendicular;
|
||||
private getIntersectionPointsAndLines;
|
||||
private getSnapInfo;
|
||||
/**
|
||||
* Used for 3d scene to get outline info by faces.
|
||||
*/
|
||||
private getIntersectsIncludeOutline;
|
||||
}
|
||||
export {};
|
||||
|
||||
1
demo/libs/types/core/index.d.ts
vendored
1
demo/libs/types/core/index.d.ts
vendored
@ -10,6 +10,7 @@ export * from "./indexeddb";
|
||||
export * from "./local-model-uploader";
|
||||
export * from "./input";
|
||||
export * from "./markup";
|
||||
export * from "./pdf";
|
||||
export * from "./shp-js";
|
||||
export * from "./shx-parser";
|
||||
export * from "./utils";
|
||||
|
||||
176
demo/libs/types/core/pdf/PdfLoader.d.ts
vendored
Normal file
176
demo/libs/types/core/pdf/PdfLoader.d.ts
vendored
Normal file
@ -0,0 +1,176 @@
|
||||
import * as pdfjsLib from "pdfjs-dist";
|
||||
import type { PDFOperatorList } from "pdfjs-dist/types/src/display/api";
|
||||
import * as THREE from "three";
|
||||
import { Font } from "three/examples/jsm/loaders/FontLoader.js";
|
||||
import { ShxFont } from "../../core/shx-parser";
|
||||
/**
|
||||
* PdfLoader
|
||||
* @description The pdf coordinate origin is in the lower left corner.
|
||||
* @link https://zxyle.github.io/PDF-Explained/
|
||||
* @link https://github.com/mozilla/pdf.js/
|
||||
*/
|
||||
export declare class PdfLoader extends THREE.Loader {
|
||||
pdf?: pdfjsLib.PDFDocumentProxy;
|
||||
pdfPage?: pdfjsLib.PDFPageProxy;
|
||||
commonObjs?: any;
|
||||
objs?: any;
|
||||
operatorList?: PDFOperatorList;
|
||||
operatorListIdx?: number;
|
||||
contentVisible: boolean;
|
||||
stateStack: CanvasExtraState[];
|
||||
current: CanvasExtraState;
|
||||
tempSMask: null;
|
||||
viewportScale: number;
|
||||
baseTransform: number[];
|
||||
pdfGroup: THREE.Group;
|
||||
currentTransform: THREE.Matrix4;
|
||||
currentPath?: THREE.Shape;
|
||||
font?: ShxFont | Font;
|
||||
constructor(cfg: any);
|
||||
load(url: string, onLoad: (data: any) => void, onProgress: (event: ProgressEvent) => void, onError: (error: any) => void): void;
|
||||
loadAsync(url: string, onProgress: (event: ProgressEvent) => void): Promise<THREE.Group>;
|
||||
private createTextMeshByText;
|
||||
getObject(data: any, fallback?: null): any;
|
||||
beginDrawing(viewport: pdfjsLib.PageViewport): void;
|
||||
executeOperatorList(operatorList: any, executionStartIdx?: number, continueCallback?: any, stepper?: any): number;
|
||||
setLineWidth(width: number): void;
|
||||
setLineCap(style: number): void;
|
||||
setLineJoin(style: number): void;
|
||||
setMiterLimit(limit: number): void;
|
||||
setDash(dashArray: number[], dashPhase: number): void;
|
||||
setRenderingIntent(intent: any): void;
|
||||
setFlatness(flatness: any): void;
|
||||
setGState(states: any): void;
|
||||
save(): void;
|
||||
restore(): void;
|
||||
/**
|
||||
*
|
||||
* a c e
|
||||
* b d f
|
||||
* 0 0 1
|
||||
*/
|
||||
/**
|
||||
*
|
||||
* @param a is scale x.
|
||||
* @param b is skew y.
|
||||
* @param c is skew x.
|
||||
* @param d is scale y
|
||||
* @param e is translate x.
|
||||
* @param f is translate y.
|
||||
* @example
|
||||
* a c e
|
||||
* b d f
|
||||
* 0 0 1
|
||||
*/
|
||||
transform(a: number, b: number, c: number, d: number, e: number, f: number): void;
|
||||
moveTo(): void;
|
||||
lineTo(): void;
|
||||
curveTo(): void;
|
||||
curveTo2(): void;
|
||||
curveTo3(): void;
|
||||
closePath(): void;
|
||||
rectangle(): void;
|
||||
stroke(consumePath?: boolean): void;
|
||||
closeStroke(): void;
|
||||
fill(consumePath?: boolean): void;
|
||||
eoFill(): void;
|
||||
fillStroke(): void;
|
||||
eoFillStroke(): void;
|
||||
closeFillStroke(): void;
|
||||
closeEOFillStroke(): void;
|
||||
endPath(): void;
|
||||
clip(): void;
|
||||
eoClip(): void;
|
||||
beginText(): void;
|
||||
endText(): void;
|
||||
setCharSpacing(spacing: number): void;
|
||||
setWordSpacing(spacing: number): void;
|
||||
setHScale(scale: number): void;
|
||||
setLeading(leading: number): void;
|
||||
setFont(fontRefName: string, size: number): void;
|
||||
setTextRenderingMode(mode: number): void;
|
||||
setTextRise(rise: number): void;
|
||||
moveText(x: number, y: number): void;
|
||||
setLeadingMoveText(): void;
|
||||
setTextMatrix(a: number, b: number, c: number, d: number, e: number, f: number): void;
|
||||
nextLine(): void;
|
||||
showText(glyphs: any[]): void;
|
||||
showType3Text(glyphs: any): void;
|
||||
showSpacedText(): void;
|
||||
nextLineShowText(): void;
|
||||
nextLineSetSpacingShowText(): void;
|
||||
setCharWidth(xWidth: any, yWidth: any): void;
|
||||
setCharWidthAndBounds(): void;
|
||||
setStrokeColorSpace(): void;
|
||||
setFillColorSpace(): void;
|
||||
setStrokeColor(): void;
|
||||
setStrokeColorN(): void;
|
||||
setFillColor(): void;
|
||||
setFillColorN(): void;
|
||||
setStrokeGray(): void;
|
||||
setFillGray(): void;
|
||||
setStrokeRGBColor(r: number, g: number, b: number): void;
|
||||
setFillRGBColor(r: number, g: number, b: number): void;
|
||||
setStrokeCMYKColor(): void;
|
||||
setFillCMYKColor(): void;
|
||||
shadingFill(): void;
|
||||
beginInlineImage(): void;
|
||||
beginImageData(): void;
|
||||
endInlineImage(): void;
|
||||
paintXObject(): void;
|
||||
markPoint(): void;
|
||||
markPointProps(): void;
|
||||
beginMarkedContent(tag: any): void;
|
||||
beginMarkedContentProps(tag: any, properties: any): void;
|
||||
endMarkedContent(): void;
|
||||
beginCompat(): void;
|
||||
endCompat(): void;
|
||||
paintFormXObjectBegin(matrix: any, bbox: any): void;
|
||||
paintFormXObjectEnd(): void;
|
||||
beginGroup(): void;
|
||||
endGroup(): void;
|
||||
beginAnnotation(): void;
|
||||
endAnnotation(): void;
|
||||
paintImageMaskXObject(): void;
|
||||
paintImageMaskXObjectGroup(): void;
|
||||
paintImageXObject(objId: any): void;
|
||||
paintInlineImageXObject(imgData: any): void;
|
||||
paintInlineImageXObjectGroup(): void;
|
||||
paintImageXObjectRepeat(): void;
|
||||
paintImageMaskXObjectRepeat(): void;
|
||||
paintSolidColorImageMask(): void;
|
||||
constructPath(ops: number[], args: number[], minMax: any): void;
|
||||
}
|
||||
declare class CanvasExtraState {
|
||||
alphaIsShape: boolean;
|
||||
fontSize: number;
|
||||
fontSizeScale: number;
|
||||
textMatrix: number[];
|
||||
textMatrixScale: number;
|
||||
fontMatrix: number[];
|
||||
leading: number;
|
||||
x: number;
|
||||
y: number;
|
||||
lineX: number;
|
||||
lineY: number;
|
||||
charSpacing: number;
|
||||
wordSpacing: number;
|
||||
textHScale: number;
|
||||
textRenderingMode: number;
|
||||
textRise: number;
|
||||
fillColor: THREE.Color;
|
||||
strokeColor: THREE.Color;
|
||||
patternFill: boolean;
|
||||
fillAlpha: number;
|
||||
strokeAlpha: number;
|
||||
lineWidth: number;
|
||||
activeSMask: null;
|
||||
transferMaps: string;
|
||||
ctxMatrix: THREE.Matrix3;
|
||||
fontDirection?: number;
|
||||
font?: any;
|
||||
constructor(width?: number, height?: number);
|
||||
clone(): any;
|
||||
setCurrentPoint(x: number, y: number): void;
|
||||
}
|
||||
export {};
|
||||
1
demo/libs/types/core/pdf/index.d.ts
vendored
Normal file
1
demo/libs/types/core/pdf/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export * from "./PdfLoader";
|
||||
@ -18,7 +18,6 @@ export declare class Viewer3DUtils {
|
||||
/**
|
||||
* Gets camera's new position and target(lookAt) by given bbox and view
|
||||
*/
|
||||
static getCameraPositionByBboxAndView(bbox: THREE.Box3, view: Views | string, eye: THREE.Vector3, look: THREE.Vector3, cameraProjectionMatrix?: THREE.Matrix4): void;
|
||||
/**
|
||||
* Gets camera's new position and target(lookAt) by given bbox and expected camera direction
|
||||
*/
|
||||
|
||||
17
demo/libs/types/core/viewers/BimViewer.d.ts
vendored
17
demo/libs/types/core/viewers/BimViewer.d.ts
vendored
@ -107,6 +107,12 @@ export declare class BimViewer extends BaseViewer {
|
||||
*/
|
||||
private bbox;
|
||||
private anchor?;
|
||||
private edgesVisible;
|
||||
private edgesPassTimeout?;
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
edgesPassTimeoutMs: number;
|
||||
constructor(viewerCfg: BimViewerConfig, cameraCfg?: CameraConfig);
|
||||
/**
|
||||
* Initialize everything it needs
|
||||
@ -188,7 +194,7 @@ export declare class BimViewer extends BaseViewer {
|
||||
/**
|
||||
* Sets decoder path for draco loader.
|
||||
* Draco decoder will be used if a model is draco encoded.
|
||||
* @param decoderPath e.g., "three/js/libs/draco/gltf/"
|
||||
* @param decoderPath e.g., "libs/draco/gltf/"
|
||||
* @internal
|
||||
*/
|
||||
setDracoDecoderPath(path: string): void;
|
||||
@ -382,7 +388,14 @@ export declare class BimViewer extends BaseViewer {
|
||||
* @internal
|
||||
*/
|
||||
enableUnrealBloomPass(enable: boolean): void;
|
||||
enableEdgesPass(enable: boolean, timeoutMs?: number): void;
|
||||
private updateEdgesVisibility;
|
||||
private handleCameraControl;
|
||||
private handleCameraSleep;
|
||||
/**
|
||||
* Enables or disable delay render edges.
|
||||
* @internal
|
||||
*/
|
||||
delayRenderEdges(enable: boolean): void;
|
||||
/**
|
||||
* @description Compatible with older versions, use SectionPlugin instead
|
||||
* @internal
|
||||
|
||||
@ -58,6 +58,7 @@ export declare class BimViewerDatGuiPlugin extends Plugin {
|
||||
ssaaEnabled: boolean;
|
||||
bloomEnabled: boolean;
|
||||
unrealBloomEnabled: boolean;
|
||||
delayRenderEdges: boolean;
|
||||
};
|
||||
/**
|
||||
* Init dat.GUI
|
||||
|
||||
1
demo/libs/types/plugins/index.d.ts
vendored
1
demo/libs/types/plugins/index.d.ts
vendored
@ -1,6 +1,7 @@
|
||||
export * from "./axis-gizmo";
|
||||
export * from "./bottom-bar";
|
||||
export * from "./dat-gui";
|
||||
export * from "./layer-manager";
|
||||
export * from "./explode";
|
||||
export * from "./ground-grass";
|
||||
export * from "./ground-grid";
|
||||
|
||||
45
demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts
vendored
Normal file
45
demo/libs/types/plugins/layer-manager/LayerManagerPlugin.d.ts
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
import { DxfLayers, DxfViewer, Plugin, PluginConfig } from "../../core";
|
||||
/**
|
||||
* Dxf layer manager config.
|
||||
*/
|
||||
export interface LayerManagerPluginConfig extends PluginConfig {
|
||||
/**
|
||||
* Container div id.
|
||||
*/
|
||||
containerId: string;
|
||||
/**
|
||||
* If panel is visible. It is visible by default.
|
||||
*/
|
||||
visible?: boolean;
|
||||
}
|
||||
/**
|
||||
* Dxf layer manager plugin events.
|
||||
*/
|
||||
/**
|
||||
* Dxf layer manager.
|
||||
* Can be used by DxfViewer.
|
||||
*/
|
||||
export declare class LayerManagerPlugin extends Plugin {
|
||||
protected cfg: LayerManagerPluginConfig;
|
||||
protected container?: HTMLDivElement;
|
||||
protected layerMgrRoot?: HTMLDivElement;
|
||||
protected layerList?: HTMLDivElement;
|
||||
protected headerText?: HTMLSpanElement;
|
||||
protected closeBtn?: HTMLSpanElement;
|
||||
protected dxfLayersArray?: DxfLayers[];
|
||||
protected checkboxes?: HTMLInputElement[];
|
||||
constructor(viewer: DxfViewer, cfg?: LayerManagerPluginConfig);
|
||||
protected init(): void;
|
||||
setVisible(visible: boolean): void;
|
||||
protected show(): void;
|
||||
protected hide(): void;
|
||||
destroy(): void;
|
||||
buildPage(): void;
|
||||
addContent(): void;
|
||||
generateListItem(layer: string, visible: boolean, color: string): string;
|
||||
addEventHandlers(): void;
|
||||
checkboxHandler(checkbox: HTMLInputElement): void;
|
||||
updatePage(): void;
|
||||
updateHeaderText(): void;
|
||||
convertDecimalToHex(decimal: number): string;
|
||||
}
|
||||
1
demo/libs/types/plugins/layer-manager/index.d.ts
vendored
Normal file
1
demo/libs/types/plugins/layer-manager/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export * from "./LayerManagerPlugin";
|
||||
@ -67,13 +67,13 @@ export declare abstract class BaseMeasurement extends Event<MeasureHandler> {
|
||||
protected mouseDowned: boolean;
|
||||
protected touchDowned: boolean;
|
||||
protected lastMoveEvent?: EventInfo;
|
||||
protected lastMouseDownPosition?: THREE.Vector3;
|
||||
protected mouseDownPositionX: number;
|
||||
protected mouseDownPositionY: number;
|
||||
protected currentMeasureDrawable?: BaseMeasureDrawable;
|
||||
protected drawingPoints?: THREE.Vector3[];
|
||||
protected lastClickTime?: number;
|
||||
protected tooltip?: Tooltip;
|
||||
protected tempEdgeMaterial: THREE.LineBasicMaterial;
|
||||
protected snapPoint?: THREE.Vector3 | undefined;
|
||||
protected completed?: boolean;
|
||||
protected clickedOnMeasurementDrawable?: BaseMeasureDrawable;
|
||||
@ -122,8 +122,5 @@ export declare abstract class BaseMeasurement extends Event<MeasureHandler> {
|
||||
* @param e
|
||||
*/
|
||||
getIntersections: (e: EventInfo) => THREE.Intersection[];
|
||||
private getIntersectsIncludeOutline;
|
||||
lastMouseDownPosition?: THREE.Vector3;
|
||||
private handleSnap;
|
||||
}
|
||||
export {};
|
||||
|
||||
@ -7,7 +7,7 @@ export declare class SectionPlane extends THREE.Mesh {
|
||||
vertices: THREE.Vector3[];
|
||||
edge: THREE.Line;
|
||||
constructor(actionType: string, vertices: THREE.Vector3[]);
|
||||
private createIgnoreClipMateriasl;
|
||||
private createIgnoreClipMaterials;
|
||||
createEdge(vertices: THREE.Vector3[]): THREE.Line<THREE.BufferGeometry<THREE.NormalBufferAttributes>, THREE.LineBasicMaterial>;
|
||||
update(vertices: THREE.Vector3[]): void;
|
||||
rotatePlane(axis: THREE.Vector3, angle: number): void;
|
||||
|
||||
@ -21,12 +21,13 @@ export declare class ViewCubePlugin extends Plugin {
|
||||
private requestAnimationFrameHandle?;
|
||||
private raycaster;
|
||||
private renderEnabled;
|
||||
private inputManager;
|
||||
private inputManager?;
|
||||
private viewCube?;
|
||||
private lastCoords?;
|
||||
constructor(viewer: BaseViewer, cfg?: ViewCubePluginConfig);
|
||||
private init;
|
||||
private initDom;
|
||||
private initInputManager;
|
||||
private initScene;
|
||||
private initCamera;
|
||||
private initRenderer;
|
||||
|
||||
Reference in New Issue
Block a user