@soonspacejs/plugin-drawing-shape 2.4.0 → 2.4.1
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/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
- package/src/index.ts +12 -12
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const s="drawingCanvas",i="drawingPoint",t="drawingLine",e="drawingPolygon",n="drawingCircle";export default class{constructor(s){this.ssp=s,this.viewport=s.viewport}drawingPoint(t,e){return new Promise((n=>{this.clearDrawingCanvas3D();const
|
|
1
|
+
const s="drawingCanvas",i="drawingPoint",t="drawingLine",e="drawingPolygon",n="drawingCircle";export default class{constructor(s){this.ssp=s,this.viewport=s.viewport}drawingPoint(t,e){return new Promise((n=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,points:[{...t,id:i}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getPoint(i),l=s=>{if(!a)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);a.setOptions({position:t})},r=s=>{if(g(),!a)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);a.setOptions({position:e}),n({...t,position:e.clone()})},p=()=>{var s;this.clearDrawingCanvas3D(),g(),null===(s=null==e?void 0:e.onCancel)||void 0===s||s.call(e)},c=s=>{switch(s.code){case"Escape":p()}},g=()=>{this.ssp.signals.mouseMove.remove(l),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(p),this.ssp.signals.keyUp.remove(c)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(p),this.ssp.signals.keyUp.add(c)}))}drawingLine(i,e){return new Promise((n=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,lines:[{...i,points:[],id:t}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getLine(t),l=[],r=s=>{const t=this.ssp.viewport.getIntersects(s),e=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);a&&a.setOptions({...i,points:[...l,e.clone().setY(e.y+1)]})},p=s=>{const t=this.ssp.viewport.getIntersects(s),e=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);l.push(e.clone().setY(e.y+1)),a&&a.setOptions({...i,points:l})},c=()=>{var s;l.pop(),a&&(a.setOptions({...i,points:l}),null===(s=null==e?void 0:e.onCancelPrev)||void 0===s||s.call(e))},g=()=>{d(),n({...i,points:l})},h=s=>{var i;switch(s.code){case"Backspace":c();break;case"Escape":this.clearDrawingCanvas3D(),d(),null===(i=null==e?void 0:e.onCancel)||void 0===i||i.call(e)}},d=()=>{this.ssp.signals.mouseMove.remove(r),this.ssp.signals.click.remove(p),this.ssp.signals.rightClick.remove(c),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(h)};this.ssp.signals.mouseMove.add(r),this.ssp.signals.click.add(p),this.ssp.signals.rightClick.add(c),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(h)}))}drawingPolygon(i,t){return new Promise((n=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,polygons:[{...i,points:[],yHeight:0,id:e}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getPolygon(e),l=[],r=s=>{var t;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);a&&a.setOptions({...i,yHeight:((null===(t=l[0])||void 0===t?void 0:t.y)||n.y)+1,points:[...l,n]})},p=s=>{var t;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);l.push(n),a&&a.setOptions({...i,yHeight:((null===(t=l[0])||void 0===t?void 0:t.y)||0)+1,points:l})},c=()=>{var s,e;l.pop(),a&&(a.setOptions({...i,yHeight:((null===(s=l[0])||void 0===s?void 0:s.y)||0)+1,points:l}),null===(e=null==t?void 0:t.onCancelPrev)||void 0===e||e.call(t))},g=()=>{var s;d(),n({...i,yHeight:((null===(s=l[0])||void 0===s?void 0:s.y)||0)+1,points:l})},h=s=>{var i;switch(s.code){case"Backspace":c();break;case"Escape":this.clearDrawingCanvas3D(),d(),null===(i=null==t?void 0:t.onCancel)||void 0===i||i.call(t)}},d=()=>{this.ssp.signals.mouseMove.remove(r),this.ssp.signals.click.remove(p),this.ssp.signals.rightClick.remove(c),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(h)};this.ssp.signals.mouseMove.add(r),this.ssp.signals.click.add(p),this.ssp.signals.rightClick.add(c),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(h)}))}drawingCircle(i,t){return new Promise((e=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,circles:[{...i,id:n}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getCircle(n);let l,r=100;const p=s=>{if(!a||!l)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);r=t.distanceTo(l),a.setOptions({position:l,radius:r})},c=s=>{if(!a)return;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);l?(d(),r=n.distanceTo(this.ssp.utils.IVector3ToVector3(l)),a.setOptions({position:l,radius:r}),e({...i,position:l,radius:r})):l=n.clone().setY(n.y+1)},g=()=>{var s;this.clearDrawingCanvas3D(),d(),null===(s=null==t?void 0:t.onCancel)||void 0===s||s.call(t)},h=s=>{switch(s.code){case"Escape":g()}},d=()=>{this.ssp.signals.mouseMove.remove(p),this.ssp.signals.click.remove(c),this.ssp.signals.rightClick.remove(g),this.ssp.signals.keyUp.remove(h)};this.ssp.signals.mouseMove.add(p),this.ssp.signals.click.add(c),this.ssp.signals.rightClick.add(g),this.ssp.signals.keyUp.add(h)}))}clearDrawingCanvas3D(){this.ssp.removeCanvas3DById(s)}}
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(s,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(s="undefined"!=typeof globalThis?globalThis:s||self).DrawingShapePlugin=i()}(this,(function(){"use strict";const s="drawingCanvas",i="drawingPoint",e="drawingLine",t="drawingPolygon",n="drawingCircle";return class{constructor(s){this.ssp=s,this.viewport=s.viewport}drawingPoint(e,t){return new Promise((n=>{this.clearDrawingCanvas3D();const
|
|
1
|
+
!function(s,i){"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(s="undefined"!=typeof globalThis?globalThis:s||self).DrawingShapePlugin=i()}(this,(function(){"use strict";const s="drawingCanvas",i="drawingPoint",e="drawingLine",t="drawingPolygon",n="drawingCircle";return class{constructor(s){this.ssp=s,this.viewport=s.viewport}drawingPoint(e,t){return new Promise((n=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,points:[{...e,id:i}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getPoint(i),l=s=>{if(!a)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);a.setOptions({position:e})},r=s=>{if(g(),!a)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);a.setOptions({position:t}),n({...e,position:t.clone()})},p=()=>{var s;this.clearDrawingCanvas3D(),g(),null===(s=null==t?void 0:t.onCancel)||void 0===s||s.call(t)},c=s=>{switch(s.code){case"Escape":p()}},g=()=>{this.ssp.signals.mouseMove.remove(l),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(p),this.ssp.signals.keyUp.remove(c)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(p),this.ssp.signals.keyUp.add(c)}))}drawingLine(i,t){return new Promise((n=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,lines:[{...i,points:[],id:e}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getLine(e),l=[],r=s=>{const e=this.ssp.viewport.getIntersects(s),t=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);a&&a.setOptions({...i,points:[...l,t.clone().setY(t.y+1)]})},p=s=>{const e=this.ssp.viewport.getIntersects(s),t=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);l.push(t.clone().setY(t.y+1)),a&&a.setOptions({...i,points:l})},c=()=>{var s;l.pop(),a&&(a.setOptions({...i,points:l}),null===(s=null==t?void 0:t.onCancelPrev)||void 0===s||s.call(t))},g=()=>{h(),n({...i,points:l})},d=s=>{var i;switch(s.code){case"Backspace":c();break;case"Escape":this.clearDrawingCanvas3D(),h(),null===(i=null==t?void 0:t.onCancel)||void 0===i||i.call(t)}},h=()=>{this.ssp.signals.mouseMove.remove(r),this.ssp.signals.click.remove(p),this.ssp.signals.rightClick.remove(c),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(d)};this.ssp.signals.mouseMove.add(r),this.ssp.signals.click.add(p),this.ssp.signals.rightClick.add(c),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(d)}))}drawingPolygon(i,e){return new Promise((n=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,polygons:[{...i,points:[],yHeight:0,id:t}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getPolygon(t),l=[],r=s=>{var e;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);a&&a.setOptions({...i,yHeight:((null===(e=l[0])||void 0===e?void 0:e.y)||n.y)+1,points:[...l,n]})},p=s=>{var e;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);l.push(n),a&&a.setOptions({...i,yHeight:((null===(e=l[0])||void 0===e?void 0:e.y)||0)+1,points:l})},c=()=>{var s,t;l.pop(),a&&(a.setOptions({...i,yHeight:((null===(s=l[0])||void 0===s?void 0:s.y)||0)+1,points:l}),null===(t=null==e?void 0:e.onCancelPrev)||void 0===t||t.call(e))},g=()=>{var s;h(),n({...i,yHeight:((null===(s=l[0])||void 0===s?void 0:s.y)||0)+1,points:l})},d=s=>{var i;switch(s.code){case"Backspace":c();break;case"Escape":this.clearDrawingCanvas3D(),h(),null===(i=null==e?void 0:e.onCancel)||void 0===i||i.call(e)}},h=()=>{this.ssp.signals.mouseMove.remove(r),this.ssp.signals.click.remove(p),this.ssp.signals.rightClick.remove(c),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(d)};this.ssp.signals.mouseMove.add(r),this.ssp.signals.click.add(p),this.ssp.signals.rightClick.add(c),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(d)}))}drawingCircle(i,e){return new Promise((t=>{this.clearDrawingCanvas3D();const o=new this.ssp.library.Canvas3D({id:s,circles:[{...i,id:n}]});this.ssp.manager.store.canvas3DManager.scene.add(o);const a=o.getCircle(n);let l,r=100;const p=s=>{if(!a||!l)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);r=e.distanceTo(l),a.setOptions({position:l,radius:r})},c=s=>{if(!a)return;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);l?(h(),r=n.distanceTo(this.ssp.utils.IVector3ToVector3(l)),a.setOptions({position:l,radius:r}),t({...i,position:l,radius:r})):l=n.clone().setY(n.y+1)},g=()=>{var s;this.clearDrawingCanvas3D(),h(),null===(s=null==e?void 0:e.onCancel)||void 0===s||s.call(e)},d=s=>{switch(s.code){case"Escape":g()}},h=()=>{this.ssp.signals.mouseMove.remove(p),this.ssp.signals.click.remove(c),this.ssp.signals.rightClick.remove(g),this.ssp.signals.keyUp.remove(d)};this.ssp.signals.mouseMove.add(p),this.ssp.signals.click.add(c),this.ssp.signals.rightClick.add(g),this.ssp.signals.keyUp.add(d)}))}clearDrawingCanvas3D(){this.ssp.removeCanvas3DById(s)}}}));
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soonspacejs/plugin-drawing-shape",
|
|
3
3
|
"pluginName": "DrawingShapePlugin",
|
|
4
|
-
"version": "2.4.
|
|
4
|
+
"version": "2.4.1",
|
|
5
5
|
"description": "DrawingShapePlugin plugin for SoonSpace.js",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.esm.js",
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
],
|
|
14
14
|
"author": "xuek",
|
|
15
15
|
"license": "UNLICENSED",
|
|
16
|
-
"gitHead": "
|
|
16
|
+
"gitHead": "9cccb30f9fe851aca8930345bfba6b7099314a5c"
|
|
17
17
|
}
|
package/src/index.ts
CHANGED
|
@@ -4,24 +4,24 @@ import { Vector3, } from 'three'
|
|
|
4
4
|
|
|
5
5
|
export type DrawingPointInfo = SetOptionsPointInfo
|
|
6
6
|
export interface DrawingPointEvents {
|
|
7
|
-
onCancel?: () => void
|
|
7
|
+
onCancel?: () => void;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export type DrawingLineInfo = Omit<SetOptionsLineInfo, 'points'>
|
|
11
11
|
export interface DrawingLineEvents {
|
|
12
|
-
onCancel?: () => void
|
|
13
|
-
onCancelPrev?: () => void
|
|
12
|
+
onCancel?: () => void;
|
|
13
|
+
onCancelPrev?: () => void;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
export type DrawingPolygonInfo = Omit<SetOptionsPolygonInfo, 'points' | 'yHeight'>
|
|
17
17
|
export interface DrawingPolygonEvents {
|
|
18
|
-
onCancel?: () => void
|
|
19
|
-
onCancelPrev?: () => void
|
|
18
|
+
onCancel?: () => void;
|
|
19
|
+
onCancelPrev?: () => void;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export type DrawingCircleInfo = Omit<SetOptionsCircleInfo, 'radius'>
|
|
23
23
|
export interface DrawingCircleEvents {
|
|
24
|
-
onCancel?: () => void
|
|
24
|
+
onCancel?: () => void;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
|
|
@@ -37,13 +37,13 @@ export default class DrawIngShapePlugin {
|
|
|
37
37
|
|
|
38
38
|
readonly viewport: SoonSpace['viewport']
|
|
39
39
|
|
|
40
|
-
constructor( readonly ssp: SoonSpace ) {
|
|
40
|
+
constructor ( readonly ssp: SoonSpace ) {
|
|
41
41
|
|
|
42
42
|
this.viewport = ssp.viewport
|
|
43
43
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
drawingPoint( options: DrawingPointInfo, events?: DrawingPointEvents ): Promise<SetOptionsPointInfo> {
|
|
46
|
+
drawingPoint ( options: DrawingPointInfo, events?: DrawingPointEvents ): Promise<SetOptionsPointInfo> {
|
|
47
47
|
|
|
48
48
|
return new Promise( ( resolve ) => {
|
|
49
49
|
|
|
@@ -133,7 +133,7 @@ export default class DrawIngShapePlugin {
|
|
|
133
133
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
|
-
drawingLine( options: DrawingLineInfo, events?: DrawingLineEvents ): Promise<SetOptionsLineInfo> {
|
|
136
|
+
drawingLine ( options: DrawingLineInfo, events?: DrawingLineEvents ): Promise<SetOptionsLineInfo> {
|
|
137
137
|
|
|
138
138
|
return new Promise( ( resolve ) => {
|
|
139
139
|
|
|
@@ -247,7 +247,7 @@ export default class DrawIngShapePlugin {
|
|
|
247
247
|
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
drawingPolygon( options: DrawingPolygonInfo, events?: DrawingPolygonEvents ): Promise<SetOptionsPolygonInfo> {
|
|
250
|
+
drawingPolygon ( options: DrawingPolygonInfo, events?: DrawingPolygonEvents ): Promise<SetOptionsPolygonInfo> {
|
|
251
251
|
|
|
252
252
|
return new Promise( ( resolve ) => {
|
|
253
253
|
|
|
@@ -367,7 +367,7 @@ export default class DrawIngShapePlugin {
|
|
|
367
367
|
|
|
368
368
|
}
|
|
369
369
|
|
|
370
|
-
drawingCircle( options: DrawingCircleInfo, events?: DrawingCircleEvents ): Promise<SetOptionsCircleInfo> {
|
|
370
|
+
drawingCircle ( options: DrawingCircleInfo, events?: DrawingCircleEvents ): Promise<SetOptionsCircleInfo> {
|
|
371
371
|
|
|
372
372
|
return new Promise( ( resolve ) => {
|
|
373
373
|
|
|
@@ -472,7 +472,7 @@ export default class DrawIngShapePlugin {
|
|
|
472
472
|
|
|
473
473
|
}
|
|
474
474
|
|
|
475
|
-
clearDrawingCanvas3D(): void {
|
|
475
|
+
clearDrawingCanvas3D (): void {
|
|
476
476
|
|
|
477
477
|
this.ssp.removeCanvas3DById( DrawingIds.canvas )
|
|
478
478
|
|