@realsee/dnalogel 3.48.0 → 3.48.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/Sculpt/Objects/Base/index.d.ts +16 -0
  3. package/dist/Sculpt/Objects/Line/index.d.ts +12 -1
  4. package/dist/Sculpt/Objects/Polygon/index.d.ts +12 -1
  5. package/dist/Sculpt/Objects/Polyline/index.d.ts +12 -1
  6. package/dist/Sculpt/index.d.ts +10 -3
  7. package/dist/index.cjs.js +57 -57
  8. package/dist/index.js +5011 -4885
  9. package/dist/index.umd.js +50 -50
  10. package/dist/shared-utils/promise/withResolvers.d.ts +10 -0
  11. package/dist/shared-utils/three/Magnifier.d.ts +1 -1
  12. package/dist/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +4 -1
  13. package/libs/Sculpt/Meshes/Line.js +15 -15
  14. package/libs/Sculpt/Meshes/Polygon.js +20 -20
  15. package/libs/Sculpt/Objects/Base/index.d.ts +16 -0
  16. package/libs/Sculpt/Objects/Base/index.js +58 -32
  17. package/libs/Sculpt/Objects/Box/index.js +31 -34
  18. package/libs/Sculpt/Objects/Circle/index.js +36 -39
  19. package/libs/Sculpt/Objects/Line/index.d.ts +12 -1
  20. package/libs/Sculpt/Objects/Line/index.js +104 -75
  21. package/libs/Sculpt/Objects/Point/index.js +13 -16
  22. package/libs/Sculpt/Objects/Polygon/index.d.ts +12 -1
  23. package/libs/Sculpt/Objects/Polygon/index.js +112 -84
  24. package/libs/Sculpt/Objects/Polyline/index.d.ts +12 -1
  25. package/libs/Sculpt/Objects/Polyline/index.js +97 -68
  26. package/libs/Sculpt/Objects/Prism/index.js +20 -23
  27. package/libs/Sculpt/Objects/Rectangle/index.js +36 -39
  28. package/libs/Sculpt/index.d.ts +10 -3
  29. package/libs/Sculpt/index.js +80 -65
  30. package/libs/base/BasePlugin.js +1 -1
  31. package/libs/index.js +127 -126
  32. package/libs/shared-utils/logger.js +1 -1
  33. package/libs/shared-utils/promise/withResolvers.d.ts +10 -0
  34. package/libs/shared-utils/promise/withResolvers.js +13 -0
  35. package/libs/shared-utils/tag.js +9 -9
  36. package/libs/shared-utils/three/Magnifier.d.ts +1 -1
  37. package/libs/shared-utils/three/Magnifier.js +12 -12
  38. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.d.ts +4 -1
  39. package/libs/shared-utils/three/PointSelector/utils/PointSelectorHelper.js +9 -9
  40. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,10 @@
1
1
  # CHANGELOG
2
+ ## 3.48.2
3
+ - feat(Sculpt): 折线(Polyline)多边形(Polygon)支持撤销/重做。
4
+
5
+ ## 3.48.1
6
+ - feat(Sculpt): 线段(Line)支持撤销/重做。
7
+
2
8
  ## 3.48.0
3
9
  - feat:(PanoTagPlugin): 带视频的标签,支持 `play` / `pause`
4
10
 
