@soonspacejs/plugin-drawing-shape 2.4.0 → 2.4.3

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 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 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)}}
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 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)}}}));
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.0",
4
+ "version": "2.4.3",
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": "33f17a26b09ee1ff70726ef24baacba701a8a573"
16
+ "gitHead": "a2a5a0d74bb3b7934c78c0566f74df8f931eb740"
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