@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,59 @@
|
|
|
1
|
+
import { DxfData, DxfLoaderConfig } from '../dxf';
|
|
2
|
+
import { FontManager } from '../font';
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
export declare class LoadingHelper {
|
|
5
|
+
private static DecoderPath;
|
|
6
|
+
private static Rhino3dmLibraryPath;
|
|
7
|
+
private gltfLoader?;
|
|
8
|
+
private font?;
|
|
9
|
+
private manager?;
|
|
10
|
+
constructor(manager?: THREE.LoadingManager);
|
|
11
|
+
setLoadManager(manager?: THREE.LoadingManager): void;
|
|
12
|
+
/**
|
|
13
|
+
* Loads a model from local
|
|
14
|
+
* @param url Created by URL.createObjectURL(file)
|
|
15
|
+
* @param src Source filename, used to find out format
|
|
16
|
+
* @param onProgress On progress callback
|
|
17
|
+
* @returns Loaded object
|
|
18
|
+
*/
|
|
19
|
+
loadLocalModel(url: string, src: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
20
|
+
loadModel(src: string, fileFormat?: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D | void>;
|
|
21
|
+
loadGltf(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
22
|
+
parseGltf(data: ArrayBuffer | string, path: string, onLoad: (object: THREE.Object3D) => void, onError?: (event: ErrorEvent) => void): void;
|
|
23
|
+
loadFbx(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
24
|
+
loadObj(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
25
|
+
loadStl(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
26
|
+
loadShp(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
27
|
+
loadDae(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
28
|
+
/**
|
|
29
|
+
* Loads rhino 3dm file.
|
|
30
|
+
* @deprecated Rhino3dmLoader 已从 three@0.159 移除,3dm 格式不再支持
|
|
31
|
+
*/
|
|
32
|
+
load3dm(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
33
|
+
loadDxf(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
34
|
+
loadPly(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
35
|
+
/**
|
|
36
|
+
* It is kind of tricky to load image into scene, but we'll do this by creating a sprite.
|
|
37
|
+
*/
|
|
38
|
+
loadImage(url: string, onProgress?: (event: ProgressEvent) => void): Promise<THREE.Object3D>;
|
|
39
|
+
/**
|
|
40
|
+
* Loads dxf data, including entities, tables(layers, blocks), etc.
|
|
41
|
+
*/
|
|
42
|
+
loadDxfData(url: string, dxfDataId?: string, onProgress?: (event: ProgressEvent) => void, onLoad?: () => void, cfg?: DxfLoaderConfig): Promise<DxfData>;
|
|
43
|
+
/**
|
|
44
|
+
* Sets font.
|
|
45
|
+
* Font is required for Viewer2d to view Chinese, etc.
|
|
46
|
+
*/
|
|
47
|
+
setFont(font: FontManager): void;
|
|
48
|
+
/**
|
|
49
|
+
* Sets decoder path for draco loader.
|
|
50
|
+
* @param path e.g., "libs/draco/gltf/"
|
|
51
|
+
*/
|
|
52
|
+
static setDracoDecoderPath(path: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* Sets decoder path for draco loader.
|
|
55
|
+
* @param path e.g., "libs/rhino3dm/"
|
|
56
|
+
*/
|
|
57
|
+
static setRhino3dmLibraryPath(path: string): void;
|
|
58
|
+
private getGltfLoader;
|
|
59
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { BvhParameter } from '../workers';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
/**
|
|
4
|
+
* Bvh: Bounding volume hierarchy
|
|
5
|
+
*/
|
|
6
|
+
export declare class MeshBvhHelper {
|
|
7
|
+
private running;
|
|
8
|
+
private workers;
|
|
9
|
+
constructor(workerCount?: number);
|
|
10
|
+
isRunning(): boolean;
|
|
11
|
+
generate(geometries: THREE.BufferGeometry[], params?: BvhParameter): Promise<void>;
|
|
12
|
+
dispose(): void;
|
|
13
|
+
static createMeshBvhSync(objects: THREE.Object3D[], params?: BvhParameter): void;
|
|
14
|
+
static createMeshBvhAsync(objects: THREE.Object3D[], params?: BvhParameter): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Drawable } from '../canvas';
|
|
2
|
+
import { EventInfo } from '../input-manager/InputManager';
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
/**
|
|
5
|
+
* Touch helper for mobile
|
|
6
|
+
*/
|
|
7
|
+
export declare class MobileTouchHelperDrawable extends Drawable {
|
|
8
|
+
private position;
|
|
9
|
+
needsFrustumCulled: boolean;
|
|
10
|
+
renderOrder: number;
|
|
11
|
+
constructor(position: THREE.Vector2);
|
|
12
|
+
setPosition(position: THREE.Vector2): void;
|
|
13
|
+
isPointInPath(p: THREE.Vector3, raycaster?: THREE.Raycaster | undefined): boolean;
|
|
14
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
15
|
+
drawInnerCircle(ctx: CanvasRenderingContext2D): void;
|
|
16
|
+
drawOuterRing(ctx: CanvasRenderingContext2D): void;
|
|
17
|
+
drawSnapTriangle(ctx: CanvasRenderingContext2D): void;
|
|
18
|
+
translate(tx: number, ty: number): void;
|
|
19
|
+
getTouchPoint(): {
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
};
|
|
23
|
+
isIntersect(e: EventInfo): boolean;
|
|
24
|
+
drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
25
|
+
getClassType(): string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { CanvasRender, Drawable, DrawableList } from '../canvas';
|
|
2
|
+
import { ILine, OSnapMarkerType } from '../utils';
|
|
3
|
+
import * as THREE from "three";
|
|
4
|
+
export declare class SnapDrawable extends Drawable {
|
|
5
|
+
static lineColor: string;
|
|
6
|
+
static readonly FILL_COLOR_NONE = "rgba(0, 0, 0, 0)";
|
|
7
|
+
static readonly SNAP_LINE_COLOR = "rgba(255, 240, 0, 0.3)";
|
|
8
|
+
static lineWidth: number;
|
|
9
|
+
static iconSize: number;
|
|
10
|
+
needsFrustumCulled: boolean;
|
|
11
|
+
renderOrder: number;
|
|
12
|
+
snapType: OSnapMarkerType;
|
|
13
|
+
private osnapInfo?;
|
|
14
|
+
private drawSnapFunctions;
|
|
15
|
+
private snapLineVisible;
|
|
16
|
+
constructor(type: OSnapMarkerType);
|
|
17
|
+
setSnapLineVisible(visible: boolean): void;
|
|
18
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
19
|
+
drawDebug(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
20
|
+
drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
21
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
22
|
+
drawSnapLine(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
23
|
+
/**
|
|
24
|
+
* p1
|
|
25
|
+
* |
|
|
26
|
+
* | point (origin)
|
|
27
|
+
* / \
|
|
28
|
+
* / \
|
|
29
|
+
* p2 p3
|
|
30
|
+
*/
|
|
31
|
+
drawTripleCorss(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
32
|
+
drawSquare(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
33
|
+
drawTriangle(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
34
|
+
/**
|
|
35
|
+
* Snap marker for circle center.
|
|
36
|
+
*/
|
|
37
|
+
drawCircleWithCross(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
38
|
+
drawCross(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
39
|
+
/**
|
|
40
|
+
* p4|\
|
|
41
|
+
* | \
|
|
42
|
+
* p2|____\ p1 (origin)
|
|
43
|
+
* | | \
|
|
44
|
+
* |____|___\
|
|
45
|
+
* P5 p3 P6
|
|
46
|
+
*/
|
|
47
|
+
drawPerpendicular(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
48
|
+
update(osnapInfo: OSnapInfo): void;
|
|
49
|
+
getClassType(): string;
|
|
50
|
+
}
|
|
51
|
+
export declare enum OSnapType {
|
|
52
|
+
None = 0,
|
|
53
|
+
Vertex = 1,
|
|
54
|
+
MiddlePoint = 2,
|
|
55
|
+
Edge = 4,
|
|
56
|
+
Face = 8,
|
|
57
|
+
FootOfPerpendicular = 16,
|
|
58
|
+
Intersection = 32,
|
|
59
|
+
CircleCenter = 64
|
|
60
|
+
}
|
|
61
|
+
interface OSnapInfo {
|
|
62
|
+
point: THREE.Vector3;
|
|
63
|
+
distance: number;
|
|
64
|
+
type: OSnapType;
|
|
65
|
+
line?: ILine;
|
|
66
|
+
}
|
|
67
|
+
export declare class OSnapHelper {
|
|
68
|
+
protected drawableList: DrawableList;
|
|
69
|
+
protected overlayRender?: CanvasRender;
|
|
70
|
+
protected markers: Record<number, SnapDrawable>;
|
|
71
|
+
protected activeOSnapType: OSnapType;
|
|
72
|
+
protected snapToleranceInWorldCoord: number;
|
|
73
|
+
protected intersectionLimit: number;
|
|
74
|
+
/**
|
|
75
|
+
* OSnapType priority. Lower value has a higher priority.
|
|
76
|
+
*/
|
|
77
|
+
osnapTypePriorities: Record<OSnapType, number>;
|
|
78
|
+
protected enabledOSnapTypes: number;
|
|
79
|
+
constructor(overlayRender: CanvasRender);
|
|
80
|
+
private initOSnapMarkers;
|
|
81
|
+
/**
|
|
82
|
+
* If a specific OSnapType is enabled.
|
|
83
|
+
*/
|
|
84
|
+
isOSnapTypeEnabled(type: OSnapType): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Enables a specific OSnapType.
|
|
87
|
+
*/
|
|
88
|
+
setOSnapTypeEnabled(type: OSnapType, enabled: boolean): void;
|
|
89
|
+
/**
|
|
90
|
+
* Sets snap tolerance in world coordinate.
|
|
91
|
+
*/
|
|
92
|
+
setSnapTolerance(toleranceInWorldCoord: number): void;
|
|
93
|
+
/**
|
|
94
|
+
* Gets snap tolerance in world coordinate.
|
|
95
|
+
*/
|
|
96
|
+
getSnapTolerance(): number;
|
|
97
|
+
setIntersectionLimit(val: number): void;
|
|
98
|
+
getIntersectionLimit(): number;
|
|
99
|
+
/**
|
|
100
|
+
* Gets osnap marker line color.
|
|
101
|
+
* @returns rgb/rgba number array, each value is between 0 and 1. e.g. [0.92, 0.95, 0.96].
|
|
102
|
+
*/
|
|
103
|
+
getMarkerLineColor(): number[];
|
|
104
|
+
/**
|
|
105
|
+
* Sets osnap marker line color.
|
|
106
|
+
* @param color rgb/rgba number array, each value is between 0 and 1. e.g. [0.92, 0.95, 0.96].
|
|
107
|
+
*/
|
|
108
|
+
setMarkerLineColor(color: number[]): void;
|
|
109
|
+
/**
|
|
110
|
+
* Gets osnap marker line width.
|
|
111
|
+
*/
|
|
112
|
+
getMarkerLineWidth(): number;
|
|
113
|
+
/**
|
|
114
|
+
* Sets osnap marker line width.
|
|
115
|
+
*/
|
|
116
|
+
setMarkerLineWidth(width: number): void;
|
|
117
|
+
/**
|
|
118
|
+
* Gets osnap marker icon size in pixel.
|
|
119
|
+
*/
|
|
120
|
+
getMarkerIconSize(): number;
|
|
121
|
+
/**
|
|
122
|
+
* Sets osnap marker icon size in pixel.
|
|
123
|
+
*/
|
|
124
|
+
setMarkerIconSize(size: number): void;
|
|
125
|
+
getMarker(type: OSnapType): SnapDrawable;
|
|
126
|
+
setAllSnapLinesVisible(visible: boolean): void;
|
|
127
|
+
deactivate(): void;
|
|
128
|
+
destroy(): void;
|
|
129
|
+
/**
|
|
130
|
+
* Tries to find a proper snap point and display corresponding marker.
|
|
131
|
+
* @param intersections The raycaster intersections, must have been sorted by distance.
|
|
132
|
+
* @param is3d If it is a 3d or 2d viewer.
|
|
133
|
+
* @param lastMouseDownPosition Used in order to to get foot of perpendicular.
|
|
134
|
+
* @returns Target snap point if any
|
|
135
|
+
*/
|
|
136
|
+
handleSnap(rayCasterResult: THREE.Intersection[], is3d: boolean, lastMouseDownPosition?: THREE.Vector3): THREE.Vector3 | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* Tries to find a proper snap point and display corresponding marker.
|
|
139
|
+
* @param mousePosition Mouse position in world coordinate.
|
|
140
|
+
* @param intersections
|
|
141
|
+
* @param is3d If it is a 3d or 2d viewer.
|
|
142
|
+
* @param lastMouseDownPosition Used in order to to get foot of perpendicular.
|
|
143
|
+
* @returns Target snap point if any
|
|
144
|
+
*/
|
|
145
|
+
protected getSnapPointAndUpdateMarker(mousePosition: THREE.Vector3, intersections: THREE.Intersection[], is3d: boolean, lastMouseDownPosition?: THREE.Vector3): THREE.Vector3 | undefined;
|
|
146
|
+
activateMarker(type: OSnapType, osnapInfo?: OSnapInfo): void;
|
|
147
|
+
private getFootOfPerpendicular;
|
|
148
|
+
private getSnapInfo;
|
|
149
|
+
private getOsnapInfoListFromMesh;
|
|
150
|
+
private getOsnapInfoFromSegment;
|
|
151
|
+
private getOsnapInfoListFromLine;
|
|
152
|
+
private getOsnapInfoListFromPoint;
|
|
153
|
+
/**
|
|
154
|
+
* Used for 3d scene to get outline info by faces.
|
|
155
|
+
*/
|
|
156
|
+
private getIntersectsIncludeOutline;
|
|
157
|
+
}
|
|
158
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { default as CameraControls } from '../../core/camera-controls';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
/**
|
|
4
|
+
* Helper class to adjust object visual size
|
|
5
|
+
*/
|
|
6
|
+
export declare class ObjectPixelSizeHelper {
|
|
7
|
+
private object;
|
|
8
|
+
private camera;
|
|
9
|
+
targetPixelHeight: number;
|
|
10
|
+
canvasHeight: number;
|
|
11
|
+
constructor(camera: THREE.Camera, controls: CameraControls, object: THREE.Object3D, targetPixelHeight: number, canvasHeight: number);
|
|
12
|
+
adjustSize(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Tooltip } from '../../components/tool-tip';
|
|
2
|
+
import { EventInfo } from '../input-manager/InputManager';
|
|
3
|
+
import { BaseViewer } from '../viewers';
|
|
4
|
+
import * as THREE from "three";
|
|
5
|
+
/**
|
|
6
|
+
* Box select an area in screen coordinate.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare class PickMarkupHelper {
|
|
10
|
+
protected viewer: BaseViewer;
|
|
11
|
+
private active;
|
|
12
|
+
protected tooltip?: Tooltip;
|
|
13
|
+
protected resolve?: (value: THREE.Box2 | PromiseLike<THREE.Box2> | undefined) => void;
|
|
14
|
+
protected reject?: (reason: any) => void;
|
|
15
|
+
protected isResolvedOrRejected: boolean;
|
|
16
|
+
private mouseClicked;
|
|
17
|
+
constructor(viewer: BaseViewer);
|
|
18
|
+
private get viewerContainer();
|
|
19
|
+
private get camera();
|
|
20
|
+
isActive(): boolean;
|
|
21
|
+
activate(): void;
|
|
22
|
+
deactivate(): void;
|
|
23
|
+
keydown: (e: EventInfo) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Starts to pick a markup area.
|
|
26
|
+
*/
|
|
27
|
+
pick(): Promise<THREE.Box2 | undefined>;
|
|
28
|
+
destroy(): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class implemented setTimeout and setInterval using RequestAnimationFrame
|
|
3
|
+
* This code references to
|
|
4
|
+
* https://github.com/aisriver/myHome3D/blob/master/src/utils/RAF.ts
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare class RafHelper {
|
|
8
|
+
readonly TIMEOUT = "timeout";
|
|
9
|
+
readonly INTERVAL = "interval";
|
|
10
|
+
private timeoutMap;
|
|
11
|
+
private intervalMap;
|
|
12
|
+
private run;
|
|
13
|
+
private setIdMap;
|
|
14
|
+
setTimeout(cb: () => void, interval: number): symbol;
|
|
15
|
+
clearTimeout(timer: symbol): void;
|
|
16
|
+
setInterval(cb: () => void, interval: number): symbol;
|
|
17
|
+
clearInterval(timer: symbol): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseViewer } from '../viewers';
|
|
2
|
+
import * as THREE from "three";
|
|
3
|
+
/**
|
|
4
|
+
* Zoom to the selected rectangle area in screen coordinate.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare class ZoomToRectHelper {
|
|
8
|
+
protected viewer: BaseViewer;
|
|
9
|
+
private boxSelectHelper?;
|
|
10
|
+
private active;
|
|
11
|
+
constructor(viewer: BaseViewer);
|
|
12
|
+
private get viewerContainer();
|
|
13
|
+
get camera(): THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
14
|
+
get raycaster(): THREE.Raycaster;
|
|
15
|
+
isActive(): boolean;
|
|
16
|
+
activate(): void;
|
|
17
|
+
deactivate(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Picks and get world position by screen position.
|
|
20
|
+
*/
|
|
21
|
+
protected pickPositionByScreenPoint(p: THREE.Vector2): THREE.Vector3 | undefined;
|
|
22
|
+
protected handleZoomToRect(leftTop: THREE.Vector2, rightBottom: THREE.Vector2): void;
|
|
23
|
+
destroy(): void;
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './InstantiateHelper';
|
|
2
|
+
export * from './RafHelper';
|
|
3
|
+
export * from './BinaryReader';
|
|
4
|
+
export * from './LoadingHelper';
|
|
5
|
+
export * from './MeshBvhHelper';
|
|
6
|
+
export * from './ObjectPixelSizeHelper';
|
|
7
|
+
export * from './OSnapHelper';
|
|
8
|
+
export * from './PickMarkupHelper';
|
|
9
|
+
export * from './BoxSelectHelper';
|
|
10
|
+
export * from './ZoomToRectHelper';
|
|
11
|
+
export * from './MobileTouchHelperDrawable';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export * from './patches';
|
|
2
|
+
export * from './canvas';
|
|
3
|
+
export * from './compare';
|
|
4
|
+
export * from './components';
|
|
5
|
+
export * from './controls';
|
|
6
|
+
export * from './dxf';
|
|
7
|
+
export * from './dxf-parser';
|
|
8
|
+
export * from './geometry-offset';
|
|
9
|
+
export * from './helpers';
|
|
10
|
+
export * from './input-manager';
|
|
11
|
+
export * from './font';
|
|
12
|
+
export * from './utils';
|
|
13
|
+
export * from './model';
|
|
14
|
+
export * from './viewers';
|
|
15
|
+
export * from './workers';
|
|
16
|
+
export * from './Configs';
|
|
17
|
+
export * from './Constants';
|
|
18
|
+
export * from './Units';
|
|
19
|
+
export * from './VersionManager';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Table is known as ObjectStore in IndexedDb
|
|
3
|
+
*/
|
|
4
|
+
export declare class BaseTable {
|
|
5
|
+
db?: IDBDatabase;
|
|
6
|
+
isCreatingTable: boolean;
|
|
7
|
+
constructor();
|
|
8
|
+
/**
|
|
9
|
+
* Derived class have to override this method and return a table name!
|
|
10
|
+
*/
|
|
11
|
+
tableName(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Adds a record to a table
|
|
14
|
+
*/
|
|
15
|
+
add(record: any, successCallback?: any, errorCallback?: any): void;
|
|
16
|
+
/**
|
|
17
|
+
* Saves a record
|
|
18
|
+
*/
|
|
19
|
+
save(record: any, successCallback?: any, errorCallback?: any): void;
|
|
20
|
+
/**
|
|
21
|
+
* Deletes a record
|
|
22
|
+
*/
|
|
23
|
+
delete(key: string, successCallback?: any, errorCallback?: any): void;
|
|
24
|
+
/**
|
|
25
|
+
* Updates a record
|
|
26
|
+
*/
|
|
27
|
+
update(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Queries records in a table
|
|
30
|
+
* @param cursorHandler callback to handle records one by one
|
|
31
|
+
*/
|
|
32
|
+
query(cursorHandler?: any, errorCallback?: any): void;
|
|
33
|
+
queryByIndex(indexName: any, indexValue: any, successCallback?: any, errorCallback?: any): void;
|
|
34
|
+
queryAll(successCallback?: any, errorCallback?: any): void;
|
|
35
|
+
clearAll(successCallback?: any, errorCallback?: any): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { BaseTable } from './BaseTable';
|
|
2
|
+
export interface DxfDataTableRecord {
|
|
3
|
+
dxfDataId: string;
|
|
4
|
+
dxf: object;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* DxfDataTable in IndexedDb
|
|
8
|
+
* Table is known as ObjectStore in IndexedDb
|
|
9
|
+
*/
|
|
10
|
+
export declare class DxfDataTable extends BaseTable {
|
|
11
|
+
tableName(): string;
|
|
12
|
+
/**
|
|
13
|
+
* Singleton design pattern
|
|
14
|
+
*/
|
|
15
|
+
private static _instance;
|
|
16
|
+
static instance(): DxfDataTable;
|
|
17
|
+
/**
|
|
18
|
+
* Queires a dxf data
|
|
19
|
+
* @param dxfDataId should be a unique id to identify different dxf files
|
|
20
|
+
*/
|
|
21
|
+
query(dxfDataId: string, successCallback?: any, errorCallback?: any): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BaseTable } from './BaseTable';
|
|
2
|
+
import { Orientation, ShxFontType } from '../font/shx';
|
|
3
|
+
export interface FontDataTableRecord {
|
|
4
|
+
fontType?: ShxFontType;
|
|
5
|
+
order: number;
|
|
6
|
+
data: Record<number, Uint8Array>;
|
|
7
|
+
info: string;
|
|
8
|
+
orientation: Orientation;
|
|
9
|
+
baseUp: number;
|
|
10
|
+
baseDown: number;
|
|
11
|
+
fileName: string;
|
|
12
|
+
fileHeader: string;
|
|
13
|
+
fileVersion: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* DxfDataTable in IndexedDb
|
|
17
|
+
* Table is known as ObjectStore in IndexedDb
|
|
18
|
+
*/
|
|
19
|
+
export declare class FontDataTable extends BaseTable {
|
|
20
|
+
tableName(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Singleton design pattern
|
|
23
|
+
*/
|
|
24
|
+
private static _instance;
|
|
25
|
+
static instance(): FontDataTable;
|
|
26
|
+
/**
|
|
27
|
+
* Queires a dxf data
|
|
28
|
+
* @param fileId should be a unique id to identify different dxf files
|
|
29
|
+
*/
|
|
30
|
+
query(fileName: string): Promise<FontDataTableRecord>;
|
|
31
|
+
queryAll(): Promise<FontDataTableRecord[]>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Definition of an indexeddb table.
|
|
3
|
+
*/
|
|
4
|
+
export interface IndexedDbTable {
|
|
5
|
+
name: string;
|
|
6
|
+
options?: IDBObjectStoreParameters;
|
|
7
|
+
indexArray?: {
|
|
8
|
+
name: string;
|
|
9
|
+
fields: string[];
|
|
10
|
+
unique: boolean;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* IndexedDb manager.
|
|
15
|
+
*/
|
|
16
|
+
export declare class IndexedDbManager {
|
|
17
|
+
private readonly DATABASE_NAME;
|
|
18
|
+
/**
|
|
19
|
+
* Default tables.
|
|
20
|
+
*/
|
|
21
|
+
private readonly DEFAULT_TABLES;
|
|
22
|
+
private db?;
|
|
23
|
+
private tables;
|
|
24
|
+
/**
|
|
25
|
+
* Singleton design pattern
|
|
26
|
+
*/
|
|
27
|
+
private static _instance;
|
|
28
|
+
static instance(): IndexedDbManager;
|
|
29
|
+
constructor();
|
|
30
|
+
/**
|
|
31
|
+
* Sets indexeddb tables. This should be called before getDatabase() is called.
|
|
32
|
+
*/
|
|
33
|
+
setTables(tables: IndexedDbTable[]): void;
|
|
34
|
+
/**
|
|
35
|
+
* Gets indexeddb tables.
|
|
36
|
+
*/
|
|
37
|
+
getTables(): IndexedDbTable[];
|
|
38
|
+
/**
|
|
39
|
+
* Makes sure to open database, and the table is already created before add/put/delete, etc.
|
|
40
|
+
*/
|
|
41
|
+
getDatabase(): Promise<IDBDatabase>;
|
|
42
|
+
/**
|
|
43
|
+
* Closes the database.
|
|
44
|
+
*/
|
|
45
|
+
closeDatabase(): void;
|
|
46
|
+
private deleteDataBase;
|
|
47
|
+
private getDB;
|
|
48
|
+
private getUpgradedDB;
|
|
49
|
+
private createTable;
|
|
50
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Event } from '../../core/utils';
|
|
2
|
+
type NativeEvent = UIEvent | MouseEvent | PointerEvent | WheelEvent | KeyboardEvent;
|
|
3
|
+
export interface IUIEvent {
|
|
4
|
+
readonly type: string;
|
|
5
|
+
readonly target: any;
|
|
6
|
+
readonly preventDefault: () => void;
|
|
7
|
+
}
|
|
8
|
+
export interface IMouseEvent extends IUIEvent {
|
|
9
|
+
readonly altKey: boolean;
|
|
10
|
+
readonly ctrlKey: boolean;
|
|
11
|
+
readonly shiftKey: boolean;
|
|
12
|
+
readonly button: number;
|
|
13
|
+
readonly clientX: number;
|
|
14
|
+
readonly clientY: number;
|
|
15
|
+
readonly pageX: number;
|
|
16
|
+
readonly pageY: number;
|
|
17
|
+
readonly x: number;
|
|
18
|
+
readonly y: number;
|
|
19
|
+
readonly timestamp: number;
|
|
20
|
+
}
|
|
21
|
+
export interface IPointerEvent extends IMouseEvent {
|
|
22
|
+
readonly pointerId: number;
|
|
23
|
+
readonly pointerType: string;
|
|
24
|
+
}
|
|
25
|
+
export interface IWheelEvent extends IMouseEvent {
|
|
26
|
+
readonly deltaMode: number;
|
|
27
|
+
readonly deltaX: number;
|
|
28
|
+
readonly deltaY: number;
|
|
29
|
+
readonly deltaZ: number;
|
|
30
|
+
}
|
|
31
|
+
export interface IKeyboardEvent extends IUIEvent {
|
|
32
|
+
readonly altKey: boolean;
|
|
33
|
+
readonly ctrlKey: boolean;
|
|
34
|
+
readonly shiftKey: boolean;
|
|
35
|
+
readonly key: string;
|
|
36
|
+
readonly code: string;
|
|
37
|
+
}
|
|
38
|
+
export declare enum MouseButton {
|
|
39
|
+
/** Left Click or Touch */
|
|
40
|
+
Left = 0,
|
|
41
|
+
/** Middle Click */
|
|
42
|
+
Middle = 1,
|
|
43
|
+
/** Right Click */
|
|
44
|
+
Right = 2,
|
|
45
|
+
/** Browser Back */
|
|
46
|
+
Back = 3,
|
|
47
|
+
/** Browser Forward */
|
|
48
|
+
Forward = 4
|
|
49
|
+
}
|
|
50
|
+
type MouseButtonType = MouseButton;
|
|
51
|
+
/**
|
|
52
|
+
* Event info.
|
|
53
|
+
*/
|
|
54
|
+
export interface EventInfo {
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
pageX: number;
|
|
58
|
+
pageY: number;
|
|
59
|
+
clientX: number;
|
|
60
|
+
clientY: number;
|
|
61
|
+
deltaMode: number;
|
|
62
|
+
deltaX: number;
|
|
63
|
+
deltaY: number;
|
|
64
|
+
movementX: number;
|
|
65
|
+
movementY: number;
|
|
66
|
+
code?: string;
|
|
67
|
+
pointerId: number;
|
|
68
|
+
pointers?: EventInfo[];
|
|
69
|
+
button?: MouseButtonType;
|
|
70
|
+
buttons: MouseButtonType;
|
|
71
|
+
pointerType: string;
|
|
72
|
+
altKey: boolean;
|
|
73
|
+
ctrlKey: boolean;
|
|
74
|
+
shiftKey: boolean;
|
|
75
|
+
metaKey: boolean;
|
|
76
|
+
timestamp: number;
|
|
77
|
+
originalEvent?: NativeEvent;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Input events.
|
|
81
|
+
*/
|
|
82
|
+
export type InputEvents = {
|
|
83
|
+
pointerdown: EventInfo;
|
|
84
|
+
pointermove: EventInfo;
|
|
85
|
+
pointerup: EventInfo;
|
|
86
|
+
pointercancel: EventInfo;
|
|
87
|
+
pointerenter: EventInfo;
|
|
88
|
+
pointerleave: EventInfo;
|
|
89
|
+
wheel: EventInfo;
|
|
90
|
+
click: EventInfo;
|
|
91
|
+
dblclick: EventInfo;
|
|
92
|
+
contextmenu: EventInfo;
|
|
93
|
+
mousedown: EventInfo;
|
|
94
|
+
mousemove: EventInfo;
|
|
95
|
+
mouseup: EventInfo;
|
|
96
|
+
touchstart: EventInfo;
|
|
97
|
+
touchmove: EventInfo;
|
|
98
|
+
touchend: EventInfo;
|
|
99
|
+
keydown: EventInfo;
|
|
100
|
+
keyup: EventInfo;
|
|
101
|
+
resize: EventInfo;
|
|
102
|
+
};
|
|
103
|
+
export declare class InputManager extends Event<InputEvents> {
|
|
104
|
+
private element;
|
|
105
|
+
private enabled;
|
|
106
|
+
private keyboardEnabled;
|
|
107
|
+
protected mouseDownPositionX: number;
|
|
108
|
+
protected mouseDownPositionY: number;
|
|
109
|
+
protected lastLeftPointerUpTime: number;
|
|
110
|
+
private pointers;
|
|
111
|
+
private handleClick;
|
|
112
|
+
private handlePointerDown;
|
|
113
|
+
private handlePointerMove;
|
|
114
|
+
private handlePointerUp;
|
|
115
|
+
private handlePointerCancel;
|
|
116
|
+
private handleMouseWheel;
|
|
117
|
+
private handleContextMenu;
|
|
118
|
+
private handlePointerEnter;
|
|
119
|
+
private handlePointerLeave;
|
|
120
|
+
private handleResize;
|
|
121
|
+
private handleKeydown;
|
|
122
|
+
private handleKeyup;
|
|
123
|
+
style: {};
|
|
124
|
+
constructor(element: HTMLElement);
|
|
125
|
+
getEnabled(): boolean;
|
|
126
|
+
setEnabled(enable: boolean): void;
|
|
127
|
+
getkKeyboardEnabled(): boolean;
|
|
128
|
+
setkKeyboardEnabled(enable: boolean): void;
|
|
129
|
+
setCursor(cursorStyle: string): void;
|
|
130
|
+
bindEvents(): void;
|
|
131
|
+
unBindEvents(): void;
|
|
132
|
+
private getBaseEvent;
|
|
133
|
+
private stop;
|
|
134
|
+
private updatePointers;
|
|
135
|
+
private removePointers;
|
|
136
|
+
getBoundingClientRect(): DOMRect;
|
|
137
|
+
/**
|
|
138
|
+
* Checks if user clicked on last position, this is used to detect a dblclick event.
|
|
139
|
+
*/
|
|
140
|
+
private isCloseToLastPosition;
|
|
141
|
+
/**
|
|
142
|
+
* Checks if a dblclick event happen.
|
|
143
|
+
*/
|
|
144
|
+
private isDoubleClick;
|
|
145
|
+
}
|
|
146
|
+
export {};
|