dxfview 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/dxfview.esm.min.js +7 -0
- package/dist/types/components/dxf-layout-bar/DxfLayoutBar.d.ts +26 -0
- package/dist/types/components/dxf-layout-bar/index.d.ts +1 -0
- package/dist/types/components/pop-panel/PopPanel.d.ts +14 -0
- package/dist/types/components/pop-panel/index.d.ts +1 -0
- package/dist/types/components/progress-bar/ProgressBar.d.ts +34 -0
- package/dist/types/components/progress-bar/index.d.ts +1 -0
- package/dist/types/components/settings/ProjectSettingsDef.d.ts +44 -0
- package/dist/types/components/settings/index.d.ts +1 -0
- package/dist/types/components/tool-tip/Tooltip.d.ts +20 -0
- package/dist/types/components/tool-tip/index.d.ts +1 -0
- package/dist/types/core/Configs.d.ts +238 -0
- package/dist/types/core/Constants.d.ts +164 -0
- package/dist/types/core/Units.d.ts +16 -0
- package/dist/types/core/VersionManager.d.ts +3 -0
- package/dist/types/core/camera-controls/CameraControls.d.ts +773 -0
- package/dist/types/core/camera-controls/Constants.d.ts +2 -0
- package/dist/types/core/camera-controls/EventDispatcher.d.ts +41 -0
- package/dist/types/core/camera-controls/index.d.ts +2 -0
- package/dist/types/core/camera-controls/types.d.ts +112 -0
- package/dist/types/core/camera-controls/utils/extractClientCoordFromEvent.d.ts +3 -0
- package/dist/types/core/camera-controls/utils/math-utils.d.ts +11 -0
- package/dist/types/core/camera-controls/utils/notSupportedInOrthographicCamera.d.ts +2 -0
- package/dist/types/core/canvas/CanvasRender.d.ts +52 -0
- package/dist/types/core/canvas/Constants.d.ts +28 -0
- package/dist/types/core/canvas/Drawable.d.ts +87 -0
- package/dist/types/core/canvas/DrawableList.d.ts +29 -0
- package/dist/types/core/canvas/index.d.ts +4 -0
- package/dist/types/core/compare/BaseDxfCompareHelper.d.ts +104 -0
- package/dist/types/core/compare/CompareDrawable.d.ts +17 -0
- package/dist/types/core/compare/DxfCompareHelper.d.ts +69 -0
- package/dist/types/core/compare/DxfCompareMarkupManager.d.ts +11 -0
- package/dist/types/core/compare/index.d.ts +4 -0
- package/dist/types/core/controls/CameraControlsEx.d.ts +34 -0
- package/dist/types/core/controls/index.d.ts +1 -0
- package/dist/types/core/dxf/DxfCompare.d.ts +151 -0
- package/dist/types/core/dxf/DxfConstants.d.ts +15 -0
- package/dist/types/core/dxf/DxfLoader.d.ts +526 -0
- package/dist/types/core/dxf/DxfObject.d.ts +32 -0
- package/dist/types/core/dxf/DxfUtils.d.ts +79 -0
- package/dist/types/core/dxf/HatchPatternShaders.d.ts +12 -0
- package/dist/types/core/dxf/LinePatternShaders.d.ts +12 -0
- package/dist/types/core/dxf/bspline.d.ts +8 -0
- package/dist/types/core/dxf/dxfom-mtext.d.ts +46 -0
- package/dist/types/core/dxf/dxfom-text.d.ts +16 -0
- package/dist/types/core/dxf/index.d.ts +10 -0
- package/dist/types/core/dxf/round10.d.ts +2 -0
- package/dist/types/core/dxf-parser/AutoCadColorIndex.d.ts +8 -0
- package/dist/types/core/dxf-parser/DxfBaseReader.d.ts +12 -0
- package/dist/types/core/dxf-parser/DxfBinaryReader.d.ts +14 -0
- package/dist/types/core/dxf-parser/DxfParser.d.ts +327 -0
- package/dist/types/core/dxf-parser/DxfTextReader.d.ts +31 -0
- package/dist/types/core/dxf-parser/ParseHelpers.d.ts +36 -0
- package/dist/types/core/dxf-parser/entities/3dface.d.ts +11 -0
- package/dist/types/core/dxf-parser/entities/arc.d.ts +16 -0
- package/dist/types/core/dxf-parser/entities/attdef.d.ts +31 -0
- package/dist/types/core/dxf-parser/entities/attrib.d.ts +31 -0
- package/dist/types/core/dxf-parser/entities/circle.d.ts +13 -0
- package/dist/types/core/dxf-parser/entities/dimension.d.ts +22 -0
- package/dist/types/core/dxf-parser/entities/ellipse.d.ts +15 -0
- package/dist/types/core/dxf-parser/entities/geomtry.d.ts +40 -0
- package/dist/types/core/dxf-parser/entities/hatch.d.ts +108 -0
- package/dist/types/core/dxf-parser/entities/image.d.ts +37 -0
- package/dist/types/core/dxf-parser/entities/insert.d.ts +20 -0
- package/dist/types/core/dxf-parser/entities/leader.d.ts +23 -0
- package/dist/types/core/dxf-parser/entities/line.d.ts +10 -0
- package/dist/types/core/dxf-parser/entities/lwpolyline.d.ts +21 -0
- package/dist/types/core/dxf-parser/entities/mleader.d.ts +101 -0
- package/dist/types/core/dxf-parser/entities/mtext.d.ts +18 -0
- package/dist/types/core/dxf-parser/entities/ole2frame.d.ts +20 -0
- package/dist/types/core/dxf-parser/entities/point.d.ts +11 -0
- package/dist/types/core/dxf-parser/entities/polyline.d.ts +20 -0
- package/dist/types/core/dxf-parser/entities/ray.d.ts +10 -0
- package/dist/types/core/dxf-parser/entities/region.d.ts +10 -0
- package/dist/types/core/dxf-parser/entities/seqend.d.ts +8 -0
- package/dist/types/core/dxf-parser/entities/solid.d.ts +10 -0
- package/dist/types/core/dxf-parser/entities/spline.d.ts +23 -0
- package/dist/types/core/dxf-parser/entities/table.d.ts +42 -0
- package/dist/types/core/dxf-parser/entities/text.d.ts +18 -0
- package/dist/types/core/dxf-parser/entities/vertex.d.ts +20 -0
- package/dist/types/core/dxf-parser/entities/viewport.d.ts +46 -0
- package/dist/types/core/dxf-parser/entities/xline.d.ts +10 -0
- package/dist/types/core/dxf-parser/index.d.ts +27 -0
- package/dist/types/core/dxf-parser/objects/common.d.ts +15 -0
- package/dist/types/core/dxf-parser/objects/dictionary.d.ts +19 -0
- package/dist/types/core/dxf-parser/objects/imagedef.d.ts +24 -0
- package/dist/types/core/dxf-parser/objects/layout.d.ts +29 -0
- package/dist/types/core/dxf-parser/objects/sortentstable.d.ts +12 -0
- package/dist/types/core/dxf-parser/objects/spatialfilter.d.ts +22 -0
- package/dist/types/core/dxf-parser/objects/xrecord.d.ts +11 -0
- package/dist/types/core/font/BaseFont.d.ts +88 -0
- package/dist/types/core/font/FontManager.d.ts +107 -0
- package/dist/types/core/font/MeshFont.d.ts +44 -0
- package/dist/types/core/font/ShxFont.d.ts +108 -0
- package/dist/types/core/font/index.d.ts +1 -0
- package/dist/types/core/font/shx/ExtraLettersTemplate.d.ts +1 -0
- package/dist/types/core/font/shx/Shx.constants.d.ts +11 -0
- package/dist/types/core/font/shx/ShxParser.d.ts +18 -0
- package/dist/types/core/font/shx/TextShape.d.ts +24 -0
- package/dist/types/core/font/shx/gbk/index.d.ts +4 -0
- package/dist/types/core/font/shx/index.d.ts +1 -0
- package/dist/types/core/font/shx/util/BitConverter.d.ts +18 -0
- package/dist/types/core/geometry-offset/Edge.d.ts +27 -0
- package/dist/types/core/geometry-offset/Offset.d.ts +46 -0
- package/dist/types/core/geometry-offset/index.d.ts +1 -0
- package/dist/types/core/helpers/BinaryReader.d.ts +24 -0
- package/dist/types/core/helpers/BoxSelectHelper.d.ts +44 -0
- package/dist/types/core/helpers/LoadingHelper.d.ts +46 -0
- package/dist/types/core/helpers/MobileTouchHelperDrawable.d.ts +26 -0
- package/dist/types/core/helpers/OSnapHelper.d.ts +167 -0
- package/dist/types/core/helpers/ObjectPixelSizeHelper.d.ts +13 -0
- package/dist/types/core/helpers/PickMarkupHelper.d.ts +29 -0
- package/dist/types/core/helpers/RafHelper.d.ts +18 -0
- package/dist/types/core/helpers/ZoomToRectHelper.d.ts +17 -0
- package/dist/types/core/helpers/index.d.ts +9 -0
- package/dist/types/core/index.d.ts +18 -0
- package/dist/types/core/indexeddb/AnnotationTable.d.ts +14 -0
- package/dist/types/core/indexeddb/BaseTable.d.ts +36 -0
- package/dist/types/core/indexeddb/DxfDataTable.d.ts +22 -0
- package/dist/types/core/indexeddb/FontDataTable.d.ts +32 -0
- package/dist/types/core/indexeddb/IndexedDbManager.d.ts +29 -0
- package/dist/types/core/indexeddb/ViewpointTable.d.ts +14 -0
- package/dist/types/core/indexeddb/index.d.ts +6 -0
- package/dist/types/core/input/InputManager.d.ts +161 -0
- package/dist/types/core/input/index.d.ts +1 -0
- package/dist/types/core/license/AutoConfig.d.ts +17 -0
- package/dist/types/core/license/LicenseManager.d.ts +107 -0
- package/dist/types/core/license/PublicKey.d.ts +1 -0
- package/dist/types/core/license/index.d.ts +1 -0
- package/dist/types/core/markup/ArrowMarkup.d.ts +14 -0
- package/dist/types/core/markup/BaseMarkup.d.ts +28 -0
- package/dist/types/core/markup/CircleMarkup.d.ts +12 -0
- package/dist/types/core/markup/CloudLineMarkup.d.ts +10 -0
- package/dist/types/core/markup/CloudRectMarkup.d.ts +11 -0
- package/dist/types/core/markup/CloudRectWithTextMarkup.d.ts +43 -0
- package/dist/types/core/markup/Constants.d.ts +17 -0
- package/dist/types/core/markup/DotMarkup.d.ts +9 -0
- package/dist/types/core/markup/EllipseMarkup.d.ts +12 -0
- package/dist/types/core/markup/LeaderLineMarkup.d.ts +25 -0
- package/dist/types/core/markup/MarkupManager.d.ts +91 -0
- package/dist/types/core/markup/PolylineMarkup.d.ts +11 -0
- package/dist/types/core/markup/RectMarkup.d.ts +10 -0
- package/dist/types/core/markup/TextMarkup.d.ts +40 -0
- package/dist/types/core/markup/XMarkup.d.ts +10 -0
- package/dist/types/core/markup/index.d.ts +13 -0
- package/dist/types/core/model/Constants.d.ts +51 -0
- package/dist/types/core/model/Model.d.ts +18 -0
- package/dist/types/core/model/Model2d.d.ts +115 -0
- package/dist/types/core/model/index.d.ts +3 -0
- package/dist/types/core/patches/Constants.d.ts +4 -0
- package/dist/types/core/patches/Line.d.ts +2 -0
- package/dist/types/core/patches/Mesh.d.ts +2 -0
- package/dist/types/core/patches/Points.d.ts +2 -0
- package/dist/types/core/patches/index.d.ts +4 -0
- package/dist/types/core/undo-redo/AddAnnotationCommand.d.ts +11 -0
- package/dist/types/core/undo-redo/AddMarkupCommand.d.ts +10 -0
- package/dist/types/core/undo-redo/AddMeasurementCommand.d.ts +9 -0
- package/dist/types/core/undo-redo/Command.d.ts +6 -0
- package/dist/types/core/undo-redo/RemoveAnnotationCommand.d.ts +11 -0
- package/dist/types/core/undo-redo/RemoveMarkupCommand.d.ts +10 -0
- package/dist/types/core/undo-redo/RemoveMeasurementCommand.d.ts +9 -0
- package/dist/types/core/undo-redo/UndoRedoManager.d.ts +21 -0
- package/dist/types/core/undo-redo/UpdateMarkupCommand.d.ts +11 -0
- package/dist/types/core/undo-redo/index.d.ts +9 -0
- package/dist/types/core/utils/CSS2DObjectUtils.d.ts +14 -0
- package/dist/types/core/utils/ColorUtils.d.ts +21 -0
- package/dist/types/core/utils/CommonUtils.d.ts +125 -0
- package/dist/types/core/utils/CoordinateUtils.d.ts +81 -0
- package/dist/types/core/utils/DecimalPrecisionUtils.d.ts +4 -0
- package/dist/types/core/utils/DeviceUtils.d.ts +15 -0
- package/dist/types/core/utils/EdgeUtils.d.ts +14 -0
- package/dist/types/core/utils/Event.d.ts +33 -0
- package/dist/types/core/utils/FpsUtils.d.ts +13 -0
- package/dist/types/core/utils/GeometryUtils.d.ts +111 -0
- package/dist/types/core/utils/Locale.d.ts +190 -0
- package/dist/types/core/utils/LogUtils.d.ts +7 -0
- package/dist/types/core/utils/MaterialUtils.d.ts +40 -0
- package/dist/types/core/utils/MathUtils.d.ts +59 -0
- package/dist/types/core/utils/MergeUtils.d.ts +638 -0
- package/dist/types/core/utils/ObjectUtils.d.ts +87 -0
- package/dist/types/core/utils/PolygonUtils.d.ts +8 -0
- package/dist/types/core/utils/SVGObjectUtils.d.ts +16 -0
- package/dist/types/core/utils/SceneUtils.d.ts +26 -0
- package/dist/types/core/utils/SectionUtils.d.ts +11 -0
- package/dist/types/core/utils/UnitConversionUtils.d.ts +31 -0
- package/dist/types/core/utils/index.d.ts +21 -0
- package/dist/types/core/viewers/BaseViewer.d.ts +265 -0
- package/dist/types/core/viewers/DxfViewer.d.ts +1372 -0
- package/dist/types/core/viewers/Plugin.d.ts +29 -0
- package/dist/types/core/viewers/ViewerEvent.d.ts +178 -0
- package/dist/types/core/viewers/index.d.ts +4 -0
- package/dist/types/export.doc.d.ts +10 -0
- package/dist/types/fetch-polyfill.d.ts +2 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/plugins/annotation/AnnotationPlugin.d.ts +139 -0
- package/dist/types/plugins/annotation/AutoDrawAnnotation.d.ts +63 -0
- package/dist/types/plugins/annotation/BaseAnnotation.d.ts +113 -0
- package/dist/types/plugins/annotation/BaseAnnotationDrawable.d.ts +139 -0
- package/dist/types/plugins/annotation/CopyAnnotation.d.ts +36 -0
- package/dist/types/plugins/annotation/CopyDrawable.d.ts +26 -0
- package/dist/types/plugins/annotation/FreeDrawAnnotation.d.ts +59 -0
- package/dist/types/plugins/annotation/RectAnnotation.d.ts +53 -0
- package/dist/types/plugins/annotation/RectDrawable.d.ts +42 -0
- package/dist/types/plugins/annotation/ShapeFinder.d.ts +51 -0
- package/dist/types/plugins/annotation/freeDrawDrawable.d.ts +21 -0
- package/dist/types/plugins/annotation/index.d.ts +8 -0
- package/dist/types/plugins/annotation/type.d.ts +182 -0
- package/dist/types/plugins/axis-gizmo/AxisGizmoPlugin.d.ts +49 -0
- package/dist/types/plugins/axis-gizmo/CoordinateAxes.d.ts +12 -0
- package/dist/types/plugins/axis-gizmo/index.d.ts +1 -0
- package/dist/types/plugins/bottom-bar/BottomBarPlugin.d.ts +44 -0
- package/dist/types/plugins/bottom-bar/index.d.ts +1 -0
- package/dist/types/plugins/divide/CoverLayerManager.d.ts +44 -0
- package/dist/types/plugins/divide/DivGeometryUtils.d.ts +66 -0
- package/dist/types/plugins/divide/DividePlugin.d.ts +181 -0
- package/dist/types/plugins/divide/FrameAnnotation.d.ts +142 -0
- package/dist/types/plugins/divide/FrameDrawable.d.ts +75 -0
- package/dist/types/plugins/divide/index.d.ts +6 -0
- package/dist/types/plugins/divide/types.d.ts +38 -0
- package/dist/types/plugins/hotpoint/HotpointPlugin.d.ts +93 -0
- package/dist/types/plugins/hotpoint/index.d.ts +1 -0
- package/dist/types/plugins/index.d.ts +12 -0
- package/dist/types/plugins/layer-manager/LayerManagerPlugin.d.ts +59 -0
- package/dist/types/plugins/layer-manager/index.d.ts +1 -0
- package/dist/types/plugins/local-model-uploader/IUploader.d.ts +10 -0
- package/dist/types/plugins/local-model-uploader/LocalDxfUploader.d.ts +19 -0
- package/dist/types/plugins/local-model-uploader/index.d.ts +1 -0
- package/dist/types/plugins/measure/AngleMeasureDrawable.d.ts +12 -0
- package/dist/types/plugins/measure/AngleMeasurement.d.ts +16 -0
- package/dist/types/plugins/measure/AreaMeasureDrawable.d.ts +14 -0
- package/dist/types/plugins/measure/AreaMeasurement.d.ts +31 -0
- package/dist/types/plugins/measure/BaseMeasureDrawable.d.ts +35 -0
- package/dist/types/plugins/measure/BaseMeasurement.d.ts +127 -0
- package/dist/types/plugins/measure/CoordinateMeasureDrawable.d.ts +10 -0
- package/dist/types/plugins/measure/CoordinateMeasurement.d.ts +15 -0
- package/dist/types/plugins/measure/DistanceMeasureDrawable.d.ts +15 -0
- package/dist/types/plugins/measure/DistanceMeasurement.d.ts +28 -0
- package/dist/types/plugins/measure/MeasurementPlugin.d.ts +131 -0
- package/dist/types/plugins/measure/index.d.ts +3 -0
- package/dist/types/plugins/overview-map/ImageDrawable.d.ts +41 -0
- package/dist/types/plugins/overview-map/LineDrawable.d.ts +20 -0
- package/dist/types/plugins/overview-map/OverviewMapDrawable.d.ts +24 -0
- package/dist/types/plugins/overview-map/OverviewMapPlugin.d.ts +156 -0
- package/dist/types/plugins/overview-map/TextDrawable.d.ts +50 -0
- package/dist/types/plugins/overview-map/index.d.ts +5 -0
- package/dist/types/plugins/screenshot/ScreenshotPlugin.d.ts +88 -0
- package/dist/types/plugins/screenshot/index.d.ts +1 -0
- package/dist/types/plugins/stats/StatsPlugin.d.ts +20 -0
- package/dist/types/plugins/stats/index.d.ts +1 -0
- package/dist/types/plugins/toolbars/DxfViewerToolbarPlugin.d.ts +67 -0
- package/dist/types/plugins/toolbars/MarkupToolbar.d.ts +33 -0
- package/dist/types/plugins/toolbars/Toolbar.config.d.ts +5 -0
- package/dist/types/plugins/toolbars/Toolbar.constants.d.ts +96 -0
- package/dist/types/plugins/toolbars/Toolbar.d.ts +102 -0
- package/dist/types/plugins/toolbars/index.d.ts +5 -0
- package/dist/types/version.d.ts +2 -0
- package/package.json +90 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export declare class IndexedDbManager {
|
|
2
|
+
readonly DATABASE_NAME = "dxfview_db";
|
|
3
|
+
readonly TABLES: {
|
|
4
|
+
name: string;
|
|
5
|
+
options: {
|
|
6
|
+
keyPath: string;
|
|
7
|
+
autoIncrement: boolean;
|
|
8
|
+
};
|
|
9
|
+
indexArray: never[];
|
|
10
|
+
}[];
|
|
11
|
+
private db?;
|
|
12
|
+
/**
|
|
13
|
+
* Singleton design pattern
|
|
14
|
+
*/
|
|
15
|
+
private static _instance;
|
|
16
|
+
static instance(): IndexedDbManager;
|
|
17
|
+
/**
|
|
18
|
+
* Make sure to open database, and the table is already created before add/put/delete, etc.
|
|
19
|
+
*/
|
|
20
|
+
getDatabase(): Promise<IDBDatabase>;
|
|
21
|
+
/**
|
|
22
|
+
* Close database.
|
|
23
|
+
*/
|
|
24
|
+
closeDatabase(): void;
|
|
25
|
+
private deleteDataBase;
|
|
26
|
+
private getDB;
|
|
27
|
+
private getUpgradedDB;
|
|
28
|
+
private createTable;
|
|
29
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseTable } from "./BaseTable";
|
|
2
|
+
/**
|
|
3
|
+
* ViewpointTable in IndexedDb
|
|
4
|
+
* Table is known as ObjectStore in IndexedDb
|
|
5
|
+
*/
|
|
6
|
+
export declare class ViewpointTable extends BaseTable {
|
|
7
|
+
tableName(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Singleton design pattern
|
|
10
|
+
*/
|
|
11
|
+
private static _instance;
|
|
12
|
+
static instance(): ViewpointTable;
|
|
13
|
+
query(projectId: string, successCallback?: any, errorCallback?: any): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { Event } from "../../core/utils";
|
|
3
|
+
declare type NativeEvent = UIEvent | MouseEvent | PointerEvent | WheelEvent | KeyboardEvent;
|
|
4
|
+
export interface IUIEvent {
|
|
5
|
+
readonly type: string;
|
|
6
|
+
readonly target: any;
|
|
7
|
+
readonly preventDefault: () => void;
|
|
8
|
+
}
|
|
9
|
+
export interface IMouseEvent extends IUIEvent {
|
|
10
|
+
readonly altKey: boolean;
|
|
11
|
+
readonly ctrlKey: boolean;
|
|
12
|
+
readonly shiftKey: boolean;
|
|
13
|
+
readonly button: number;
|
|
14
|
+
readonly clientX: number;
|
|
15
|
+
readonly clientY: number;
|
|
16
|
+
readonly pageX: number;
|
|
17
|
+
readonly pageY: number;
|
|
18
|
+
readonly x: number;
|
|
19
|
+
readonly y: number;
|
|
20
|
+
readonly timestamp: number;
|
|
21
|
+
}
|
|
22
|
+
export interface IPointerEvent extends IMouseEvent {
|
|
23
|
+
readonly pointerId: number;
|
|
24
|
+
readonly pointerType: string;
|
|
25
|
+
}
|
|
26
|
+
export interface IWheelEvent extends IMouseEvent {
|
|
27
|
+
readonly deltaMode: number;
|
|
28
|
+
readonly deltaX: number;
|
|
29
|
+
readonly deltaY: number;
|
|
30
|
+
readonly deltaZ: number;
|
|
31
|
+
}
|
|
32
|
+
export interface IKeyboardEvent extends IUIEvent {
|
|
33
|
+
readonly altKey: boolean;
|
|
34
|
+
readonly ctrlKey: boolean;
|
|
35
|
+
readonly shiftKey: boolean;
|
|
36
|
+
readonly key: string;
|
|
37
|
+
readonly code: string;
|
|
38
|
+
}
|
|
39
|
+
export declare enum MouseButton {
|
|
40
|
+
/** Left Click or Touch */
|
|
41
|
+
Left = 0,
|
|
42
|
+
/** Middle Click */
|
|
43
|
+
Middle = 1,
|
|
44
|
+
/** Right Click */
|
|
45
|
+
Right = 2,
|
|
46
|
+
/** Browser Back */
|
|
47
|
+
Back = 3,
|
|
48
|
+
/** Browser Forward */
|
|
49
|
+
Forward = 4
|
|
50
|
+
}
|
|
51
|
+
export declare enum MouseButtons {
|
|
52
|
+
None = 0,
|
|
53
|
+
/** Left Click or Touch */
|
|
54
|
+
Left = 1,
|
|
55
|
+
/** Right Click */
|
|
56
|
+
Right = 2,
|
|
57
|
+
/** Middle Click */
|
|
58
|
+
Middle = 4
|
|
59
|
+
}
|
|
60
|
+
declare type MouseButtonType = MouseButton | MouseButtons;
|
|
61
|
+
/**
|
|
62
|
+
*
|
|
63
|
+
*/
|
|
64
|
+
export interface EventInfo {
|
|
65
|
+
x: number;
|
|
66
|
+
y: number;
|
|
67
|
+
pageX: number;
|
|
68
|
+
pageY: number;
|
|
69
|
+
clientX: number;
|
|
70
|
+
clientY: number;
|
|
71
|
+
deltaMode: number;
|
|
72
|
+
deltaX: number;
|
|
73
|
+
deltaY: number;
|
|
74
|
+
movementX: number;
|
|
75
|
+
movementY: number;
|
|
76
|
+
code?: string;
|
|
77
|
+
pointerId: number;
|
|
78
|
+
pointers?: EventInfo[];
|
|
79
|
+
button?: MouseButtonType;
|
|
80
|
+
buttons: MouseButtonType;
|
|
81
|
+
pointerType: string;
|
|
82
|
+
altKey: boolean;
|
|
83
|
+
ctrlKey: boolean;
|
|
84
|
+
shiftKey: boolean;
|
|
85
|
+
metaKey: boolean;
|
|
86
|
+
timestamp: number;
|
|
87
|
+
originalEvent?: NativeEvent;
|
|
88
|
+
raycastCache?: {
|
|
89
|
+
ndc?: THREE.Vector2;
|
|
90
|
+
objects?: THREE.Object3D[];
|
|
91
|
+
intersections?: {
|
|
92
|
+
[key: string]: THREE.Intersection[];
|
|
93
|
+
};
|
|
94
|
+
frame?: number;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export declare type InputEvents = {
|
|
98
|
+
pointerdown: EventInfo;
|
|
99
|
+
pointermove: EventInfo;
|
|
100
|
+
pointerup: EventInfo;
|
|
101
|
+
pointercancel: EventInfo;
|
|
102
|
+
pointerenter: EventInfo;
|
|
103
|
+
pointerleave: EventInfo;
|
|
104
|
+
wheel: EventInfo;
|
|
105
|
+
click: EventInfo;
|
|
106
|
+
dblclick: EventInfo;
|
|
107
|
+
contextmenu: EventInfo;
|
|
108
|
+
mousedown: EventInfo;
|
|
109
|
+
mousemove: EventInfo;
|
|
110
|
+
mouseup: EventInfo;
|
|
111
|
+
touchstart: EventInfo;
|
|
112
|
+
touchmove: EventInfo;
|
|
113
|
+
touchend: EventInfo;
|
|
114
|
+
keydown: EventInfo;
|
|
115
|
+
keyup: EventInfo;
|
|
116
|
+
resize: EventInfo;
|
|
117
|
+
};
|
|
118
|
+
export declare class InputManager extends Event<InputEvents> {
|
|
119
|
+
private element;
|
|
120
|
+
private enabled;
|
|
121
|
+
private keyboardEnabled;
|
|
122
|
+
protected mouseDownPositionX: number;
|
|
123
|
+
protected mouseDownPositionY: number;
|
|
124
|
+
protected lastLeftPointerUpTime: number;
|
|
125
|
+
private pointers;
|
|
126
|
+
constructor(element: HTMLElement);
|
|
127
|
+
getEnabled(): boolean;
|
|
128
|
+
setEnabled(enable: boolean): void;
|
|
129
|
+
getkKeyboardEnabled(): boolean;
|
|
130
|
+
setkKeyboardEnabled(enable: boolean): void;
|
|
131
|
+
setCursor(cursorStyle: string): void;
|
|
132
|
+
bindEvents(): void;
|
|
133
|
+
private handleClick;
|
|
134
|
+
private handlePointerDown;
|
|
135
|
+
private handlePointerMove;
|
|
136
|
+
private handlePointerUp;
|
|
137
|
+
private handlePointerCancel;
|
|
138
|
+
private handleMouseWheel;
|
|
139
|
+
private handleContextMenu;
|
|
140
|
+
private handlePointerEnter;
|
|
141
|
+
private handlePointerLeave;
|
|
142
|
+
private handleResize;
|
|
143
|
+
private handleKeydown;
|
|
144
|
+
private handleKeyup;
|
|
145
|
+
unBindEvents(): void;
|
|
146
|
+
private getBaseEvent;
|
|
147
|
+
private stop;
|
|
148
|
+
private updatePointers;
|
|
149
|
+
private removePointers;
|
|
150
|
+
style: {};
|
|
151
|
+
getBoundingClientRect(): DOMRect;
|
|
152
|
+
/**
|
|
153
|
+
* Checks if user clicked on last position, this is used to detect a dblclick event.
|
|
154
|
+
*/
|
|
155
|
+
private isCloseToLastPosition;
|
|
156
|
+
/**
|
|
157
|
+
* Checks if a dblclick event happen.
|
|
158
|
+
*/
|
|
159
|
+
private isDoubleClick;
|
|
160
|
+
}
|
|
161
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { InputManager, InputEvents as InputEvent } from "./InputManager";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 读取全局配置并自动设置 LicenseManager。
|
|
3
|
+
*
|
|
4
|
+
* 约定全局变量(任选其一,优先级从上至下):
|
|
5
|
+
* - window.__DXF_LICENSE_PUBLIC_KEY_HEX
|
|
6
|
+
* - globalThis.__DXF_LICENSE_PUBLIC_KEY_HEX
|
|
7
|
+
*
|
|
8
|
+
* - window.__DXF_LICENSE_STRING
|
|
9
|
+
* - globalThis.__DXF_LICENSE_STRING
|
|
10
|
+
*
|
|
11
|
+
* - window.__DXF_LICENSE_ENFORCE (boolean)
|
|
12
|
+
* - globalThis.__DXF_LICENSE_ENFORCE (boolean)
|
|
13
|
+
*
|
|
14
|
+
* - window.__DXF_LICENSE_TIME_ENDPOINT (string) 可信时间接口,例如 "/api/time"
|
|
15
|
+
* - window.__DXF_LICENSE_RENEW_ENDPOINT (string) 续签接口,例如 "/api/renew"
|
|
16
|
+
*/
|
|
17
|
+
export declare function applyAutoConfig(): void;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import type { BaseViewer } from "../../core/viewers/BaseViewer";
|
|
2
|
+
declare type LicensePayload = {
|
|
3
|
+
name: string;
|
|
4
|
+
exp?: number;
|
|
5
|
+
issuedAt?: number;
|
|
6
|
+
domains?: string[];
|
|
7
|
+
features?: string[];
|
|
8
|
+
versionRange?: string;
|
|
9
|
+
};
|
|
10
|
+
declare type ValidateContext = {
|
|
11
|
+
now?: number;
|
|
12
|
+
domain?: string;
|
|
13
|
+
version?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare type InvalidReason = "NO_PUBLIC_KEY" | "NO_LICENSE" | "BAD_SIGNATURE" | "EXPIRED" | "DOMAIN_NOT_ALLOWED" | "INVALID_LICENSE";
|
|
16
|
+
declare type ValidateResult = {
|
|
17
|
+
ok: true;
|
|
18
|
+
payload: LicensePayload;
|
|
19
|
+
} | {
|
|
20
|
+
ok: false;
|
|
21
|
+
reason: InvalidReason;
|
|
22
|
+
};
|
|
23
|
+
export declare class LicenseManager {
|
|
24
|
+
private static publicKey;
|
|
25
|
+
private static enforce;
|
|
26
|
+
private static licenseRaw;
|
|
27
|
+
private static payload;
|
|
28
|
+
private static lastResult;
|
|
29
|
+
private static lastCheckedAt;
|
|
30
|
+
private static timeProvider?;
|
|
31
|
+
private static renewHandler?;
|
|
32
|
+
private static overlayEl?;
|
|
33
|
+
private static overlayObserver?;
|
|
34
|
+
private static overlayObserverRoot?;
|
|
35
|
+
private static blockersInstalled;
|
|
36
|
+
/**
|
|
37
|
+
* 设置验证用公钥(十六进制字符串)。私钥请仅在你的后端保管。
|
|
38
|
+
*/
|
|
39
|
+
static setPublicKeyHex(publicKeyHex: string): void;
|
|
40
|
+
/**
|
|
41
|
+
* 设置许可证字符串,格式:base64url(payload).base64url(signature)
|
|
42
|
+
*/
|
|
43
|
+
static setLicense(license: string): void;
|
|
44
|
+
/**
|
|
45
|
+
* 设置是否强制执行(为 true 时将阻断交互)。默认 false。
|
|
46
|
+
*/
|
|
47
|
+
static setEnforce(flag: boolean): void;
|
|
48
|
+
static getEnforce(): boolean;
|
|
49
|
+
static getPayload(): LicensePayload | null;
|
|
50
|
+
/**
|
|
51
|
+
* 设置可信时间源提供者,返回毫秒时间戳。若未设置则使用 Date.now()。
|
|
52
|
+
*/
|
|
53
|
+
/**
|
|
54
|
+
* 设置可信时间源提供者
|
|
55
|
+
* - 未设置时默认使用 Date.now()
|
|
56
|
+
*/
|
|
57
|
+
static setTimeProvider(provider: () => Promise<number>): void;
|
|
58
|
+
/**
|
|
59
|
+
* 设置续签处理函数:在临近过期时调用,返回新的许可证串。
|
|
60
|
+
*/
|
|
61
|
+
/**
|
|
62
|
+
* 设置自动续签处理函数
|
|
63
|
+
* - 当许可证接近过期时触发,返回新的许可证字符串
|
|
64
|
+
*/
|
|
65
|
+
static setRenewHandler(handler: (payload: LicensePayload) => Promise<string>): void;
|
|
66
|
+
/**
|
|
67
|
+
* 获取可信时间戳(毫秒)
|
|
68
|
+
* - 优先使用外部注入的 timeProvider,失败则回退到本地时间
|
|
69
|
+
*/
|
|
70
|
+
private static getTrustedNowMs;
|
|
71
|
+
/**
|
|
72
|
+
* 解析许可证字符串
|
|
73
|
+
* 格式:base64url(payload).base64url(signature)
|
|
74
|
+
*/
|
|
75
|
+
private static parse;
|
|
76
|
+
/**
|
|
77
|
+
* 校验许可证有效性
|
|
78
|
+
* - 验签(ed25519)/ 过期检查 / 域名白名单
|
|
79
|
+
*/
|
|
80
|
+
static validate(context: ValidateContext): Promise<ValidateResult>;
|
|
81
|
+
/**
|
|
82
|
+
* 断言许可证有效,无效则抛出错误。
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* 断言许可证有效(无效则抛错)
|
|
86
|
+
*/
|
|
87
|
+
static assertValid(context: ValidateContext): Promise<LicensePayload>;
|
|
88
|
+
/**
|
|
89
|
+
* 为当前查看器安排一次异步验证;验证失败时展示水印。若 enforce=true,则拦截交互。
|
|
90
|
+
*/
|
|
91
|
+
/**
|
|
92
|
+
* 为指定 Viewer 安排一次异步验证
|
|
93
|
+
* - 验证失败:显示水印/可选阻断
|
|
94
|
+
* - 验证成功:在接近过期时尝试自动续签
|
|
95
|
+
*/
|
|
96
|
+
static scheduleValidationForViewer(viewer: BaseViewer): void;
|
|
97
|
+
/**
|
|
98
|
+
* 应用降级 UI 到 Viewer(水印/拦截层)
|
|
99
|
+
*/
|
|
100
|
+
private static applyFallbackToViewer;
|
|
101
|
+
/**
|
|
102
|
+
* 在接近过期时尝试自动续签
|
|
103
|
+
* - thresholdMs 默认 3 天
|
|
104
|
+
*/
|
|
105
|
+
private static maybeAutoRenew;
|
|
106
|
+
}
|
|
107
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DEFAULT_PUBLIC_KEY_HEX = "0xe93f27a3147a0e2f67b718dffbf7553981ec8d9bb8bf7d18a4ba1f491736ea78";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./LicenseManager";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class ArrowMarkup extends BaseMarkup {
|
|
5
|
+
type: MarkupType;
|
|
6
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
7
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
8
|
+
private drawArrowLine;
|
|
9
|
+
private drawArrowHead;
|
|
10
|
+
getVertexes(): THREE.Vector3[];
|
|
11
|
+
update(points: THREE.Vector3[]): this;
|
|
12
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
13
|
+
getClassType(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { DrawableData } from "../../core/canvas/Constants";
|
|
3
|
+
import { Drawable } from "../../core/canvas/Drawable";
|
|
4
|
+
import type { TextMarkup } from "../../core/markup/TextMarkup";
|
|
5
|
+
export declare abstract class BaseMarkup extends Drawable {
|
|
6
|
+
protected editPointSize: number;
|
|
7
|
+
protected editPointFillColor: string;
|
|
8
|
+
protected editPointStrokeColor: string;
|
|
9
|
+
protected ctx?: CanvasRenderingContext2D;
|
|
10
|
+
leaderText?: TextMarkup;
|
|
11
|
+
parent?: BaseMarkup;
|
|
12
|
+
constructor(id: string);
|
|
13
|
+
isSelected(): boolean;
|
|
14
|
+
drawSelect(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
15
|
+
private drawPoints;
|
|
16
|
+
setEditPointSize(size: number): void;
|
|
17
|
+
setEditPointFillColor(color: string): void;
|
|
18
|
+
setEditPointStrokeColor(color: string): void;
|
|
19
|
+
getCenter(): THREE.Vector3;
|
|
20
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
21
|
+
setData(data: DrawableData): void;
|
|
22
|
+
setParent(parent: BaseMarkup): void;
|
|
23
|
+
setLeaderText(textMarkup: TextMarkup): void;
|
|
24
|
+
update(points: THREE.Vector3[]): this;
|
|
25
|
+
translate(tx: number, ty: number): this;
|
|
26
|
+
rotate(): this;
|
|
27
|
+
scale(): this;
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class CircleMarkup extends BaseMarkup {
|
|
5
|
+
radius: number;
|
|
6
|
+
type: MarkupType;
|
|
7
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
8
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
9
|
+
update(points: THREE.Vector3[]): this;
|
|
10
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
11
|
+
getClassType(): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class CloudLineMarkup extends BaseMarkup {
|
|
5
|
+
type: MarkupType;
|
|
6
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
7
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
8
|
+
static getControlPointByTwoPoints(p1: THREE.Vector2, p2: THREE.Vector2): THREE.Vector2;
|
|
9
|
+
getClassType(): string;
|
|
10
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class CloudRectMarkup extends BaseMarkup {
|
|
5
|
+
type: MarkupType;
|
|
6
|
+
private vertexes?;
|
|
7
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
8
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
9
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
10
|
+
getClassType(): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import type { MarkupManager } from "./MarkupManager";
|
|
3
|
+
import { DrawableData } from "../../core/canvas";
|
|
4
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
5
|
+
import { TextMarkup } from "../../core/markup/TextMarkup";
|
|
6
|
+
export interface CloudRectWithTextShape extends DrawableData {
|
|
7
|
+
text: string;
|
|
8
|
+
fontSize: number;
|
|
9
|
+
textPosition: number[];
|
|
10
|
+
}
|
|
11
|
+
export declare class CloudRectWithTextMarkup extends TextMarkup {
|
|
12
|
+
type: MarkupType;
|
|
13
|
+
private textPosition;
|
|
14
|
+
private controlPoints?;
|
|
15
|
+
private vertexes?;
|
|
16
|
+
private textBounds;
|
|
17
|
+
text: string;
|
|
18
|
+
fontSize: number;
|
|
19
|
+
static LEADER_LINE_WIDTH: number;
|
|
20
|
+
constructor(id: string, points: THREE.Vector3[], text?: string);
|
|
21
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
22
|
+
private drawCloudRect;
|
|
23
|
+
private drawLeaderLine;
|
|
24
|
+
protected drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera, text: string): void;
|
|
25
|
+
translate(tx: number, ty: number): this;
|
|
26
|
+
update(points: THREE.Vector3[]): this;
|
|
27
|
+
getCloudPoints(): THREE.Vector3[];
|
|
28
|
+
getBounds(): THREE.Box3;
|
|
29
|
+
getVertexes(): THREE.Vector3[];
|
|
30
|
+
isLeaderTextSelected(p: THREE.Vector3): boolean;
|
|
31
|
+
translateLeaderText(tx: number, ty: number): this;
|
|
32
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
33
|
+
setData(data: CloudRectWithTextShape): void;
|
|
34
|
+
updateText(text: string): void;
|
|
35
|
+
getData(): CloudRectWithTextShape;
|
|
36
|
+
getClassType(): string;
|
|
37
|
+
addInput(manager: MarkupManager, x: number, y: number): void;
|
|
38
|
+
updateInputPosition(p1: THREE.Vector2, p2: THREE.Vector2): void;
|
|
39
|
+
handleClick: () => void;
|
|
40
|
+
handleInput: () => void;
|
|
41
|
+
handleCompositionEnd: () => void;
|
|
42
|
+
private calcInputPositionByText;
|
|
43
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Markup type, including Arrow, Circle, Rectangle, Text, etc.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum MarkupType {
|
|
5
|
+
Arrow = "ArrowMarkup",
|
|
6
|
+
Circle = "CircleMarkup",
|
|
7
|
+
CloudLine = "CloudLineMarkup",
|
|
8
|
+
CloudLineRectangle = "CloudRectMarkup",
|
|
9
|
+
CloudRectWithText = "CloudRectWithTextMarkup",
|
|
10
|
+
Dot = "DotMarkup",
|
|
11
|
+
Ellipse = "EllipseMarkup",
|
|
12
|
+
LeaderLine = "LeaderLineMarkup",
|
|
13
|
+
PolyLine = "PolylineMarkup",
|
|
14
|
+
Rectangle = "RectMarkup",
|
|
15
|
+
Text = "TextMarkup",
|
|
16
|
+
X = "XMarkup"
|
|
17
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
export declare class DotMarkup extends BaseMarkup {
|
|
4
|
+
radius: number;
|
|
5
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
6
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
7
|
+
update(points: THREE.Vector3[]): this;
|
|
8
|
+
getClassType(): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class EllipseMarkup extends BaseMarkup {
|
|
5
|
+
radiusX: number;
|
|
6
|
+
radiusY: number;
|
|
7
|
+
type: MarkupType;
|
|
8
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
9
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
10
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
11
|
+
getClassType(): string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { MarkupType } from "./Constants";
|
|
3
|
+
import type { MarkupManager } from "./MarkupManager";
|
|
4
|
+
import { TextShape, TextMarkup } from "./TextMarkup";
|
|
5
|
+
export declare class LeaderLineMarkup extends TextMarkup {
|
|
6
|
+
type: MarkupType;
|
|
7
|
+
text: string;
|
|
8
|
+
fontSize: number;
|
|
9
|
+
private textBounds;
|
|
10
|
+
constructor(id: string, points: THREE.Vector3[], text: string);
|
|
11
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
12
|
+
private drawArrowHead;
|
|
13
|
+
private drawArrowLine;
|
|
14
|
+
protected drawText(ctx: CanvasRenderingContext2D, camera: THREE.Camera, text: string): void;
|
|
15
|
+
getVertexes(): THREE.Vector3[];
|
|
16
|
+
update(points: THREE.Vector3[]): this;
|
|
17
|
+
getData(): TextShape;
|
|
18
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
19
|
+
updateText(text: string): void;
|
|
20
|
+
getClassType(): string;
|
|
21
|
+
addInput(manager: MarkupManager, x: number, y: number): void;
|
|
22
|
+
handleInput: () => void;
|
|
23
|
+
handleCompositionEnd: () => void;
|
|
24
|
+
private calcuTextInputPositionByText;
|
|
25
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "./BaseMarkup";
|
|
3
|
+
import { MarkupType } from "./Constants";
|
|
4
|
+
import { CanvasRender, DrawableData } from "../../core/canvas";
|
|
5
|
+
import type { EventInfo, InputManager } from "../../core/input/InputManager";
|
|
6
|
+
import { Event } from "../../core/utils";
|
|
7
|
+
import type { BaseViewer } from "../../core/viewers";
|
|
8
|
+
declare type MarkupEvents = {
|
|
9
|
+
StartDraw: BaseMarkup;
|
|
10
|
+
EndDraw: BaseMarkup;
|
|
11
|
+
EndEdit: BaseMarkup;
|
|
12
|
+
};
|
|
13
|
+
export declare class MarkupManager extends Event<MarkupEvents> {
|
|
14
|
+
private viewer;
|
|
15
|
+
private inputManager;
|
|
16
|
+
overlayRender?: CanvasRender;
|
|
17
|
+
private drawableList;
|
|
18
|
+
private lineWidth;
|
|
19
|
+
private lineColor;
|
|
20
|
+
private fillColor;
|
|
21
|
+
private fontSize;
|
|
22
|
+
protected mouseDown: boolean;
|
|
23
|
+
protected mouseDownPositionX?: number;
|
|
24
|
+
protected mouseDownPositionY?: number;
|
|
25
|
+
protected mousedownPoint?: THREE.Vector2;
|
|
26
|
+
private isSelectLeaderText;
|
|
27
|
+
private tempKey?;
|
|
28
|
+
private tempTouch?;
|
|
29
|
+
private tempArrowKeys?;
|
|
30
|
+
private selectedShape?;
|
|
31
|
+
private type?;
|
|
32
|
+
private isDrawing;
|
|
33
|
+
private initialDataForEditing?;
|
|
34
|
+
private creatingShape?;
|
|
35
|
+
private tempPoints;
|
|
36
|
+
private activated;
|
|
37
|
+
protected exitButton?: HTMLButtonElement;
|
|
38
|
+
constructor(viewer: BaseViewer, input: InputManager);
|
|
39
|
+
get viewerCanvas(): HTMLCanvasElement;
|
|
40
|
+
get camera(): THREE.OrthographicCamera | THREE.PerspectiveCamera;
|
|
41
|
+
get raycaster(): THREE.Raycaster;
|
|
42
|
+
setMarkupVisibility(id: string, visible: boolean): boolean;
|
|
43
|
+
setMarkupsVisibility(visible: boolean): void;
|
|
44
|
+
clearAll(): void;
|
|
45
|
+
isMarkupActive(): boolean;
|
|
46
|
+
protected createMobileExitButton(): HTMLButtonElement;
|
|
47
|
+
activate(): void;
|
|
48
|
+
deactivate(): void;
|
|
49
|
+
getActiveMarkupType(): MarkupType | undefined;
|
|
50
|
+
setDrawType(type: MarkupType): void;
|
|
51
|
+
setLineWidth(linewidth: number): void;
|
|
52
|
+
getLineWidth(): number;
|
|
53
|
+
setLineColor(color: number[]): void;
|
|
54
|
+
getLineColor(): number[];
|
|
55
|
+
setFillColor(color: number[]): void;
|
|
56
|
+
getFillColor(): number[];
|
|
57
|
+
setFontSize(fontSize: number): void;
|
|
58
|
+
getFontSize(): number;
|
|
59
|
+
pickPositionByScreenPoint(p: THREE.Vector2): THREE.Vector3 | undefined;
|
|
60
|
+
pickThreejsPositionByMouse(e: EventInfo): THREE.Vector3 | undefined;
|
|
61
|
+
handleDbClick: () => void;
|
|
62
|
+
handleInputMousemove: (e: MouseEvent) => void;
|
|
63
|
+
mousedown: (e: EventInfo) => void;
|
|
64
|
+
mousemove: (e: EventInfo) => void;
|
|
65
|
+
mouseup: (e: EventInfo) => void;
|
|
66
|
+
keydown: (e: EventInfo) => void;
|
|
67
|
+
confirmToRemove(isConfirm: boolean): void;
|
|
68
|
+
isEditing(): boolean;
|
|
69
|
+
endEdit(selectMarkup: BaseMarkup): void;
|
|
70
|
+
endDraw(createdMarkup?: BaseMarkup): void;
|
|
71
|
+
cancelDraw(createdMarkup?: BaseMarkup): void;
|
|
72
|
+
reset(): void;
|
|
73
|
+
render(): void;
|
|
74
|
+
addMarkup(markup: BaseMarkup, needFireEvent?: boolean): void;
|
|
75
|
+
updateMarkup(markup: BaseMarkup, newData: DrawableData, needFireEvent?: boolean): void;
|
|
76
|
+
removeMarkup(markup: BaseMarkup, needFireEvent?: boolean): void;
|
|
77
|
+
removeMarkupById(id: string): boolean;
|
|
78
|
+
createMarkup(data: DrawableData): BaseMarkup;
|
|
79
|
+
getMarkupById(id: string): BaseMarkup;
|
|
80
|
+
getMarkupData(): DrawableData[];
|
|
81
|
+
setMarkupData(markupDatas: DrawableData[]): void;
|
|
82
|
+
private isCreateLineMode;
|
|
83
|
+
private isCreateDotMode;
|
|
84
|
+
private isCreateTextMode;
|
|
85
|
+
private isCreateShapeMode;
|
|
86
|
+
private drawShape;
|
|
87
|
+
private drawLine;
|
|
88
|
+
private drawText;
|
|
89
|
+
destroy(): void;
|
|
90
|
+
}
|
|
91
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class PolylineMarkup extends BaseMarkup {
|
|
5
|
+
type: MarkupType;
|
|
6
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
7
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
8
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
9
|
+
getVertexes(): THREE.Vector3[];
|
|
10
|
+
getClassType(): string;
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as THREE from "three";
|
|
2
|
+
import { BaseMarkup } from "../../core/markup/BaseMarkup";
|
|
3
|
+
import { MarkupType } from "../../core/markup/Constants";
|
|
4
|
+
export declare class RectMarkup extends BaseMarkup {
|
|
5
|
+
type: MarkupType;
|
|
6
|
+
constructor(id: string, points: THREE.Vector3[]);
|
|
7
|
+
draw(ctx: CanvasRenderingContext2D, camera: THREE.Camera): void;
|
|
8
|
+
isPointInPath(p: THREE.Vector3): boolean;
|
|
9
|
+
getClassType(): string;
|
|
10
|
+
}
|