@maqiuyao/dxf-viewer 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -0
- package/dist/assets/vite-project.css +1 -0
- package/dist/dxf-viewer.cjs +1533 -0
- package/dist/dxf-viewer.js +33490 -0
- package/dist/src/dxfViewer/core/Configs.d.ts +250 -0
- package/dist/src/dxfViewer/core/Constants.d.ts +76 -0
- package/dist/src/dxfViewer/core/Units.d.ts +16 -0
- package/dist/src/dxfViewer/core/VersionManager.d.ts +14 -0
- package/dist/src/dxfViewer/core/camera/CameraManager.d.ts +81 -0
- package/dist/src/dxfViewer/core/camera/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/camera-controls/CameraControls.d.ts +744 -0
- package/dist/src/dxfViewer/core/camera-controls/Constants.d.ts +2 -0
- package/dist/src/dxfViewer/core/camera-controls/EventDispatcher.d.ts +42 -0
- package/dist/src/dxfViewer/core/camera-controls/index.d.ts +2 -0
- package/dist/src/dxfViewer/core/camera-controls/types.d.ts +112 -0
- package/dist/src/dxfViewer/core/camera-controls/utils/extractClientCoordFromEvent.d.ts +7 -0
- package/dist/src/dxfViewer/core/camera-controls/utils/math-utils.d.ts +14 -0
- package/dist/src/dxfViewer/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts +2 -0
- package/dist/src/dxfViewer/core/canvas/CanvasRender.d.ts +49 -0
- package/dist/src/dxfViewer/core/canvas/Constants.d.ts +28 -0
- package/dist/src/dxfViewer/core/canvas/Drawable.d.ts +87 -0
- package/dist/src/dxfViewer/core/canvas/DrawableList.d.ts +40 -0
- package/dist/src/dxfViewer/core/canvas/index.d.ts +4 -0
- package/dist/src/dxfViewer/core/compare/BaseDxfCompareHelper.d.ts +104 -0
- package/dist/src/dxfViewer/core/compare/CompareDrawable.d.ts +30 -0
- package/dist/src/dxfViewer/core/compare/DxfCompareHelper.d.ts +76 -0
- package/dist/src/dxfViewer/core/compare/DxfCompareMarkupManager.d.ts +11 -0
- package/dist/src/dxfViewer/core/compare/index.d.ts +4 -0
- package/dist/src/dxfViewer/core/components/Container.d.ts +38 -0
- package/dist/src/dxfViewer/core/components/ProgressBar.d.ts +31 -0
- package/dist/src/dxfViewer/core/components/Spinner.d.ts +13 -0
- package/dist/src/dxfViewer/core/components/index.d.ts +3 -0
- package/dist/src/dxfViewer/core/controls/CameraControlsEx.d.ts +33 -0
- package/dist/src/dxfViewer/core/controls/Control.d.ts +17 -0
- package/dist/src/dxfViewer/core/controls/OrbitControls.d.ts +13 -0
- package/dist/src/dxfViewer/core/controls/PlanControls.d.ts +13 -0
- package/dist/src/dxfViewer/core/controls/index.d.ts +3 -0
- package/dist/src/dxfViewer/core/dxf/DxfCompare.d.ts +170 -0
- package/dist/src/dxfViewer/core/dxf/DxfConstants.d.ts +24 -0
- package/dist/src/dxfViewer/core/dxf/DxfLoader.d.ts +569 -0
- package/dist/src/dxfViewer/core/dxf/DxfObject.d.ts +44 -0
- package/dist/src/dxfViewer/core/dxf/DxfUtils.d.ts +79 -0
- package/dist/src/dxfViewer/core/dxf/HatchPatternShaders.d.ts +12 -0
- package/dist/src/dxfViewer/core/dxf/LinePatternShaders.d.ts +12 -0
- package/dist/src/dxfViewer/core/dxf/bspline.d.ts +7 -0
- package/dist/src/dxfViewer/core/dxf/dxfom-mtext.d.ts +46 -0
- package/dist/src/dxfViewer/core/dxf/dxfom-text.d.ts +16 -0
- package/dist/src/dxfViewer/core/dxf/index.d.ts +10 -0
- package/dist/src/dxfViewer/core/dxf/round10.d.ts +1 -0
- package/dist/src/dxfViewer/core/dxf-parser/AutoCadColorIndex.d.ts +8 -0
- package/dist/src/dxfViewer/core/dxf-parser/DxfBaseReader.d.ts +13 -0
- package/dist/src/dxfViewer/core/dxf-parser/DxfBinaryReader.d.ts +14 -0
- package/dist/src/dxfViewer/core/dxf-parser/DxfParser.d.ts +321 -0
- package/dist/src/dxfViewer/core/dxf-parser/DxfTextReader.d.ts +30 -0
- package/dist/src/dxfViewer/core/dxf-parser/ParseHelpers.d.ts +18 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/3dface.d.ts +11 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/arc.d.ts +16 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/attdef.d.ts +31 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/attrib.d.ts +31 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/circle.d.ts +13 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/dimension.d.ts +22 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/ellipse.d.ts +15 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/geomtry.d.ts +40 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/hatch.d.ts +104 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/image.d.ts +37 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/insert.d.ts +21 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/leader.d.ts +20 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/line.d.ts +10 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/lwpolyline.d.ts +17 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/mleader.d.ts +97 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/mtext.d.ts +18 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/ole2frame.d.ts +18 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/point.d.ts +11 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/polyline.d.ts +19 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/ray.d.ts +10 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/region.d.ts +10 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/seqend.d.ts +8 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/solid.d.ts +10 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/spline.d.ts +23 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/table.d.ts +44 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/text.d.ts +18 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/vertex.d.ts +23 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/viewport.d.ts +46 -0
- package/dist/src/dxfViewer/core/dxf-parser/entities/xline.d.ts +10 -0
- package/dist/src/dxfViewer/core/dxf-parser/index.d.ts +27 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/common.d.ts +15 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/dictionary.d.ts +19 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/imagedef.d.ts +24 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/layout.d.ts +26 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/sortentstable.d.ts +12 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/spatialfilter.d.ts +22 -0
- package/dist/src/dxfViewer/core/dxf-parser/objects/xrecord.d.ts +11 -0
- package/dist/src/dxfViewer/core/effect/EffectManager.d.ts +43 -0
- package/dist/src/dxfViewer/core/effect/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/font/BaseFont.d.ts +41 -0
- package/dist/src/dxfViewer/core/font/FontManager.d.ts +52 -0
- package/dist/src/dxfViewer/core/font/MeshFont.d.ts +14 -0
- package/dist/src/dxfViewer/core/font/ShxFont.d.ts +49 -0
- package/dist/src/dxfViewer/core/font/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/font/shx/ExtraLettersTemplate.d.ts +4 -0
- package/dist/src/dxfViewer/core/font/shx/Shx.constants.d.ts +20 -0
- package/dist/src/dxfViewer/core/font/shx/ShxParser.d.ts +18 -0
- package/dist/src/dxfViewer/core/font/shx/TextShape.d.ts +24 -0
- package/dist/src/dxfViewer/core/font/shx/gbk/index.d.ts +3 -0
- package/dist/src/dxfViewer/core/font/shx/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/font/shx/util/BitConverter.d.ts +21 -0
- package/dist/src/dxfViewer/core/geometry-offset/Edge.d.ts +27 -0
- package/dist/src/dxfViewer/core/geometry-offset/Offset.d.ts +46 -0
- package/dist/src/dxfViewer/core/geometry-offset/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/helpers/BinaryReader.d.ts +23 -0
- package/dist/src/dxfViewer/core/helpers/BoxSelectHelper.d.ts +44 -0
- package/dist/src/dxfViewer/core/helpers/InstantiateHelper.d.ts +26 -0
- package/dist/src/dxfViewer/core/helpers/LoadingHelper.d.ts +59 -0
- package/dist/src/dxfViewer/core/helpers/MeshBvhHelper.d.ts +15 -0
- package/dist/src/dxfViewer/core/helpers/MobileTouchHelperDrawable.d.ts +26 -0
- package/dist/src/dxfViewer/core/helpers/OSnapHelper.d.ts +158 -0
- package/dist/src/dxfViewer/core/helpers/ObjectPixelSizeHelper.d.ts +13 -0
- package/dist/src/dxfViewer/core/helpers/PickMarkupHelper.d.ts +29 -0
- package/dist/src/dxfViewer/core/helpers/RafHelper.d.ts +18 -0
- package/dist/src/dxfViewer/core/helpers/ZoomToRectHelper.d.ts +24 -0
- package/dist/src/dxfViewer/core/helpers/index.d.ts +11 -0
- package/dist/src/dxfViewer/core/index.d.ts +19 -0
- package/dist/src/dxfViewer/core/indexeddb/BaseTable.d.ts +36 -0
- package/dist/src/dxfViewer/core/indexeddb/DxfDataTable.d.ts +22 -0
- package/dist/src/dxfViewer/core/indexeddb/FontDataTable.d.ts +32 -0
- package/dist/src/dxfViewer/core/indexeddb/IndexedDbManager.d.ts +50 -0
- package/dist/src/dxfViewer/core/indexeddb/index.d.ts +4 -0
- package/dist/src/dxfViewer/core/input-manager/InputManager.d.ts +146 -0
- package/dist/src/dxfViewer/core/input-manager/index.d.ts +2 -0
- package/dist/src/dxfViewer/core/materials/BimTilesHighlightMaterial.d.ts +21 -0
- package/dist/src/dxfViewer/core/materials/BimTilesMaterial.d.ts +32 -0
- package/dist/src/dxfViewer/core/materials/BimTilesPickMaterial.d.ts +14 -0
- package/dist/src/dxfViewer/core/materials/BimTilesTransparentMaterial.d.ts +20 -0
- package/dist/src/dxfViewer/core/materials/StandardMaterialEx.d.ts +29 -0
- package/dist/src/dxfViewer/core/materials/constants.d.ts +4 -0
- package/dist/src/dxfViewer/core/materials/index.d.ts +5 -0
- package/dist/src/dxfViewer/core/model/Constants.d.ts +58 -0
- package/dist/src/dxfViewer/core/model/Model.d.ts +18 -0
- package/dist/src/dxfViewer/core/model/Model2d.d.ts +144 -0
- package/dist/src/dxfViewer/core/model/Model3d.d.ts +111 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BatchedMeshesParser.d.ts +26 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BimTilesConfigParser.d.ts +43 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BimTilesData.d.ts +280 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BimTilesMaterialManager.d.ts +139 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BimTilesModel.d.ts +70 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BimTilesPropertyParser.d.ts +45 -0
- package/dist/src/dxfViewer/core/model/bimtiles/BimTilesRenderer.d.ts +59 -0
- package/dist/src/dxfViewer/core/model/bimtiles/InstancedMeshesParser.d.ts +41 -0
- package/dist/src/dxfViewer/core/model/bimtiles/TileParser.d.ts +14 -0
- package/dist/src/dxfViewer/core/model/bimtiles/Utils.d.ts +29 -0
- package/dist/src/dxfViewer/core/model/index.d.ts +6 -0
- package/dist/src/dxfViewer/core/patches/Constants.d.ts +6 -0
- package/dist/src/dxfViewer/core/patches/Line.d.ts +3 -0
- package/dist/src/dxfViewer/core/patches/Mesh.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/Points.d.ts +3 -0
- package/dist/src/dxfViewer/core/patches/index.d.ts +4 -0
- package/dist/src/dxfViewer/core/patches/shaders/ShaderChunk.d.ts +143 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/common_ex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/id_pars_vertex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/id_vertex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outine_bc_vertex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_fragment.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_vertex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_fragment.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_highlight_fragment.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_pars_fragment.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_transparent_fragment.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderLib/pick_ex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/patches/shaders/shaderLib/standard_ex.glsl.d.ts +2 -0
- package/dist/src/dxfViewer/core/pick/PickManager.d.ts +54 -0
- package/dist/src/dxfViewer/core/pick/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/scene/SceneManager.d.ts +43 -0
- package/dist/src/dxfViewer/core/scene/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/shp-js/BitView.d.ts +12 -0
- package/dist/src/dxfViewer/core/shp-js/SHPLoader.d.ts +12 -0
- package/dist/src/dxfViewer/core/shp-js/Shp.d.ts +10 -0
- package/dist/src/dxfViewer/core/shp-js/ShpThree.d.ts +24 -0
- package/dist/src/dxfViewer/core/shp-js/index.d.ts +4 -0
- package/dist/src/dxfViewer/core/text-texture/TextTexture.d.ts +45 -0
- package/dist/src/dxfViewer/core/undo/Command.d.ts +6 -0
- package/dist/src/dxfViewer/core/undo/UndoManager.d.ts +24 -0
- package/dist/src/dxfViewer/core/undo/index.d.ts +2 -0
- package/dist/src/dxfViewer/core/utils/CSS2DObjectUtils.d.ts +14 -0
- package/dist/src/dxfViewer/core/utils/CancelablePromise.d.ts +6 -0
- package/dist/src/dxfViewer/core/utils/ColorUtils.d.ts +21 -0
- package/dist/src/dxfViewer/core/utils/CommonUtils.d.ts +129 -0
- package/dist/src/dxfViewer/core/utils/CoordinateUtils.d.ts +81 -0
- package/dist/src/dxfViewer/core/utils/DecimalPrecisionUtils.d.ts +10 -0
- package/dist/src/dxfViewer/core/utils/DeviceUtils.d.ts +15 -0
- package/dist/src/dxfViewer/core/utils/EdgeUtils.d.ts +14 -0
- package/dist/src/dxfViewer/core/utils/Event.d.ts +34 -0
- package/dist/src/dxfViewer/core/utils/ExportUtils.d.ts +61 -0
- package/dist/src/dxfViewer/core/utils/FpsUtils.d.ts +13 -0
- package/dist/src/dxfViewer/core/utils/GeometryUtils.d.ts +78 -0
- package/dist/src/dxfViewer/core/utils/Locale.d.ts +22 -0
- package/dist/src/dxfViewer/core/utils/LogUtils.d.ts +7 -0
- package/dist/src/dxfViewer/core/utils/MaterialUtils.d.ts +40 -0
- package/dist/src/dxfViewer/core/utils/MathUtils.d.ts +41 -0
- package/dist/src/dxfViewer/core/utils/MergeUtils.d.ts +120 -0
- package/dist/src/dxfViewer/core/utils/ObjectUtils.d.ts +215 -0
- package/dist/src/dxfViewer/core/utils/PolygonUtils.d.ts +9 -0
- package/dist/src/dxfViewer/core/utils/SVGObjectUtils.d.ts +22 -0
- package/dist/src/dxfViewer/core/utils/SceneUtils.d.ts +26 -0
- package/dist/src/dxfViewer/core/utils/SectionUtils.d.ts +11 -0
- package/dist/src/dxfViewer/core/utils/SimplifyUtils.d.ts +15 -0
- package/dist/src/dxfViewer/core/utils/TextUtils.d.ts +37 -0
- package/dist/src/dxfViewer/core/utils/TextureUtils.d.ts +16 -0
- package/dist/src/dxfViewer/core/utils/UnitConversionUtils.d.ts +31 -0
- package/dist/src/dxfViewer/core/utils/Viewer3dUtils.d.ts +25 -0
- package/dist/src/dxfViewer/core/utils/index.d.ts +26 -0
- package/dist/src/dxfViewer/core/viewers/BaseViewer.d.ts +248 -0
- package/dist/src/dxfViewer/core/viewers/BimTilesViewer.d.ts +126 -0
- package/dist/src/dxfViewer/core/viewers/Constants.d.ts +9 -0
- package/dist/src/dxfViewer/core/viewers/Plugin.d.ts +29 -0
- package/dist/src/dxfViewer/core/viewers/Viewer2d.d.ts +405 -0
- package/dist/src/dxfViewer/core/viewers/Viewer3d.d.ts +130 -0
- package/dist/src/dxfViewer/core/viewers/Viewer3dLite.d.ts +143 -0
- package/dist/src/dxfViewer/core/viewers/ViewerEvent.d.ts +96 -0
- package/dist/src/dxfViewer/core/viewers/index.d.ts +8 -0
- package/dist/src/dxfViewer/core/webcam/WebCam.d.ts +27 -0
- package/dist/src/dxfViewer/core/webcam/index.d.ts +1 -0
- package/dist/src/dxfViewer/core/workers/CreateMeshBvh.worker.d.ts +1 -0
- package/dist/src/dxfViewer/core/workers/GenerateMeshBvhWorker.d.ts +17 -0
- package/dist/src/dxfViewer/core/workers/index.d.ts +1 -0
- package/dist/src/dxfViewer/lib.d.ts +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
declare const ShaderChunk: {
|
|
2
|
+
alphahash_fragment: string;
|
|
3
|
+
alphahash_pars_fragment: string;
|
|
4
|
+
alphamap_fragment: string;
|
|
5
|
+
alphamap_pars_fragment: string;
|
|
6
|
+
alphatest_fragment: string;
|
|
7
|
+
alphatest_pars_fragment: string;
|
|
8
|
+
aomap_fragment: string;
|
|
9
|
+
aomap_pars_fragment: string;
|
|
10
|
+
batching_pars_vertex: string;
|
|
11
|
+
begin_vertex: string;
|
|
12
|
+
beginnormal_vertex: string;
|
|
13
|
+
bsdfs: string;
|
|
14
|
+
iridescence_fragment: string;
|
|
15
|
+
bumpmap_pars_fragment: string;
|
|
16
|
+
clipping_planes_fragment: string;
|
|
17
|
+
clipping_planes_pars_fragment: string;
|
|
18
|
+
clipping_planes_pars_vertex: string;
|
|
19
|
+
clipping_planes_vertex: string;
|
|
20
|
+
color_fragment: string;
|
|
21
|
+
color_pars_fragment: string;
|
|
22
|
+
color_pars_vertex: string;
|
|
23
|
+
color_vertex: string;
|
|
24
|
+
common: string;
|
|
25
|
+
cube_uv_reflection_fragment: string;
|
|
26
|
+
defaultnormal_vertex: string;
|
|
27
|
+
displacementmap_pars_vertex: string;
|
|
28
|
+
displacementmap_vertex: string;
|
|
29
|
+
emissivemap_fragment: string;
|
|
30
|
+
emissivemap_pars_fragment: string;
|
|
31
|
+
colorspace_fragment: string;
|
|
32
|
+
colorspace_pars_fragment: string;
|
|
33
|
+
envmap_fragment: string;
|
|
34
|
+
envmap_common_pars_fragment: string;
|
|
35
|
+
envmap_pars_fragment: string;
|
|
36
|
+
envmap_pars_vertex: string;
|
|
37
|
+
envmap_physical_pars_fragment: string;
|
|
38
|
+
envmap_vertex: string;
|
|
39
|
+
fog_vertex: string;
|
|
40
|
+
fog_pars_vertex: string;
|
|
41
|
+
fog_fragment: string;
|
|
42
|
+
fog_pars_fragment: string;
|
|
43
|
+
gradientmap_pars_fragment: string;
|
|
44
|
+
lightmap_pars_fragment: string;
|
|
45
|
+
lights_lambert_fragment: string;
|
|
46
|
+
lights_lambert_pars_fragment: string;
|
|
47
|
+
lights_pars_begin: string;
|
|
48
|
+
lights_toon_fragment: string;
|
|
49
|
+
lights_toon_pars_fragment: string;
|
|
50
|
+
lights_phong_fragment: string;
|
|
51
|
+
lights_phong_pars_fragment: string;
|
|
52
|
+
lights_physical_fragment: string;
|
|
53
|
+
lights_physical_pars_fragment: string;
|
|
54
|
+
lights_fragment_begin: string;
|
|
55
|
+
lights_fragment_maps: string;
|
|
56
|
+
lights_fragment_end: string;
|
|
57
|
+
lightprobes_pars_fragment: string;
|
|
58
|
+
logdepthbuf_fragment: string;
|
|
59
|
+
logdepthbuf_pars_fragment: string;
|
|
60
|
+
logdepthbuf_pars_vertex: string;
|
|
61
|
+
logdepthbuf_vertex: string;
|
|
62
|
+
map_fragment: string;
|
|
63
|
+
map_pars_fragment: string;
|
|
64
|
+
map_particle_fragment: string;
|
|
65
|
+
map_particle_pars_fragment: string;
|
|
66
|
+
metalnessmap_fragment: string;
|
|
67
|
+
metalnessmap_pars_fragment: string;
|
|
68
|
+
morphcolor_vertex: string;
|
|
69
|
+
morphnormal_vertex: string;
|
|
70
|
+
morphtarget_pars_vertex: string;
|
|
71
|
+
morphtarget_vertex: string;
|
|
72
|
+
normal_fragment_begin: string;
|
|
73
|
+
normal_fragment_maps: string;
|
|
74
|
+
normal_pars_fragment: string;
|
|
75
|
+
normal_pars_vertex: string;
|
|
76
|
+
normal_vertex: string;
|
|
77
|
+
normalmap_pars_fragment: string;
|
|
78
|
+
clearcoat_normal_fragment_begin: string;
|
|
79
|
+
clearcoat_normal_fragment_maps: string;
|
|
80
|
+
clearcoat_pars_fragment: string;
|
|
81
|
+
iridescence_pars_fragment: string;
|
|
82
|
+
opaque_fragment: string;
|
|
83
|
+
packing: string;
|
|
84
|
+
premultiplied_alpha_fragment: string;
|
|
85
|
+
project_vertex: string;
|
|
86
|
+
dithering_fragment: string;
|
|
87
|
+
dithering_pars_fragment: string;
|
|
88
|
+
roughnessmap_fragment: string;
|
|
89
|
+
roughnessmap_pars_fragment: string;
|
|
90
|
+
shadowmap_pars_fragment: string;
|
|
91
|
+
shadowmap_pars_vertex: string;
|
|
92
|
+
shadowmap_vertex: string;
|
|
93
|
+
shadowmask_pars_fragment: string;
|
|
94
|
+
skinbase_vertex: string;
|
|
95
|
+
skinning_pars_vertex: string;
|
|
96
|
+
skinning_vertex: string;
|
|
97
|
+
skinnormal_vertex: string;
|
|
98
|
+
specularmap_fragment: string;
|
|
99
|
+
specularmap_pars_fragment: string;
|
|
100
|
+
tonemapping_fragment: string;
|
|
101
|
+
tonemapping_pars_fragment: string;
|
|
102
|
+
transmission_fragment: string;
|
|
103
|
+
transmission_pars_fragment: string;
|
|
104
|
+
uv_pars_fragment: string;
|
|
105
|
+
uv_pars_vertex: string;
|
|
106
|
+
uv_vertex: string;
|
|
107
|
+
worldpos_vertex: string;
|
|
108
|
+
background_vert: string;
|
|
109
|
+
background_frag: string;
|
|
110
|
+
backgroundCube_vert: string;
|
|
111
|
+
backgroundCube_frag: string;
|
|
112
|
+
cube_vert: string;
|
|
113
|
+
cube_frag: string;
|
|
114
|
+
depth_vert: string;
|
|
115
|
+
depth_frag: string;
|
|
116
|
+
distanceRGBA_vert: string;
|
|
117
|
+
distanceRGBA_frag: string;
|
|
118
|
+
equirect_vert: string;
|
|
119
|
+
equirect_frag: string;
|
|
120
|
+
linedashed_vert: string;
|
|
121
|
+
linedashed_frag: string;
|
|
122
|
+
meshbasic_vert: string;
|
|
123
|
+
meshbasic_frag: string;
|
|
124
|
+
meshlambert_vert: string;
|
|
125
|
+
meshlambert_frag: string;
|
|
126
|
+
meshmatcap_vert: string;
|
|
127
|
+
meshmatcap_frag: string;
|
|
128
|
+
meshnormal_vert: string;
|
|
129
|
+
meshnormal_frag: string;
|
|
130
|
+
meshphong_vert: string;
|
|
131
|
+
meshphong_frag: string;
|
|
132
|
+
meshphysical_vert: string;
|
|
133
|
+
meshphysical_frag: string;
|
|
134
|
+
meshtoon_vert: string;
|
|
135
|
+
meshtoon_frag: string;
|
|
136
|
+
points_vert: string;
|
|
137
|
+
points_frag: string;
|
|
138
|
+
shadow_vert: string;
|
|
139
|
+
shadow_frag: string;
|
|
140
|
+
sprite_vert: string;
|
|
141
|
+
sprite_frag: string;
|
|
142
|
+
};
|
|
143
|
+
export { ShaderChunk };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n // When an object is transparent, we'll change its alpha value,\n // but we should not assign a fixed value because it may already\n // has an alpha value that is lower than 1.\n // So, let's multiply a factor.\n // const float TRANSPARENT_FACTOR = 0.5;\n // Object color when isolated.\n // const vec4 ISOLATE_COLOR = vec4(0.5, 0.5, 0.5, 0.2);\n const vec4 HIGHLIGHT_COLOR = vec4(0.031, 0.906, 0.867, 0.5); // 0x08e8de\n\n // a value between 1-2, a bigger value results in more significant effect\n const float HOVER_FACTOR = 1.2;\n\n // need to make sure the value is the same as in StateType enum.\n const int StateType_Hidden = 0;\n const int StateType_Transparent = 1;\n const int StateType_Highlighted = 2;\n const int StateType_Hovered = 3;\n\n /**\n * Converts a tileObjectId(tilesetId + userId) to color.\n */\n vec4 tileObjectId2Color(int id) {\n int r = id >> 16 & 0xff;\n int g = id >> 8 & 0xff;\n int b = id >> 0 & 0xff;\n int a = id >> 24 & 0xff;\n return vec4(float(r) / 255.0, float(g) / 255.0, float(b) / 255.0, float(a) / 255.0);\n }\n\n // /**\n // * Gets tilesetId and userId from a color.\n // * (rgb, a) => (userId, tilesetId)\n // */\n // vec2 color2Id(vec4 color) {\n // int userId = (int(color.r) << 16) + (int(color.g) << 8) + (int(color.b) << 0);\n // int tilesetId = (int(color.a) << 24);\n // return vec2(userId, tilesetId);\n // }\n\n /**\n * Gets userId by tileObjectId.\n */\n int tileObjectId2UserId(int tileObjectId) {\n return tileObjectId & 0x00ffffff;\n }\n\n /**\n * Gets texture color (which contains hidden/transparent/highlight status) form a userId\n */\n vec4 getTextureColorByTileObjectId(sampler2D sampler, float textureWidth, float textureHeight, int tileObjectId) {\n float userId = float(tileObjectId2UserId(tileObjectId));\n float indexX = mod(userId, textureWidth);\n float indexY = floor(userId / textureWidth);\n vec2 texCoord = vec2(indexX / textureWidth, indexY / textureHeight);\n return texture2D(sampler, texCoord);\n }\n\n /**\n * Gets the flag(0 or 1) from a number by given StateType.\n * @param num A uint8 number.\n */\n bool getFlagByStateType(int num, int state) {\n // the bit index is the state itself\n int bitIdx = state;\n return (num & (0x1 << bitIdx)) != 0;\n }\n\n /**\n * Flags(Hidden/Transparent/Hovered/Highlighted) are in textureColor.r value.\n */\n bool getFlagByColor(vec4 textureColor, int state) {\n // map a color value from 0-1 to range 0-255\n int num = int(textureColor.r * 255.0);\n return getFlagByStateType(num, state);\n }\n\n /**\n * Checks if an object is hidden by transparent cloned mesh.\n */\n bool isTransparentHidden(vec4 textureColor) {\n int num = int(textureColor.b * 255.0);\n return getFlagByStateType(num, StateType_Hidden);\n }\n\n /**\n * Checks if an object is hidden by the \"color\".\n */\n bool isHidden(vec4 textureColor) {\n return getFlagByColor(textureColor, StateType_Hidden);\n }\n\n /**\n * Checks if an object is transparent by the \"color\".\n */\n bool isTransparent(vec4 textureColor) {\n return getFlagByColor(textureColor, StateType_Transparent);\n }\n\n /**\n * Gets opacity value between 0-1.\n */\n lowp float getOpacity(vec4 textureColor) {\n return textureColor.g;\n }\n\n /**\n * Checks if an object is hovered by the \"color\".\n */\n bool isHovered(vec4 textureColor) {\n return getFlagByColor(textureColor, StateType_Hovered);\n }\n\n // bool isIsolated(vec4 textureColor) {\n // return textureColor.b > 0.5;\n // }\n\n /**\n * Checks if an object is highlighted by the \"color\".\n */\n bool isHighlighted(vec4 textureColor) {\n return getFlagByColor(textureColor, StateType_Highlighted);\n }\n\n /**\n * Changes a color value by some means. Here, we either multiply or devide a HOVER_FACTOR.\n */\n float getChangedValueForHoverEffect(float val) {\n return (val < 0.5) ? (val * HOVER_FACTOR) : (val / HOVER_FACTOR);\n }\n\n /**\n * Gets hovered color by original color.\n */\n vec4 getHoveredColor(vec4 color) {\n color.r = getChangedValueForHoverEffect(color.r);\n color.g = getChangedValueForHoverEffect(color.g);\n color.b = getChangedValueForHoverEffect(color.b);\n return color;\n }\n\n // TODO: isHighlighted isOverride isHovered\n";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n #ifdef USE_BC_OUTLINE\n // Restore barycentric coordinates\n int barycentricX = int(barycentric) & 0x1;\n int barycentricY = int(barycentric) & 0x2;\n int barycentricZ = int(barycentric) & 0x4;\n vBarycentric = vec3(float(barycentricX), float(barycentricY), float(barycentricZ));\n #endif\n";
|
|
2
|
+
export default _default;
|
package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/outline_bc_pars_fragment.glsl.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n #ifdef USE_BC_OUTLINE\n varying vec3 vBarycentric;\n uniform vec3 outlineColor;\n\n float edgeFactor3() {\n vec3 d = fwidth(vBarycentric);\n float minValue = 0.0000001;\n // make sure d is not 0\n d = clamp(d, vec3(minValue), vec3(10.0));\n vec3 a3 = smoothstep(vec3(0.0), d * 0.8, vBarycentric);\n return min(min(a3.x, a3.y), a3.z);\n }\n #endif\n";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n vec4 textureColor = getTextureColorByTileObjectId(uStateTexture, uTextureWidth, uTextureHeight, vTileObjectId);\n // if (uHoverId == tileObjectId) {\n // gl_FragColor = uHoverColor;\n // }\n // if(uIsIsolating) {\n // // hide others\n // if (!isIsolated(textureColor)) {\n // // transparent others\n // if (uTransparentOthersForIsolation) {\n // gl_FragColor = vec4(0.9, 0.9, 0.9, 0.3);\n // } else {\n // // hide others when isolating.\n // discard;\n // }\n // }\n // } else {\n // TODO: Status priority and mutual exclusion\n if (isHidden(textureColor)) {\n discard;\n }\n // If entity is transparent just discard, draw in transparent material\n if (isTransparent(textureColor)) {\n discard;\n }\n if (isHighlighted(textureColor)) {\n discard;\n }\n if (isHovered(textureColor)) {\n gl_FragColor = getHoveredColor(diffuseColor);\n return;\n }\n // TODO:custom color\n // if (isOverride(textureColor)) {\n // gl_FragColor = vec4(0.5, 0.5, 0.5, 0.8);\n // }\n // }\n";
|
|
2
|
+
export default _default;
|
package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_highlight_fragment.glsl.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n vec4 textureColor = getTextureColorByTileObjectId(uStateTexture, uTextureWidth, uTextureHeight, vTileObjectId);\n // State priority (high to low):\n // - Hidden\n // - Transparent\n // - Highlighted: A transparent object should not highlighted in the same time!\n // - Hovered\n if (isHidden(textureColor)) {\n discard;\n } else if (isTransparent(textureColor)) {\n lowp float opacity = getOpacity(textureColor);\n diffuseColor.a *= opacity;\n gl_FragColor = diffuseColor;\n return;\n } else if (isHighlighted(textureColor)) {\n gl_FragColor = HIGHLIGHT_COLOR;\n return;\n }\n";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n flat varying int vTileObjectId;\n uniform float uTextureWidth;\n uniform float uTextureHeight;\n uniform sampler2D uStateTexture;\n // uniform vec4 uHoverColor;\n // uniform int uHoverId;\n // uniform bool uIsIsolating;\n // uniform bool uTransparentOthersForIsolation;\n";
|
|
2
|
+
export default _default;
|
package/dist/src/dxfViewer/core/patches/shaders/shaderChunk/state_transparent_fragment.glsl.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: "\n vec4 textureColor = getTextureColorByTileObjectId(uStateTexture, uTextureWidth, uTextureHeight, vTileObjectId);\n // State priority (high to low):\n // - Hidden\n // - Transparent\n // - Highlighted: A transparent object should not highlighted in the same time!\n // - Hovered\n if (isTransparentHidden(textureColor)) {\n discard;\n } else if (isTransparent(textureColor)) {\n lowp float opacity = getOpacity(textureColor);\n diffuseColor.a *= opacity;\n gl_FragColor = diffuseColor;\n return;\n } else if (isHighlighted(textureColor)) {\n gl_FragColor = HIGHLIGHT_COLOR;\n return;\n }\n";
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const vertex = "\n #include <clipping_planes_pars_vertex>\n\n attribute int tileObjectId;\n flat varying int vTileObjectId;\n #include <common_ex>\n void main() {\n\n vec4 mvPosition = vec4(position, 1.0);\n #include <clipping_planes_vertex>\n vTileObjectId = tileObjectId;\n\n #ifdef USE_INSTANCING\n mvPosition = instanceMatrix * mvPosition;\n #endif\n gl_Position = projectionMatrix * modelViewMatrix * mvPosition;\n }\n";
|
|
2
|
+
export declare const fragment = "\n #include <clipping_planes_pars_fragment>\n\n flat varying int vTileObjectId;\n uniform sampler2D uStateTexture;\n uniform float uTextureWidth;\n uniform float uTextureHeight;\n // uniform bool uIsIsolating;\n #include <common_ex>\n void main() {\n #include <clipping_planes_fragment>\n vec4 textureColor = getTextureColorByTileObjectId(uStateTexture, uTextureWidth, uTextureHeight, vTileObjectId);\n // If is isolating, other objects(which is hidden or transparent) are not pickable.\n // if (uIsIsolating && !isIsolated(textureColor)) {\n // discard;\n // }\n // if an object is hidden, it is not pickable\n if (isHidden(textureColor)) {\n discard;\n }\n // if an object is transparent, it is not pickable\n if (isTransparent(textureColor)) {\n discard;\n }\n\n gl_FragColor = tileObjectId2Color(vTileObjectId);\n }\n";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const vertex = "\n#define STANDARD\n\nvarying vec3 vViewPosition;\n\n#ifdef USE_TRANSMISSION\n\n\tvarying vec3 vWorldPosition;\n\n#endif\n\n#include <common>\n#include <uv_pars_vertex>\n#include <displacementmap_pars_vertex>\n#include <color_pars_vertex>\n#include <fog_pars_vertex>\n#include <normal_pars_vertex>\n#include <morphtarget_pars_vertex>\n#include <skinning_pars_vertex>\n#include <shadowmap_pars_vertex>\n#include <logdepthbuf_pars_vertex>\n#include <clipping_planes_pars_vertex>\n\n#include <outline_bc_pars_vertex>\n\nvoid main() {\n\n\t#include <uv_vertex>\n\t#include <color_vertex>\n\t#include <morphcolor_vertex>\n\n #include <outline_bc_vertex>\n\n\t#include <beginnormal_vertex>\n\t#include <morphnormal_vertex>\n\t#include <skinbase_vertex>\n\t#include <skinnormal_vertex>\n\t#include <defaultnormal_vertex>\n\t#include <normal_vertex>\n\n\t#include <begin_vertex>\n\t#include <morphtarget_vertex>\n\t#include <skinning_vertex>\n\t#include <displacementmap_vertex>\n\t#include <project_vertex>\n\t#include <logdepthbuf_vertex>\n\t#include <clipping_planes_vertex>\n\n\tvViewPosition = - mvPosition.xyz;\n\n\t#include <worldpos_vertex>\n\t#include <shadowmap_vertex>\n\t#include <fog_vertex>\n\n#ifdef USE_TRANSMISSION\n\n\tvWorldPosition = worldPosition.xyz;\n\n#endif\n}\n";
|
|
2
|
+
export declare const fragment = "\n#define STANDARD\n\n#ifdef PHYSICAL\n\t#define IOR\n\t#define USE_SPECULAR\n#endif\n\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n\n#ifdef IOR\n\tuniform float ior;\n#endif\n\n#ifdef USE_SPECULAR\n\tuniform float specularIntensity;\n\tuniform vec3 specularColor;\n\n\t#ifdef USE_SPECULAR_COLORMAP\n\t\tuniform sampler2D specularColorMap;\n\t#endif\n\n\t#ifdef USE_SPECULAR_INTENSITYMAP\n\t\tuniform sampler2D specularIntensityMap;\n\t#endif\n#endif\n\n#ifdef USE_CLEARCOAT\n\tuniform float clearcoat;\n\tuniform float clearcoatRoughness;\n#endif\n\n#ifdef USE_IRIDESCENCE\n\tuniform float iridescence;\n\tuniform float iridescenceIOR;\n\tuniform float iridescenceThicknessMinimum;\n\tuniform float iridescenceThicknessMaximum;\n#endif\n\n#ifdef USE_SHEEN\n\tuniform vec3 sheenColor;\n\tuniform float sheenRoughness;\n\n\t#ifdef USE_SHEEN_COLORMAP\n\t\tuniform sampler2D sheenColorMap;\n\t#endif\n\n\t#ifdef USE_SHEEN_ROUGHNESSMAP\n\t\tuniform sampler2D sheenRoughnessMap;\n\t#endif\n#endif\n\n#ifdef USE_ANISOTROPY\n\tuniform vec2 anisotropyVector;\n\n\t#ifdef USE_ANISOTROPYMAP\n\t\tuniform sampler2D anisotropyMap;\n\t#endif\n#endif\n\nvarying vec3 vViewPosition;\n\n#include <common>\n#include <packing>\n#include <dithering_pars_fragment>\n#include <color_pars_fragment>\n#include <uv_pars_fragment>\n#include <map_pars_fragment>\n#include <alphamap_pars_fragment>\n#include <alphatest_pars_fragment>\n#include <alphahash_pars_fragment>\n#include <aomap_pars_fragment>\n#include <lightmap_pars_fragment>\n#include <emissivemap_pars_fragment>\n#include <iridescence_fragment>\n#include <cube_uv_reflection_fragment>\n#include <envmap_common_pars_fragment>\n#include <envmap_physical_pars_fragment>\n#include <fog_pars_fragment>\n#include <lights_pars_begin>\n#include <normal_pars_fragment>\n#include <lights_physical_pars_fragment>\n#include <transmission_pars_fragment>\n#include <shadowmap_pars_fragment>\n#include <bumpmap_pars_fragment>\n#include <normalmap_pars_fragment>\n#include <clearcoat_pars_fragment>\n#include <iridescence_pars_fragment>\n#include <roughnessmap_pars_fragment>\n#include <metalnessmap_pars_fragment>\n#include <logdepthbuf_pars_fragment>\n#include <clipping_planes_pars_fragment>\n\n#include <outline_bc_pars_fragment>\n\nvoid main() {\n\n\t#include <clipping_planes_fragment>\n\n\tvec4 diffuseColor = vec4(diffuse, opacity);\n\tReflectedLight reflectedLight = ReflectedLight(vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0));\n\tvec3 totalEmissiveRadiance = emissive;\n\n\t#include <logdepthbuf_fragment>\n\t#include <map_fragment>\n\t#include <color_fragment>\n\t#include <alphamap_fragment>\n\t#include <alphatest_fragment>\n\t#include <alphahash_fragment>\n\t#include <roughnessmap_fragment>\n\t#include <metalnessmap_fragment>\n\t#include <normal_fragment_begin>\n\t#include <normal_fragment_maps>\n\t#include <clearcoat_normal_fragment_begin>\n\t#include <clearcoat_normal_fragment_maps>\n\t#include <emissivemap_fragment>\n\n\t// accumulation\n\t#include <lights_physical_fragment>\n\t#include <lights_fragment_begin>\n\t#include <lights_fragment_maps>\n\t#include <lights_fragment_end>\n\n\t// modulation\n\t#include <aomap_fragment>\n\n\tvec3 totalDiffuse = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse;\n\tvec3 totalSpecular = reflectedLight.directSpecular + reflectedLight.indirectSpecular;\n\n\t#include <transmission_fragment>\n\n\tvec3 outgoingLight = totalDiffuse + totalSpecular + totalEmissiveRadiance;\n\n\t#ifdef USE_SHEEN\n\n\t\t// Sheen energy compensation approximation calculation can be found at the end of\n\t\t// https://drive.google.com/file/d/1T0D1VSyR4AllqIJTQAraEIzjlb5h4FKH/view?usp=sharing\n\t\tfloat sheenEnergyComp = 1.0 - 0.157 * max3(material.sheenColor);\n\n\t\toutgoingLight = outgoingLight * sheenEnergyComp + sheenSpecular;\n\n\t#endif\n\n\t#ifdef USE_CLEARCOAT\n\n\t\tfloat dotNVcc = saturate(dot(geometry.clearcoatNormal, geometry.viewDir));\n\n\t\tvec3 Fcc = F_Schlick(material.clearcoatF0, material.clearcoatF90, dotNVcc);\n\n\t\toutgoingLight = outgoingLight * (1.0 - material.clearcoat * Fcc) + clearcoatSpecular * material.clearcoat;\n\n\t#endif\n\n\t#include <opaque_fragment>\n\t#include <tonemapping_fragment>\n\t#include <colorspace_fragment>\n\t#include <fog_fragment>\n\t#include <premultiplied_alpha_fragment>\n\t#include <dithering_fragment>\n\n #include <outline_bc_fragment>\n}\n";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { CanvasRender, Drawable } from '../canvas';
|
|
2
|
+
import { TileObject } from '../model';
|
|
3
|
+
import { BaseViewer } from '../viewers';
|
|
4
|
+
import * as THREE from "three";
|
|
5
|
+
export declare class PickManager {
|
|
6
|
+
private readonly CLEAR_COLOR;
|
|
7
|
+
private readonly CLEAR_COLOR_ALPHA;
|
|
8
|
+
private readonly EMPTY_MODEL_ID;
|
|
9
|
+
private viewer;
|
|
10
|
+
private raycaster;
|
|
11
|
+
private pickingTexture;
|
|
12
|
+
constructor(viewer: BaseViewer);
|
|
13
|
+
get scene(): THREE.Scene;
|
|
14
|
+
get camera(): THREE.PerspectiveCamera | THREE.OrthographicCamera;
|
|
15
|
+
get renderer(): THREE.WebGLRenderer;
|
|
16
|
+
get overlayRender(): CanvasRender;
|
|
17
|
+
get viewerContainer(): HTMLElement;
|
|
18
|
+
getRaycaster(): THREE.Raycaster;
|
|
19
|
+
/**
|
|
20
|
+
* Picks objects by NDC coordinate.
|
|
21
|
+
*/
|
|
22
|
+
pickObjectsByNdc(ndcCoord: THREE.Vector2, objects: THREE.Object3D[], layerChannels?: number[]): THREE.Intersection[];
|
|
23
|
+
/**
|
|
24
|
+
* Picks the closest object by mouse position.
|
|
25
|
+
*/
|
|
26
|
+
pickObject(mousePosition: THREE.Vector2, objects: THREE.Object3D[], layerChannels?: number[], radius?: number): THREE.Intersection | undefined;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param {* @param {Number} [radius=0] - 容差半径(像素),默认为 0 表示绝对精准的单点拾取}
|
|
30
|
+
*/
|
|
31
|
+
pickObjects(mousePosition: THREE.Vector2, objects: THREE.Object3D[], layerChannels?: number[], radius?: number): THREE.Intersection[];
|
|
32
|
+
/**
|
|
33
|
+
* Picks a drawable by world position.
|
|
34
|
+
*/
|
|
35
|
+
pickDrawable(worldPosition: THREE.Vector3): Drawable<Record<string, unknown>>[];
|
|
36
|
+
/**
|
|
37
|
+
* Picks an object by mouse position.
|
|
38
|
+
*/
|
|
39
|
+
pick(mousePosition: THREE.Vector2, pickScene: THREE.Scene): TileObject | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Sets raycaster's layer channels.
|
|
42
|
+
*/
|
|
43
|
+
private setLayerChannels;
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @param mousePosition
|
|
47
|
+
* @param width
|
|
48
|
+
* @param height
|
|
49
|
+
* @param pickScene
|
|
50
|
+
* @returns
|
|
51
|
+
* @description pick rect area buffer
|
|
52
|
+
*/
|
|
53
|
+
private pickBuffer;
|
|
54
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './PickManager';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Model } from '../model';
|
|
2
|
+
import { BaseViewer } from '../viewers/BaseViewer';
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
export declare class SceneManager {
|
|
5
|
+
private viewer;
|
|
6
|
+
scene: THREE.Scene;
|
|
7
|
+
renderer: THREE.WebGLRenderer;
|
|
8
|
+
private pmremGenerator?;
|
|
9
|
+
private lights?;
|
|
10
|
+
private modelGroup;
|
|
11
|
+
constructor(viewer: BaseViewer);
|
|
12
|
+
private initLights;
|
|
13
|
+
private initPMREMGenerator;
|
|
14
|
+
get maxFragmentUniforms(): number;
|
|
15
|
+
addModel(model: Model): void;
|
|
16
|
+
enableShadow(enable: boolean): void;
|
|
17
|
+
enableClipping(enable: boolean): void;
|
|
18
|
+
setClipPlanes(planes: THREE.Plane[]): void;
|
|
19
|
+
enableLights(enable: boolean): void;
|
|
20
|
+
debugLights(enable: boolean): void;
|
|
21
|
+
setBackground(background: THREE.Color | THREE.CubeTexture | THREE.Texture | null): void;
|
|
22
|
+
get directionalLight(): THREE.DirectionalLight;
|
|
23
|
+
get ambientLight(): THREE.Object3D | undefined;
|
|
24
|
+
get hemisphereLight(): THREE.Object3D | undefined;
|
|
25
|
+
get lightHelpers(): THREE.Object3D | undefined;
|
|
26
|
+
get directionalLightHelper(): THREE.DirectionalLightHelper | undefined;
|
|
27
|
+
get cameraHelper(): THREE.CameraHelper | undefined;
|
|
28
|
+
setEnvironmentFromData(data?: Uint16Array): Promise<void>;
|
|
29
|
+
setEnvironment(hdrUrl: string): Promise<void>;
|
|
30
|
+
resize(): void;
|
|
31
|
+
getRaycastableObjects(): THREE.Object3D[];
|
|
32
|
+
tryAdjustDirectionalLight(): void;
|
|
33
|
+
/**
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
updateDirectionalLight(): void;
|
|
37
|
+
private updateDirectionalLightShadow;
|
|
38
|
+
/**
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
showDirectionalLightHelper(visible: boolean): void;
|
|
42
|
+
destroy(): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './SceneManager';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class BitView {
|
|
2
|
+
buffer: any;
|
|
3
|
+
u8: any;
|
|
4
|
+
constructor(buf: any);
|
|
5
|
+
getBit(idx: any): number;
|
|
6
|
+
setBit(idx: any, val: any): void;
|
|
7
|
+
getInt12(idx: any): number;
|
|
8
|
+
setInt12(idx: any, val: any): void;
|
|
9
|
+
getInt6(idx: any): number;
|
|
10
|
+
setInt6(idx: any, val: any): void;
|
|
11
|
+
test(): BitView;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
/**
|
|
3
|
+
* ArcGIS SHP file loader
|
|
4
|
+
*/
|
|
5
|
+
export declare class SHPLoader {
|
|
6
|
+
load(url: string, onLoad: (object: THREE.Object3D) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): Promise<void>;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param percent a number between [0, 100]
|
|
10
|
+
*/
|
|
11
|
+
private updateProgress;
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
/**
|
|
3
|
+
* Three.js extensions for SHP parser.
|
|
4
|
+
* Code is converted from JS to TS based on: https://github.com/kig/shp.js/
|
|
5
|
+
*/
|
|
6
|
+
export declare class ShpThree {
|
|
7
|
+
readonly LINE_MATERIAL: THREE.LineBasicMaterial;
|
|
8
|
+
readonly MESH_MATERIAL: THREE.MeshBasicMaterial;
|
|
9
|
+
constructor();
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param shp
|
|
13
|
+
* @param spherize is spherize or not. This only works well for the sameple shp for now!
|
|
14
|
+
*/
|
|
15
|
+
createModel(shp: any): THREE.Object3D;
|
|
16
|
+
loadCompressed(deltaEncoded: any): THREE.Object3D;
|
|
17
|
+
compress(shp: any): ArrayBuffer;
|
|
18
|
+
deltaEncode(arr: any): ArrayBuffer;
|
|
19
|
+
deltaEncode6(arr: any): ArrayBuffer;
|
|
20
|
+
storeDeltas(byteLen: any, polys: any): ArrayBuffer;
|
|
21
|
+
deltaDecode(buf: any): number[];
|
|
22
|
+
storeDeltas6(byteLen: any, polys: any): ArrayBuffer;
|
|
23
|
+
deltaDecode6(buf: any): number[];
|
|
24
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
export interface TextTextureConfig {
|
|
3
|
+
text?: string;
|
|
4
|
+
color?: string;
|
|
5
|
+
alignment?: string;
|
|
6
|
+
backgroundColor?: number;
|
|
7
|
+
fontFamily?: string;
|
|
8
|
+
/**
|
|
9
|
+
* With fontSize 18 it generates a 64x64 image, 20 generates 128x128 one.
|
|
10
|
+
*/
|
|
11
|
+
fontSize?: number;
|
|
12
|
+
fontStyle?: string;
|
|
13
|
+
fontVariant?: string;
|
|
14
|
+
fontWeight?: string;
|
|
15
|
+
lineGap?: number;
|
|
16
|
+
padding?: number;
|
|
17
|
+
strokeColor?: string;
|
|
18
|
+
strokeWidth?: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function toCssFont(family: string, size: number, style: string, variant: string, weight: string): string;
|
|
21
|
+
export declare class TextTexture extends THREE.Texture {
|
|
22
|
+
private readonly canvas;
|
|
23
|
+
readonly textTexture = true;
|
|
24
|
+
private needsRedraw;
|
|
25
|
+
private contentOffset;
|
|
26
|
+
private lineOffset;
|
|
27
|
+
private width;
|
|
28
|
+
private height;
|
|
29
|
+
private lines;
|
|
30
|
+
private font;
|
|
31
|
+
private pixelRatio;
|
|
32
|
+
cfg: Required<TextTextureConfig>;
|
|
33
|
+
private computeOptimalPixelRatio;
|
|
34
|
+
constructor(cfg: TextTextureConfig, canvas?: HTMLCanvasElement);
|
|
35
|
+
private getContentWidth;
|
|
36
|
+
private initDraw;
|
|
37
|
+
private getDrawPosition;
|
|
38
|
+
private draw;
|
|
39
|
+
private getDrawingBufferWidth;
|
|
40
|
+
private getDrawingBufferHeight;
|
|
41
|
+
redrew(): void;
|
|
42
|
+
setPixelRatio(value: number): void;
|
|
43
|
+
setOptimalPixelRatio(object: THREE.Object3D, renderer: THREE.WebGLRenderer, camera: THREE.PerspectiveCamera | THREE.OrthographicCamera): void;
|
|
44
|
+
updateConfig(cfg: TextTextureConfig): void;
|
|
45
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Command } from './Command';
|
|
2
|
+
type CommandData = Command | Command[];
|
|
3
|
+
/**
|
|
4
|
+
* Undo/redo manager.
|
|
5
|
+
*/
|
|
6
|
+
export declare class UndoManager {
|
|
7
|
+
private history;
|
|
8
|
+
private step;
|
|
9
|
+
private maxCount;
|
|
10
|
+
private isBatchCommand;
|
|
11
|
+
private batchCommands;
|
|
12
|
+
constructor(maxCount?: number);
|
|
13
|
+
addCommand(command: Command): void;
|
|
14
|
+
startTransaction(): void;
|
|
15
|
+
endTransaction(): void;
|
|
16
|
+
undo(): boolean;
|
|
17
|
+
redo(): boolean;
|
|
18
|
+
getCommands(): CommandData[];
|
|
19
|
+
canUndo(): boolean;
|
|
20
|
+
canRedo(): boolean;
|
|
21
|
+
clear(): void;
|
|
22
|
+
destroy(): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CSS2DObject } from 'three/examples/jsm/renderers/CSS2DRenderer.js';
|
|
2
|
+
export declare class CSS2DObjectUtils {
|
|
3
|
+
/**
|
|
4
|
+
* Creates CSS2DObject with HTMLElement
|
|
5
|
+
*/
|
|
6
|
+
static createCSS2DObject(element: HTMLElement): CSS2DObject;
|
|
7
|
+
static createDefaultHotpoint(size?: number): CSS2DObject;
|
|
8
|
+
static createHotpoint(html?: string): CSS2DObject;
|
|
9
|
+
static createLabel(label: string, cssClass?: string): CSS2DObject;
|
|
10
|
+
/**
|
|
11
|
+
* Recursively find "dataset.objectId" of a HTMLElement
|
|
12
|
+
*/
|
|
13
|
+
static tryFindObjectId(element: HTMLElement): number | undefined;
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare class ColorUtils {
|
|
2
|
+
static color2rgba(style: string): [number, number, number, number];
|
|
3
|
+
static rgba2Color(rgba: number[]): string;
|
|
4
|
+
/**
|
|
5
|
+
* Converts color string in format "rgba(255, 255, 255, 1)" to rgba number array.
|
|
6
|
+
*/
|
|
7
|
+
static colorStr2Rgba(colorStr: string): number[];
|
|
8
|
+
/**
|
|
9
|
+
* Converts rgb or rgba to hex number.
|
|
10
|
+
* @param rgba Color value is between 0 and 1.
|
|
11
|
+
*/
|
|
12
|
+
static rgb2Hex(rgba: number[]): number;
|
|
13
|
+
/**
|
|
14
|
+
* Maps a value between 0 and 1 to 0 and 255.
|
|
15
|
+
*/
|
|
16
|
+
private static to255;
|
|
17
|
+
/**
|
|
18
|
+
* Maps a value between 0 and 255 to 0 and 1.
|
|
19
|
+
*/
|
|
20
|
+
private static to1;
|
|
21
|
+
}
|