@@ -64,6 +64,22 @@ Config extends BaseObjectConfig = BaseObjectConfig> extends IObject3D {
64
64
  constructor(data?: Partial<ImportData>, config?: Partial<Config>);
65
65
  on: <T extends keyof FiveDomEventMap>(event: T, callback: FiveDomEventMap[T], config?: EventHandlerConfig) => void;
66
66
  off: (event?: keyof FiveDomEventMap, callback?: (e: import("../../../shared-utils/five/FiveDomEvents").FiveDomEvent) => any, ...args: any[]) => void;
67
+ /**
68
+ * @description 撤销
69
+ */
70
+ undo(): void;
71
+ /**
72
+ * @description 重做
73
+ */
74
+ redo(): void;
75
+ /**
76
+ * @description 是否可以撤销
77
+ */
78
+ canUndo(): void;
79
+ /**
80
+ * @description 是否可以重做
81
+ */
82
+ canRedo(): void;
67
83
  /**
68
84
  * @description 停止创建当前物体,等同于`esc`
69
85
  */
@@ -11,6 +11,7 @@ export interface LineImportData extends BaseImportData, LineData {
11
11
  export declare class Line extends BaseObject<LineImportData> {
12
12
  readonly type = "Line";
13
13
  lineMesh: LineWithDotsMesh;
14
+ private creatingObject?;
14
15
  get data(): {
15
16
  points: [number, number, number][];
16
17
  style: {
@@ -24,10 +25,20 @@ export declare class Line extends BaseObject<LineImportData> {
24
25
  constructor(data?: LineImportData, config?: Partial<BaseObjectConfig>);
25
26
  highlight(): void;
26
27
  unhighlight(): void;
28
+ canUndo(): void;
29
+ canRedo(): void;
30
+ undo(): void;
31
+ redo(): void;
27
32
  create(params?: Partial<LineMeshStyle & CreateLimitConfig>): Promise<void>;
28
33
  }
29
34
  /**
30
35
  * @description 绘制线段
31
36
  * @param config.limit 限制折线绘制的平面; `xoz` 限制在水平面; `y` 限制垂直面; `none` 不限制;默认 `none`
32
37
  */
33
- export declare function createLine(lineMesh: LineMesh, pointSelector: PointSelector, config?: Partial<CreateLimitConfig>): Promise<void>;
38
+ export declare function createLine(lineMesh: LineMesh, pointSelector: PointSelector, config?: Partial<CreateLimitConfig>): {
39
+ finished: Promise<void>;
40
+ canUndo: () => boolean;
41
+ canRedo: () => boolean;
42
+ undo: () => void;
43
+ redo: () => void;
44
+ };
@@ -11,6 +11,7 @@ export interface PolygonImportData extends BaseImportData, PolygonData {
11
11
  export declare class Polygon extends BaseObject<PolygonImportData> {
12
12
  readonly type = "Polygon";
13
13
  areaMesh: AreaMesh;
14
+ private creatingObject?;
14
15
  get data(): {
15
16
  points: [number, number, number][];
16
17
  style: {
@@ -24,6 +25,16 @@ export declare class Polygon extends BaseObject<PolygonImportData> {
24
25
  constructor(data?: PolygonImportData, config?: Partial<BaseObjectConfig>);
25
26
  highlight(): void;
26
27
  unhighlight(): void;
28
+ canUndo(): void;
29
+ canRedo(): void;
30
+ undo(): void;
31
+ redo(): void;
27
32
  create(params?: Partial<PolygonStyle & CreateLimitConfig>): Promise<void>;
28
33
  }
29
- export declare function createPolygon(areaMesh: AreaMesh, pointSelector: PointSelector, config?: Partial<CreateLimitConfig>): Promise<void>;
34
+ export declare function createPolygon(areaMesh: AreaMesh, pointSelector: PointSelector, config?: Partial<CreateLimitConfig>): {
35
+ finished: Promise<void>;
36
+ canUndo: () => boolean;
37
+ canRedo: () => boolean;
38
+ undo: () => void;
39
+ redo: () => void;
40
+ };
@@ -10,6 +10,7 @@ export interface PolylineImportData extends BaseImportData, PolylineData {
10
10
  export declare class Polyline extends BaseObject<PolylineImportData> {
11
11
  readonly type = "Polyline";
12
12
  polyLineMesh: PolylineWithDotsMesh;
13
+ private creatingObject?;
13
14
  get data(): {
14
15
  points: [number, number, number][];
15
16
  style: {
@@ -23,10 +24,20 @@ export declare class Polyline extends BaseObject<PolylineImportData> {
23
24
  constructor(data?: PolylineImportData, config?: Partial<BaseObjectConfig>);
24
25
  highlight(): void;
25
26
  unhighlight(): void;
27
+ canUndo(): void;
28
+ canRedo(): void;
29
+ undo(): void;
30
+ redo(): void;
26
31
  create(params?: Partial<PolylineStyle & CreateLimitConfig>): Promise<void>;
27
32
  }
28
33
  /**
29
34
  * @description 绘制折线
30
35
  * @param config.limit 限制折线绘制的平面; `xoz` 限制在水平面; `y` 限制垂直面; `none` 不限制;默认 `none`
31
36
  */
32
- export declare function createPolyline(polyLineMesh: PolylineMesh, pointSelector: PointSelector, config?: Partial<CreateLimitConfig>): Promise<void>;
37
+ export declare function createPolyline(polyLineMesh: PolylineMesh, pointSelector: PointSelector, config?: Partial<CreateLimitConfig>): {
38
+ finished: Promise<void>;
39
+ canUndo: () => boolean;
40
+ canRedo: () => boolean;
41
+ undo: () => void;
42
+ redo: () => void;
43
+ };
@@ -67,7 +67,11 @@ export declare class Sculpt extends Subscribe<Event> {
67
67
  id: string;
68
68
  type: string;
69
69
  } | {
70
- readonly points: [number, number, number][];
70
+ readonly points: [number, number, number][]; /**
71
+ * @description: 点击事件
72
+ * @param {BuiltInItem} item 点击的物体
73
+ * 返回 false 来禁用 Five 默认行为
74
+ */
71
75
  readonly heightPoint: [number, number, number];
72
76
  readonly style: {
73
77
  readonly color: number;
@@ -109,6 +113,7 @@ export declare class Sculpt extends Subscribe<Event> {
109
113
  get items(): BuiltInItem[];
110
114
  private five;
111
115
  private theme;
116
+ private creatingItem;
112
117
  constructor(five: Five, theme?: Theme);
113
118
  /**
114
119
  * @description: 加载数据 展示
@@ -158,14 +163,16 @@ export declare class Sculpt extends Subscribe<Event> {
158
163
  * @description: 开始绘制 Box
159
164
  */
160
165
  createBox(params?: Parameters<Box['create']>[0]): Promise<Box>;
166
+ canUndo(): false | void;
167
+ canRedo(): false | void;
161
168
  /**
162
169
  * @description: 撤销
163
170
  */
164
- undo(): void;
171
+ undo: () => void;
165
172
  /**
166
173
  * @description: 重做
167
174
  */
168
- redo(): void;
175
+ redo: () => void;
169
176
  /**
170
177
  * @description: 清空数据
171
178
  */