@soonspacejs/plugin-drawing-shape 2.3.11 → 2.3.12

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.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import SoonSpace, { SetOptionsPointInfo, SetOptionsLineInfo, SetOptionsPolygonInfo, SetOptionsCircleInfo } from 'soonspacejs';
1
+ import SoonSpace from 'soonspacejs';
2
+ import { SetOptionsPointInfo, SetOptionsLineInfo, SetOptionsPolygonInfo, SetOptionsCircleInfo } from 'soonspacejs/src/Library';
2
3
  export declare type DrawingPointInfo = SetOptionsPointInfo;
3
4
  export interface DrawingPointEvents {
4
5
  onCancel?: () => void;
@@ -17,13 +18,6 @@ export declare type DrawingCircleInfo = Omit<SetOptionsCircleInfo, 'radius'>;
17
18
  export interface DrawingCircleEvents {
18
19
  onCancel?: () => void;
19
20
  }
20
- export declare const DrawingIds: {
21
- canvas: string;
22
- point: string;
23
- line: string;
24
- polygon: string;
25
- circle: string;
26
- };
27
21
  export default class DrawIngShapePlugin {
28
22
  readonly ssp: SoonSpace;
29
23
  readonly viewport: SoonSpace['viewport'];
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- const s={canvas:"drawingCanvas",point:"drawingPoint",line:"drawingLine",polygon:"drawingPolygon",circle:"drawingCircle"};export default class{constructor(s){this.ssp=s,this.viewport=s.viewport}drawingPoint(i,t){return new Promise((e=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:s.canvas,points:[Object.assign(Object.assign({},i),{id:s.point})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getPoint(s.point),o=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})},c=s=>{if(g(),!a)return;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);a.setOptions({position:n}),e(Object.assign(Object.assign({},i),{position:n.clone()}))},l=()=>{var s;this.clearDrawingCanvas3D(),g(),null===(s=null==t?void 0:t.onCancel)||void 0===s||s.call(t)},r=s=>{switch(s.code){case"Escape":l()}},g=()=>{this.ssp.signals.mouseMove.remove(o),this.ssp.signals.click.remove(c),this.ssp.signals.rightClick.remove(l),this.ssp.signals.keyUp.remove(r)};this.ssp.signals.mouseMove.add(o),this.ssp.signals.click.add(c),this.ssp.signals.rightClick.add(l),this.ssp.signals.keyUp.add(r)}))}drawingLine(i,t){return new Promise((e=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:s.canvas,lines:[Object.assign(Object.assign({},i),{points:[],id:s.line})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getLine(s.line),o=[],c=s=>{const t=this.ssp.viewport.getIntersects(s),e=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);a&&a.setOptions(Object.assign(Object.assign({},i),{points:[...o,e.clone().setY(e.y+1)]}))},l=s=>{const t=this.ssp.viewport.getIntersects(s),e=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);o.push(e.clone().setY(e.y+1)),a&&a.setOptions(Object.assign(Object.assign({},i),{points:o}))},r=()=>{var s;o.pop(),a&&(a.setOptions(Object.assign(Object.assign({},i),{points:o})),null===(s=null==t?void 0:t.onCancelPrev)||void 0===s||s.call(t))},g=()=>{h(),e(Object.assign(Object.assign({},i),{points:o}))},p=s=>{var i;switch(s.code){case"Backspace":r();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(c),this.ssp.signals.click.remove(l),this.ssp.signals.rightClick.remove(r),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(p)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(l),this.ssp.signals.rightClick.add(r),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(p)}))}drawingPolygon(i,t){return new Promise((e=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:s.canvas,polygons:[Object.assign(Object.assign({},i),{points:[],yHeight:0,id:s.polygon})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getPolygon(s.polygon),o=[],c=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(Object.assign(Object.assign({},i),{yHeight:((null===(t=o[0])||void 0===t?void 0:t.y)||n.y)+1,points:[...o,n]}))},l=s=>{var t;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);o.push(n),a&&a.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(t=o[0])||void 0===t?void 0:t.y)||0)+1,points:o}))},r=()=>{var s,e;o.pop(),a&&(a.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(s=o[0])||void 0===s?void 0:s.y)||0)+1,points:o})),null===(e=null==t?void 0:t.onCancelPrev)||void 0===e||e.call(t))},g=()=>{var s;h(),e(Object.assign(Object.assign({},i),{yHeight:((null===(s=o[0])||void 0===s?void 0:s.y)||0)+1,points:o}))},p=s=>{var i;switch(s.code){case"Backspace":r();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(c),this.ssp.signals.click.remove(l),this.ssp.signals.rightClick.remove(r),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(p)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(l),this.ssp.signals.rightClick.add(r),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(p)}))}drawingCircle(i,t){return new Promise((e=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:s.canvas,circles:[Object.assign(Object.assign({},i),{id:s.circle})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getCircle(s.circle);let o,c=100;const l=s=>{if(!a||!o)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);c=t.distanceTo(o),a.setOptions({position:o,radius:c})},r=s=>{if(!a)return;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);o?(h(),c=n.distanceTo(this.ssp.utils.IVector3ToVector3(o)),a.setOptions({position:o,radius:c}),e(Object.assign(Object.assign({},i),{position:o,radius:c}))):o=n.clone().setY(n.y+1)},g=()=>{var s;this.clearDrawingCanvas3D(),h(),null===(s=null==t?void 0:t.onCancel)||void 0===s||s.call(t)},p=s=>{switch(s.code){case"Escape":g()}},h=()=>{this.ssp.signals.mouseMove.remove(l),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(g),this.ssp.signals.keyUp.remove(p)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(g),this.ssp.signals.keyUp.add(p)}))}clearDrawingCanvas3D(){this.ssp.removeCanvas3DById(s.canvas)}}export{s as DrawingIds};
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 a=new this.ssp.library.Canvas3D({id:s,points:[Object.assign(Object.assign({},t),{id:i})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getPoint(i),c=s=>{if(!o)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);o.setOptions({position:t})},l=s=>{if(p(),!o)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);o.setOptions({position:e}),n(Object.assign(Object.assign({},t),{position:e.clone()}))},r=()=>{var s;this.clearDrawingCanvas3D(),p(),null===(s=null==e?void 0:e.onCancel)||void 0===s||s.call(e)},g=s=>{switch(s.code){case"Escape":r()}},p=()=>{this.ssp.signals.mouseMove.remove(c),this.ssp.signals.click.remove(l),this.ssp.signals.rightClick.remove(r),this.ssp.signals.keyUp.remove(g)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(l),this.ssp.signals.rightClick.add(r),this.ssp.signals.keyUp.add(g)}))}drawingLine(i,e){return new Promise((n=>{this.clearDrawingCanvas3D();const a=new this.ssp.library.Canvas3D({id:s,lines:[Object.assign(Object.assign({},i),{points:[],id:t})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getLine(t),c=[],l=s=>{const t=this.ssp.viewport.getIntersects(s),e=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);o&&o.setOptions(Object.assign(Object.assign({},i),{points:[...c,e.clone().setY(e.y+1)]}))},r=s=>{const t=this.ssp.viewport.getIntersects(s),e=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);c.push(e.clone().setY(e.y+1)),o&&o.setOptions(Object.assign(Object.assign({},i),{points:c}))},g=()=>{var s;c.pop(),o&&(o.setOptions(Object.assign(Object.assign({},i),{points:c})),null===(s=null==e?void 0:e.onCancelPrev)||void 0===s||s.call(e))},p=()=>{d(),n(Object.assign(Object.assign({},i),{points:c}))},h=s=>{var i;switch(s.code){case"Backspace":g();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(l),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(g),this.ssp.signals.dblClick.remove(p),this.ssp.signals.keyUp.remove(h)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(g),this.ssp.signals.dblClick.add(p),this.ssp.signals.keyUp.add(h)}))}drawingPolygon(i,t){return new Promise((n=>{this.clearDrawingCanvas3D();const a=new this.ssp.library.Canvas3D({id:s,polygons:[Object.assign(Object.assign({},i),{points:[],yHeight:0,id:e})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getPolygon(e),c=[],l=s=>{var t;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);o&&o.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(t=c[0])||void 0===t?void 0:t.y)||n.y)+1,points:[...c,n]}))},r=s=>{var t;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);c.push(n),o&&o.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(t=c[0])||void 0===t?void 0:t.y)||0)+1,points:c}))},g=()=>{var s,e;c.pop(),o&&(o.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(s=c[0])||void 0===s?void 0:s.y)||0)+1,points:c})),null===(e=null==t?void 0:t.onCancelPrev)||void 0===e||e.call(t))},p=()=>{var s;d(),n(Object.assign(Object.assign({},i),{yHeight:((null===(s=c[0])||void 0===s?void 0:s.y)||0)+1,points:c}))},h=s=>{var i;switch(s.code){case"Backspace":g();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(l),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(g),this.ssp.signals.dblClick.remove(p),this.ssp.signals.keyUp.remove(h)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(g),this.ssp.signals.dblClick.add(p),this.ssp.signals.keyUp.add(h)}))}drawingCircle(i,t){return new Promise((e=>{this.clearDrawingCanvas3D();const a=new this.ssp.library.Canvas3D({id:s,circles:[Object.assign(Object.assign({},i),{id:n})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getCircle(n);let c,l=100;const r=s=>{if(!o||!c)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);l=t.distanceTo(c),o.setOptions({position:c,radius:l})},g=s=>{if(!o)return;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);c?(d(),l=n.distanceTo(this.ssp.utils.IVector3ToVector3(c)),o.setOptions({position:c,radius:l}),e(Object.assign(Object.assign({},i),{position:c,radius:l}))):c=n.clone().setY(n.y+1)},p=()=>{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":p()}},d=()=>{this.ssp.signals.mouseMove.remove(r),this.ssp.signals.click.remove(g),this.ssp.signals.rightClick.remove(p),this.ssp.signals.keyUp.remove(h)};this.ssp.signals.mouseMove.add(r),this.ssp.signals.click.add(g),this.ssp.signals.rightClick.add(p),this.ssp.signals.keyUp.add(h)}))}clearDrawingCanvas3D(){this.ssp.removeCanvas3DById(s)}}
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var DrawingShapePlugin=function(s){"use strict";const i={canvas:"drawingCanvas",point:"drawingPoint",line:"drawingLine",polygon:"drawingPolygon",circle:"drawingCircle"};return s.DrawingIds=i,s.default=class{constructor(s){this.ssp=s,this.viewport=s.viewport}drawingPoint(s,e){return new Promise((t=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:i.canvas,points:[Object.assign(Object.assign({},s),{id:i.point})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getPoint(i.point),o=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})},c=i=>{if(g(),!a)return;const e=this.ssp.viewport.getIntersects(i),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(i);a.setOptions({position:n}),t(Object.assign(Object.assign({},s),{position:n.clone()}))},l=()=>{var s;this.clearDrawingCanvas3D(),g(),null===(s=null==e?void 0:e.onCancel)||void 0===s||s.call(e)},r=s=>{switch(s.code){case"Escape":l()}},g=()=>{this.ssp.signals.mouseMove.remove(o),this.ssp.signals.click.remove(c),this.ssp.signals.rightClick.remove(l),this.ssp.signals.keyUp.remove(r)};this.ssp.signals.mouseMove.add(o),this.ssp.signals.click.add(c),this.ssp.signals.rightClick.add(l),this.ssp.signals.keyUp.add(r)}))}drawingLine(s,e){return new Promise((t=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:i.canvas,lines:[Object.assign(Object.assign({},s),{points:[],id:i.line})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getLine(i.line),o=[],c=i=>{const e=this.ssp.viewport.getIntersects(i),t=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(i);a&&a.setOptions(Object.assign(Object.assign({},s),{points:[...o,t.clone().setY(t.y+1)]}))},l=i=>{const e=this.ssp.viewport.getIntersects(i),t=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(i);o.push(t.clone().setY(t.y+1)),a&&a.setOptions(Object.assign(Object.assign({},s),{points:o}))},r=()=>{var i;o.pop(),a&&(a.setOptions(Object.assign(Object.assign({},s),{points:o})),null===(i=null==e?void 0:e.onCancelPrev)||void 0===i||i.call(e))},g=()=>{h(),t(Object.assign(Object.assign({},s),{points:o}))},p=s=>{var i;switch(s.code){case"Backspace":r();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(c),this.ssp.signals.click.remove(l),this.ssp.signals.rightClick.remove(r),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(p)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(l),this.ssp.signals.rightClick.add(r),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(p)}))}drawingPolygon(s,e){return new Promise((t=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:i.canvas,polygons:[Object.assign(Object.assign({},s),{points:[],yHeight:0,id:i.polygon})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getPolygon(i.polygon),o=[],c=i=>{var e;const t=this.ssp.viewport.getIntersects(i),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(i);a&&a.setOptions(Object.assign(Object.assign({},s),{yHeight:((null===(e=o[0])||void 0===e?void 0:e.y)||n.y)+1,points:[...o,n]}))},l=i=>{var e;const t=this.ssp.viewport.getIntersects(i),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(i);o.push(n),a&&a.setOptions(Object.assign(Object.assign({},s),{yHeight:((null===(e=o[0])||void 0===e?void 0:e.y)||0)+1,points:o}))},r=()=>{var i,t;o.pop(),a&&(a.setOptions(Object.assign(Object.assign({},s),{yHeight:((null===(i=o[0])||void 0===i?void 0:i.y)||0)+1,points:o})),null===(t=null==e?void 0:e.onCancelPrev)||void 0===t||t.call(e))},g=()=>{var i;h(),t(Object.assign(Object.assign({},s),{yHeight:((null===(i=o[0])||void 0===i?void 0:i.y)||0)+1,points:o}))},p=s=>{var i;switch(s.code){case"Backspace":r();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(c),this.ssp.signals.click.remove(l),this.ssp.signals.rightClick.remove(r),this.ssp.signals.dblClick.remove(g),this.ssp.signals.keyUp.remove(p)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(l),this.ssp.signals.rightClick.add(r),this.ssp.signals.dblClick.add(g),this.ssp.signals.keyUp.add(p)}))}drawingCircle(s,e){return new Promise((t=>{this.clearDrawingCanvas3D();const n=new this.ssp.library.Canvas3D({id:i.canvas,circles:[Object.assign(Object.assign({},s),{id:i.circle})]});this.ssp.manager.store.canvas3DManager.scene.add(n);const a=n.getCircle(i.circle);let o,c=100;const l=s=>{if(!a||!o)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);c=e.distanceTo(o),a.setOptions({position:o,radius:c})},r=i=>{if(!a)return;const e=this.ssp.viewport.getIntersects(i),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(i);o?(h(),c=n.distanceTo(this.ssp.utils.IVector3ToVector3(o)),a.setOptions({position:o,radius:c}),t(Object.assign(Object.assign({},s),{position:o,radius:c}))):o=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)},p=s=>{switch(s.code){case"Escape":g()}},h=()=>{this.ssp.signals.mouseMove.remove(l),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(g),this.ssp.signals.keyUp.remove(p)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(g),this.ssp.signals.keyUp.add(p)}))}clearDrawingCanvas3D(){this.ssp.removeCanvas3DById(i.canvas)}},Object.defineProperty(s,"__esModule",{value:!0}),s}({});
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 a=new this.ssp.library.Canvas3D({id:s,points:[Object.assign(Object.assign({},e),{id:i})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getPoint(i),l=s=>{if(!o)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);o.setOptions({position:e})},c=s=>{if(p(),!o)return;const i=this.ssp.viewport.getIntersects(s),t=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);o.setOptions({position:t}),n(Object.assign(Object.assign({},e),{position:t.clone()}))},r=()=>{var s;this.clearDrawingCanvas3D(),p(),null===(s=null==t?void 0:t.onCancel)||void 0===s||s.call(t)},g=s=>{switch(s.code){case"Escape":r()}},p=()=>{this.ssp.signals.mouseMove.remove(l),this.ssp.signals.click.remove(c),this.ssp.signals.rightClick.remove(r),this.ssp.signals.keyUp.remove(g)};this.ssp.signals.mouseMove.add(l),this.ssp.signals.click.add(c),this.ssp.signals.rightClick.add(r),this.ssp.signals.keyUp.add(g)}))}drawingLine(i,t){return new Promise((n=>{this.clearDrawingCanvas3D();const a=new this.ssp.library.Canvas3D({id:s,lines:[Object.assign(Object.assign({},i),{points:[],id:e})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getLine(e),l=[],c=s=>{const e=this.ssp.viewport.getIntersects(s),t=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);o&&o.setOptions(Object.assign(Object.assign({},i),{points:[...l,t.clone().setY(t.y+1)]}))},r=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)),o&&o.setOptions(Object.assign(Object.assign({},i),{points:l}))},g=()=>{var s;l.pop(),o&&(o.setOptions(Object.assign(Object.assign({},i),{points:l})),null===(s=null==t?void 0:t.onCancelPrev)||void 0===s||s.call(t))},p=()=>{h(),n(Object.assign(Object.assign({},i),{points:l}))},d=s=>{var i;switch(s.code){case"Backspace":g();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(c),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(g),this.ssp.signals.dblClick.remove(p),this.ssp.signals.keyUp.remove(d)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(g),this.ssp.signals.dblClick.add(p),this.ssp.signals.keyUp.add(d)}))}drawingPolygon(i,e){return new Promise((n=>{this.clearDrawingCanvas3D();const a=new this.ssp.library.Canvas3D({id:s,polygons:[Object.assign(Object.assign({},i),{points:[],yHeight:0,id:t})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getPolygon(t),l=[],c=s=>{var e;const t=this.ssp.viewport.getIntersects(s),n=t.length>0?t[0].point.clone():this.ssp.getPositionByOffset(s);o&&o.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(e=l[0])||void 0===e?void 0:e.y)||n.y)+1,points:[...l,n]}))},r=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),o&&o.setOptions(Object.assign(Object.assign({},i),{yHeight:((null===(e=l[0])||void 0===e?void 0:e.y)||0)+1,points:l}))},g=()=>{var s,t;l.pop(),o&&(o.setOptions(Object.assign(Object.assign({},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))},p=()=>{var s;h(),n(Object.assign(Object.assign({},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":g();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(c),this.ssp.signals.click.remove(r),this.ssp.signals.rightClick.remove(g),this.ssp.signals.dblClick.remove(p),this.ssp.signals.keyUp.remove(d)};this.ssp.signals.mouseMove.add(c),this.ssp.signals.click.add(r),this.ssp.signals.rightClick.add(g),this.ssp.signals.dblClick.add(p),this.ssp.signals.keyUp.add(d)}))}drawingCircle(i,e){return new Promise((t=>{this.clearDrawingCanvas3D();const a=new this.ssp.library.Canvas3D({id:s,circles:[Object.assign(Object.assign({},i),{id:n})]});this.ssp.manager.store.canvas3DManager.scene.add(a);const o=a.getCircle(n);let l,c=100;const r=s=>{if(!o||!l)return;const i=this.ssp.viewport.getIntersects(s),e=i.length>0?i[0].point.clone():this.ssp.getPositionByOffset(s);c=e.distanceTo(l),o.setOptions({position:l,radius:c})},g=s=>{if(!o)return;const e=this.ssp.viewport.getIntersects(s),n=e.length>0?e[0].point.clone():this.ssp.getPositionByOffset(s);l?(h(),c=n.distanceTo(this.ssp.utils.IVector3ToVector3(l)),o.setOptions({position:l,radius:c}),t(Object.assign(Object.assign({},i),{position:l,radius:c}))):l=n.clone().setY(n.y+1)},p=()=>{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":p()}},h=()=>{this.ssp.signals.mouseMove.remove(r),this.ssp.signals.click.remove(g),this.ssp.signals.rightClick.remove(p),this.ssp.signals.keyUp.remove(d)};this.ssp.signals.mouseMove.add(r),this.ssp.signals.click.add(g),this.ssp.signals.rightClick.add(p),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.3.11",
4
+ "version": "2.3.12",
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": "d0b82192a8e34fb4f01114c2c43d31901ef4ef3d"
16
+ "gitHead": "0d78f16e23ccd4cfdd7edb730770febdbd83ffa1"
17
17
  }
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
- import SoonSpace, { Position, SetOptionsPointInfo, SetOptionsLineInfo, SetOptionsPolygonInfo, SetOptionsCircleInfo } from 'soonspacejs';
2
- import { Vector3 } from 'three'
1
+ import SoonSpace, { Position, } from 'soonspacejs'
2
+ import { SetOptionsPointInfo, SetOptionsLineInfo, SetOptionsPolygonInfo, SetOptionsCircleInfo, } from 'soonspacejs/src/Library'
3
+ import { Vector3, } from 'three'
3
4
 
4
5
  export type DrawingPointInfo = SetOptionsPointInfo
5
6
  export interface DrawingPointEvents {
@@ -24,7 +25,7 @@ export interface DrawingCircleEvents {
24
25
  }
25
26
 
26
27
 
27
- export const DrawingIds = {
28
+ const DrawingIds = {
28
29
  canvas: 'drawingCanvas',
29
30
  point: 'drawingPoint',
30
31
  line: 'drawingLine',
@@ -36,54 +37,55 @@ export default class DrawIngShapePlugin {
36
37
 
37
38
  readonly viewport: SoonSpace['viewport']
38
39
 
39
- constructor(readonly ssp: SoonSpace) {
40
+ constructor( readonly ssp: SoonSpace ) {
40
41
  this.viewport = ssp.viewport
41
42
  }
42
43
 
43
- drawingPoint(options: DrawingPointInfo, events?: DrawingPointEvents): Promise<SetOptionsPointInfo> {
44
+ drawingPoint( options: DrawingPointInfo, events?: DrawingPointEvents ): Promise<SetOptionsPointInfo> {
44
45
 
45
- return new Promise((resolve) => {
46
+ return new Promise( ( resolve ) => {
46
47
 
47
48
  this.clearDrawingCanvas3D()
48
49
 
49
- const canvas = new this.ssp.library.Canvas3D({
50
+ const canvas = new this.ssp.library.Canvas3D( {
50
51
  id: DrawingIds.canvas,
51
- points: [{
52
+ points: [ {
52
53
  ...options,
53
- id: DrawingIds.point
54
- }]
55
- })
54
+ id: DrawingIds.point,
55
+ } ],
56
+ } )
56
57
 
57
- this.ssp.manager.store.canvas3DManager.scene.add(canvas)
58
+ this.ssp.manager.store.canvas3DManager.scene.add( canvas )
58
59
 
59
- const point = canvas.getPoint(DrawingIds.point)
60
+ const point = canvas.getPoint( DrawingIds.point )
60
61
 
61
- const onMouseMove = (event: MouseEvent) => {
62
- if (!point) return
62
+ const onMouseMove = ( event: MouseEvent ) => {
63
+ if ( !point ) return
63
64
 
64
- const intersects = this.ssp.viewport.getIntersects(event)
65
- const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
66
- point.setOptions({
67
- position
68
- })
65
+ const intersects = this.ssp.viewport.getIntersects( event )
66
+ const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
67
+
68
+ point.setOptions( {
69
+ position,
70
+ } )
69
71
  }
70
72
 
71
- const onClick = (event: MouseEvent) => {
73
+ const onClick = ( event: MouseEvent ) => {
72
74
  removeSignals()
73
75
 
74
- if (!point) return
76
+ if ( !point ) return
75
77
 
76
- const intersects = this.ssp.viewport.getIntersects(event)
77
- const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
78
+ const intersects = this.ssp.viewport.getIntersects( event )
79
+ const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
78
80
 
79
- point.setOptions({
80
- position
81
- })
81
+ point.setOptions( {
82
+ position,
83
+ } )
82
84
 
83
- resolve({
85
+ resolve( {
84
86
  ...options,
85
- position: position.clone()
86
- })
87
+ position: position.clone(),
88
+ } )
87
89
  }
88
90
 
89
91
  const onRightClick = () => {
@@ -93,84 +95,84 @@ export default class DrawIngShapePlugin {
93
95
  events?.onCancel?.()
94
96
  }
95
97
 
96
- const onKeyUp = (event: KeyboardEvent) => {
97
- switch (event.code) {
98
+ const onKeyUp = ( event: KeyboardEvent ) => {
99
+ switch ( event.code ) {
98
100
  case 'Escape':
99
- onRightClick();
100
- break;
101
+ onRightClick()
102
+ break
101
103
  }
102
104
  }
103
105
 
104
106
  const removeSignals = () => {
105
- this.ssp.signals.mouseMove.remove(onMouseMove)
106
- this.ssp.signals.click.remove(onClick)
107
- this.ssp.signals.rightClick.remove(onRightClick)
108
- this.ssp.signals.keyUp.remove(onKeyUp)
107
+ this.ssp.signals.mouseMove.remove( onMouseMove )
108
+ this.ssp.signals.click.remove( onClick )
109
+ this.ssp.signals.rightClick.remove( onRightClick )
110
+ this.ssp.signals.keyUp.remove( onKeyUp )
109
111
  }
110
112
 
111
- this.ssp.signals.mouseMove.add(onMouseMove)
112
- this.ssp.signals.click.add(onClick)
113
- this.ssp.signals.rightClick.add(onRightClick)
114
- this.ssp.signals.keyUp.add(onKeyUp)
115
- })
113
+ this.ssp.signals.mouseMove.add( onMouseMove )
114
+ this.ssp.signals.click.add( onClick )
115
+ this.ssp.signals.rightClick.add( onRightClick )
116
+ this.ssp.signals.keyUp.add( onKeyUp )
117
+ } )
116
118
 
117
119
  }
118
120
 
119
- drawingLine(options: DrawingLineInfo, events?: DrawingLineEvents): Promise<SetOptionsLineInfo> {
121
+ drawingLine( options: DrawingLineInfo, events?: DrawingLineEvents ): Promise<SetOptionsLineInfo> {
120
122
 
121
- return new Promise((resolve) => {
123
+ return new Promise( ( resolve ) => {
122
124
 
123
125
  this.clearDrawingCanvas3D()
124
126
 
125
- const canvas = new this.ssp.library.Canvas3D({
127
+ const canvas = new this.ssp.library.Canvas3D( {
126
128
  id: DrawingIds.canvas,
127
- lines: [{
129
+ lines: [ {
128
130
  ...options,
129
131
  points: [],
130
- id: DrawingIds.line
131
- }]
132
- })
132
+ id: DrawingIds.line,
133
+ } ],
134
+ } )
133
135
 
134
- this.ssp.manager.store.canvas3DManager.scene.add(canvas)
136
+ this.ssp.manager.store.canvas3DManager.scene.add( canvas )
135
137
 
136
- const line = canvas.getLine(DrawingIds.line)
138
+ const line = canvas.getLine( DrawingIds.line )
137
139
  const linePoints: Position[] = []
138
140
 
139
- const onMouseMove = (event: MouseEvent) => {
140
- const intersects = this.ssp.viewport.getIntersects(event)
141
- const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
141
+ const onMouseMove = ( event: MouseEvent ) => {
142
+ const intersects = this.ssp.viewport.getIntersects( event )
143
+ const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
142
144
 
143
- if (!line) return
145
+ if ( !line ) return
144
146
 
145
- line.setOptions({
147
+ line.setOptions( {
146
148
  ...options,
147
- points: [...linePoints, position.clone().setY(position.y + 1)]
148
- })
149
+ points: [ ...linePoints, position.clone().setY( position.y + 1 ) ],
150
+ } )
149
151
  }
150
152
 
151
- const onClick = (event: MouseEvent) => {
152
- const intersects = this.ssp.viewport.getIntersects(event)
153
- const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
153
+ const onClick = ( event: MouseEvent ) => {
154
+ const intersects = this.ssp.viewport.getIntersects( event )
155
+ const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
154
156
 
155
- linePoints.push(position.clone().setY(position.y + 1))
157
+ linePoints.push( position.clone().setY( position.y + 1 ) )
156
158
 
157
- if (!line) return
159
+ if ( !line ) return
158
160
 
159
- line.setOptions({
161
+ line.setOptions( {
160
162
  ...options,
161
- points: linePoints
162
- })
163
+ points: linePoints,
164
+ } )
163
165
  }
164
166
 
165
167
  const onRightClick = () => {
166
168
  linePoints.pop()
167
169
 
168
- if (!line) return
170
+ if ( !line ) return
169
171
 
170
- line.setOptions({
172
+ line.setOptions( {
171
173
  ...options,
172
- points: linePoints
173
- })
174
+ points: linePoints,
175
+ } )
174
176
 
175
177
  events?.onCancelPrev?.()
176
178
  }
@@ -178,103 +180,103 @@ export default class DrawIngShapePlugin {
178
180
  const onDblClick = () => {
179
181
  removeSignals()
180
182
 
181
- resolve({
183
+ resolve( {
182
184
  ...options,
183
- points: linePoints
184
- })
185
+ points: linePoints,
186
+ } )
185
187
  }
186
188
 
187
- const onKeyUp = (event: KeyboardEvent) => {
188
- switch (event.code) {
189
+ const onKeyUp = ( event: KeyboardEvent ) => {
190
+ switch ( event.code ) {
189
191
  case 'Backspace':
190
- onRightClick();
191
- break;
192
+ onRightClick()
193
+ break
192
194
  case 'Escape':
193
195
  this.clearDrawingCanvas3D()
194
196
  removeSignals()
195
197
 
196
198
  events?.onCancel?.()
197
- break;
199
+ break
198
200
  }
199
201
  }
200
202
 
201
203
  const removeSignals = () => {
202
- this.ssp.signals.mouseMove.remove(onMouseMove)
203
- this.ssp.signals.click.remove(onClick)
204
- this.ssp.signals.rightClick.remove(onRightClick)
205
- this.ssp.signals.dblClick.remove(onDblClick)
206
- this.ssp.signals.keyUp.remove(onKeyUp)
204
+ this.ssp.signals.mouseMove.remove( onMouseMove )
205
+ this.ssp.signals.click.remove( onClick )
206
+ this.ssp.signals.rightClick.remove( onRightClick )
207
+ this.ssp.signals.dblClick.remove( onDblClick )
208
+ this.ssp.signals.keyUp.remove( onKeyUp )
207
209
  }
208
210
 
209
- this.ssp.signals.mouseMove.add(onMouseMove)
210
- this.ssp.signals.click.add(onClick)
211
- this.ssp.signals.rightClick.add(onRightClick)
212
- this.ssp.signals.dblClick.add(onDblClick)
213
- this.ssp.signals.keyUp.add(onKeyUp)
214
- })
211
+ this.ssp.signals.mouseMove.add( onMouseMove )
212
+ this.ssp.signals.click.add( onClick )
213
+ this.ssp.signals.rightClick.add( onRightClick )
214
+ this.ssp.signals.dblClick.add( onDblClick )
215
+ this.ssp.signals.keyUp.add( onKeyUp )
216
+ } )
215
217
 
216
218
  }
217
219
 
218
- drawingPolygon(options: DrawingPolygonInfo, events?: DrawingPolygonEvents): Promise<SetOptionsPolygonInfo> {
220
+ drawingPolygon( options: DrawingPolygonInfo, events?: DrawingPolygonEvents ): Promise<SetOptionsPolygonInfo> {
219
221
 
220
- return new Promise((resolve) => {
222
+ return new Promise( ( resolve ) => {
221
223
 
222
224
  this.clearDrawingCanvas3D()
223
225
 
224
- const canvas = new this.ssp.library.Canvas3D({
226
+ const canvas = new this.ssp.library.Canvas3D( {
225
227
  id: DrawingIds.canvas,
226
- polygons: [{
228
+ polygons: [ {
227
229
  ...options,
228
230
  points: [],
229
231
  yHeight: 0,
230
- id: DrawingIds.polygon
231
- }]
232
- })
232
+ id: DrawingIds.polygon,
233
+ } ],
234
+ } )
233
235
 
234
- this.ssp.manager.store.canvas3DManager.scene.add(canvas)
236
+ this.ssp.manager.store.canvas3DManager.scene.add( canvas )
235
237
 
236
- const polygon = canvas.getPolygon(DrawingIds.polygon)
238
+ const polygon = canvas.getPolygon( DrawingIds.polygon )
237
239
 
238
240
  const polygonPoints: Position[] = []
239
241
 
240
- const omMouseMove = (event: MouseEvent) => {
241
- const intersects = this.ssp.viewport.getIntersects(event)
242
- const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
242
+ const omMouseMove = ( event: MouseEvent ) => {
243
+ const intersects = this.ssp.viewport.getIntersects( event )
244
+ const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
243
245
 
244
- if (!polygon) return
246
+ if ( !polygon ) return
245
247
 
246
- polygon.setOptions({
248
+ polygon.setOptions( {
247
249
  ...options,
248
- yHeight: (polygonPoints[0]?.y || position.y) + 1,
249
- points: [...polygonPoints, position]
250
- })
250
+ yHeight: ( polygonPoints[0]?.y || position.y ) + 1,
251
+ points: [ ...polygonPoints, position ],
252
+ } )
251
253
  }
252
254
 
253
- const onClick = (event: MouseEvent) => {
254
- const intersects = this.ssp.viewport.getIntersects(event)
255
- const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
255
+ const onClick = ( event: MouseEvent ) => {
256
+ const intersects = this.ssp.viewport.getIntersects( event )
257
+ const position = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
256
258
 
257
- polygonPoints.push(position)
259
+ polygonPoints.push( position )
258
260
 
259
- if (!polygon) return
261
+ if ( !polygon ) return
260
262
 
261
- polygon.setOptions({
263
+ polygon.setOptions( {
262
264
  ...options,
263
- yHeight: (polygonPoints[0]?.y || 0) + 1,
264
- points: polygonPoints
265
- })
265
+ yHeight: ( polygonPoints[0]?.y || 0 ) + 1,
266
+ points: polygonPoints,
267
+ } )
266
268
  }
267
269
 
268
270
  const onRightClick = () => {
269
271
  polygonPoints.pop()
270
272
 
271
- if (!polygon) return
273
+ if ( !polygon ) return
272
274
 
273
- polygon.setOptions({
275
+ polygon.setOptions( {
274
276
  ...options,
275
- yHeight: (polygonPoints[0]?.y || 0) + 1,
276
- points: polygonPoints
277
- })
277
+ yHeight: ( polygonPoints[0]?.y || 0 ) + 1,
278
+ points: polygonPoints,
279
+ } )
278
280
 
279
281
  events?.onCancelPrev?.()
280
282
  }
@@ -282,101 +284,101 @@ export default class DrawIngShapePlugin {
282
284
  const onDblClick = () => {
283
285
  removeSignals()
284
286
 
285
- resolve({
287
+ resolve( {
286
288
  ...options,
287
- yHeight: (polygonPoints[0]?.y || 0) + 1,
288
- points: polygonPoints
289
- })
289
+ yHeight: ( polygonPoints[0]?.y || 0 ) + 1,
290
+ points: polygonPoints,
291
+ } )
290
292
  }
291
293
 
292
- const onKeyUp = (event: KeyboardEvent) => {
293
- switch (event.code) {
294
+ const onKeyUp = ( event: KeyboardEvent ) => {
295
+ switch ( event.code ) {
294
296
  case 'Backspace':
295
- onRightClick();
296
- break;
297
+ onRightClick()
298
+ break
297
299
  case 'Escape':
298
300
  this.clearDrawingCanvas3D()
299
301
  removeSignals()
300
302
 
301
303
  events?.onCancel?.()
302
- break;
304
+ break
303
305
  }
304
306
  }
305
307
 
306
308
  const removeSignals = () => {
307
- this.ssp.signals.mouseMove.remove(omMouseMove)
308
- this.ssp.signals.click.remove(onClick)
309
- this.ssp.signals.rightClick.remove(onRightClick)
310
- this.ssp.signals.dblClick.remove(onDblClick)
311
- this.ssp.signals.keyUp.remove(onKeyUp)
309
+ this.ssp.signals.mouseMove.remove( omMouseMove )
310
+ this.ssp.signals.click.remove( onClick )
311
+ this.ssp.signals.rightClick.remove( onRightClick )
312
+ this.ssp.signals.dblClick.remove( onDblClick )
313
+ this.ssp.signals.keyUp.remove( onKeyUp )
312
314
  }
313
315
 
314
- this.ssp.signals.mouseMove.add(omMouseMove)
315
- this.ssp.signals.click.add(onClick)
316
- this.ssp.signals.rightClick.add(onRightClick)
317
- this.ssp.signals.dblClick.add(onDblClick)
318
- this.ssp.signals.keyUp.add(onKeyUp)
319
- })
316
+ this.ssp.signals.mouseMove.add( omMouseMove )
317
+ this.ssp.signals.click.add( onClick )
318
+ this.ssp.signals.rightClick.add( onRightClick )
319
+ this.ssp.signals.dblClick.add( onDblClick )
320
+ this.ssp.signals.keyUp.add( onKeyUp )
321
+ } )
320
322
 
321
323
  }
322
324
 
323
- drawingCircle(options: DrawingCircleInfo, events?: DrawingCircleEvents): Promise<SetOptionsCircleInfo> {
325
+ drawingCircle( options: DrawingCircleInfo, events?: DrawingCircleEvents ): Promise<SetOptionsCircleInfo> {
324
326
 
325
- return new Promise((resolve) => {
327
+ return new Promise( ( resolve ) => {
326
328
 
327
329
  this.clearDrawingCanvas3D()
328
330
 
329
- const canvas = new this.ssp.library.Canvas3D({
331
+ const canvas = new this.ssp.library.Canvas3D( {
330
332
  id: DrawingIds.canvas,
331
- circles: [{
333
+ circles: [ {
332
334
  ...options,
333
- id: DrawingIds.circle
334
- }]
335
- })
335
+ id: DrawingIds.circle,
336
+ } ],
337
+ } )
336
338
 
337
- this.ssp.manager.store.canvas3DManager.scene.add(canvas)
339
+ this.ssp.manager.store.canvas3DManager.scene.add( canvas )
338
340
 
339
- const circle = canvas.getCircle(DrawingIds.circle)
341
+ const circle = canvas.getCircle( DrawingIds.circle )
340
342
 
341
343
  let position: Vector3 | null
342
- let radius: number = 100
344
+ let radius = 100
343
345
 
344
- const onMouseMove = (event: MouseEvent) => {
345
- if (!circle || !position) return
346
+ const onMouseMove = ( event: MouseEvent ) => {
347
+ if ( !circle || !position ) return
346
348
 
347
- const intersects = this.ssp.viewport.getIntersects(event)
348
- const mouseMovePosition = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
349
+ const intersects = this.ssp.viewport.getIntersects( event )
350
+ const mouseMovePosition = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
349
351
 
350
- radius = mouseMovePosition.distanceTo(position)
352
+ radius = mouseMovePosition.distanceTo( position )
351
353
 
352
- circle.setOptions({
354
+ circle.setOptions( {
353
355
  position,
354
- radius
355
- })
356
+ radius,
357
+ } )
356
358
  }
357
359
 
358
- const onClick = (event: MouseEvent) => {
359
- if (!circle) return
360
+ const onClick = ( event: MouseEvent ) => {
361
+ if ( !circle ) return
360
362
 
361
- const intersects = this.ssp.viewport.getIntersects(event)
362
- const mouseMovePosition = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset(event)
363
+ const intersects = this.ssp.viewport.getIntersects( event )
364
+ const mouseMovePosition = intersects.length > 0 ? intersects[0].point.clone() : this.ssp.getPositionByOffset( event )
363
365
 
364
- if (!position) position = mouseMovePosition.clone().setY(mouseMovePosition.y + 1)
366
+ if ( !position ) position = mouseMovePosition.clone().setY( mouseMovePosition.y + 1 )
365
367
  else {
366
368
  removeSignals()
367
369
 
368
- radius = mouseMovePosition.distanceTo(this.ssp.utils.IVector3ToVector3(position))
370
+ radius = mouseMovePosition.distanceTo( this.ssp.utils.IVector3ToVector3( position ) )
369
371
 
370
- circle.setOptions({
372
+ circle.setOptions( {
371
373
  position,
372
- radius
373
- })
374
+ radius,
375
+ } )
374
376
 
375
- resolve({
377
+ resolve( {
376
378
  ...options,
377
379
  position,
378
- radius
379
- })
380
+ radius,
381
+ } )
380
382
  }
381
383
  }
382
384
 
@@ -387,31 +389,31 @@ export default class DrawIngShapePlugin {
387
389
  events?.onCancel?.()
388
390
  }
389
391
 
390
- const onKeyUp = (event: KeyboardEvent) => {
391
- switch (event.code) {
392
+ const onKeyUp = ( event: KeyboardEvent ) => {
393
+ switch ( event.code ) {
392
394
  case 'Escape':
393
- onRightClick();
394
- break;
395
+ onRightClick()
396
+ break
395
397
  }
396
398
  }
397
399
 
398
400
  const removeSignals = () => {
399
- this.ssp.signals.mouseMove.remove(onMouseMove)
400
- this.ssp.signals.click.remove(onClick)
401
- this.ssp.signals.rightClick.remove(onRightClick)
402
- this.ssp.signals.keyUp.remove(onKeyUp)
401
+ this.ssp.signals.mouseMove.remove( onMouseMove )
402
+ this.ssp.signals.click.remove( onClick )
403
+ this.ssp.signals.rightClick.remove( onRightClick )
404
+ this.ssp.signals.keyUp.remove( onKeyUp )
403
405
  }
404
406
 
405
- this.ssp.signals.mouseMove.add(onMouseMove)
406
- this.ssp.signals.click.add(onClick)
407
- this.ssp.signals.rightClick.add(onRightClick)
408
- this.ssp.signals.keyUp.add(onKeyUp)
409
- })
407
+ this.ssp.signals.mouseMove.add( onMouseMove )
408
+ this.ssp.signals.click.add( onClick )
409
+ this.ssp.signals.rightClick.add( onRightClick )
410
+ this.ssp.signals.keyUp.add( onKeyUp )
411
+ } )
410
412
 
411
413
  }
412
414
 
413
415
  clearDrawingCanvas3D(): void {
414
- this.ssp.removeCanvas3DById(DrawingIds.canvas)
416
+ this.ssp.removeCanvas3DById( DrawingIds.canvas )
415
417
  }
416
418
 
417
419
  }