@soonspacejs/plugin-transform-controls 2.13.9 → 2.13.11
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 +20 -20
- package/dist/index.esm.js +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import SoonSpace from 'soonspacejs';
|
|
2
|
-
import { Object3D } from 'three';
|
|
3
|
-
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
|
4
|
-
export interface StartOptions {
|
|
5
|
-
mode?: 'translate' | 'rotate' | 'scale';
|
|
6
|
-
onUpdate?: (object: Object3D) => void;
|
|
7
|
-
onDragStart?: (object: Object3D) => void;
|
|
8
|
-
onDragEnd?: (object: Object3D) => void;
|
|
9
|
-
onClose?: () => void;
|
|
10
|
-
}
|
|
11
|
-
export default class TransformControlsPlugin {
|
|
12
|
-
readonly ssp: SoonSpace;
|
|
13
|
-
controls: Set<TransformControls>;
|
|
14
|
-
constructor(ssp: SoonSpace);
|
|
15
|
-
start(object: Object3D, options?: StartOptions): TransformControls;
|
|
16
|
-
_getPreviousControl(): TransformControls | undefined;
|
|
17
|
-
close(control?: TransformControls | undefined): void;
|
|
18
|
-
closeAll(): void;
|
|
19
|
-
changeMode(control?: TransformControls | undefined, mode?: StartOptions['mode']): void;
|
|
20
|
-
}
|
|
1
|
+
import SoonSpace from 'soonspacejs';
|
|
2
|
+
import { Object3D } from 'three';
|
|
3
|
+
import { TransformControls } from 'three/examples/jsm/controls/TransformControls.js';
|
|
4
|
+
export interface StartOptions {
|
|
5
|
+
mode?: 'translate' | 'rotate' | 'scale';
|
|
6
|
+
onUpdate?: (object: Object3D) => void;
|
|
7
|
+
onDragStart?: (object: Object3D) => void;
|
|
8
|
+
onDragEnd?: (object: Object3D) => void;
|
|
9
|
+
onClose?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export default class TransformControlsPlugin {
|
|
12
|
+
readonly ssp: SoonSpace;
|
|
13
|
+
controls: Set<TransformControls>;
|
|
14
|
+
constructor(ssp: SoonSpace);
|
|
15
|
+
start(object: Object3D, options?: StartOptions): TransformControls;
|
|
16
|
+
_getPreviousControl(): TransformControls | undefined;
|
|
17
|
+
close(control?: TransformControls | undefined): void;
|
|
18
|
+
closeAll(): void;
|
|
19
|
+
changeMode(control?: TransformControls | undefined, mode?: StartOptions['mode']): void;
|
|
20
|
+
}
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Mesh as e}from"three";import{TransformControls as t}from"three/examples/jsm/controls/TransformControls.js";class s{constructor(e){this.ssp=e,this.controls=new Set}start(e,s={}){const{mode:o="translate",onUpdate:r,onDragStart:n,onDragEnd:a,onClose:i}=s,l=new t(this.ssp.viewport.camera,this.ssp.viewport.rendererManager.interactiveContainer);this.controls.add(l),l.attach(e),l.mode=o,l.addEventListener("dragging-changed",
|
|
1
|
+
import{Mesh as e}from"three";import{TransformControls as t}from"three/examples/jsm/controls/TransformControls.js";class s{constructor(e){this.ssp=e,this.controls=new Set}start(e,s={}){const{mode:o="translate",onUpdate:r,onDragStart:n,onDragEnd:a,onClose:i}=s,l=new t(this.ssp.viewport.camera,this.ssp.viewport.rendererManager.interactiveContainer);this.controls.add(l),l.attach(e),l.mode=o,l.addEventListener("dragging-changed",t=>{this.ssp.controls.enabled=!t.value,t.value?null==n||n(e):null==a||a(e)}),l.addEventListener("objectChange",()=>{null==r||r(e),this.ssp.signals.objectChanged.dispatch(e)});const c=l.getHelper();return c.addEventListener("removed",()=>{null==i||i()}),this.ssp.viewport.scene.add(c),this.ssp.render(),l}_getPreviousControl(){return[...this.controls].at(-1)}close(t=this._getPreviousControl()){if(t){t.detach(),t.disconnect();const s=t.getHelper();s.traverse(function(t){t instanceof e&&(t.geometry&&t.geometry.dispose(),t.material&&t.material.dispose())}),this.ssp.removeObject(s),this.controls.delete(t)}}closeAll(){this.controls.forEach(e=>this.close(e)),this.controls.clear()}changeMode(e=this._getPreviousControl(),t="translate"){e&&e.mode!==t&&(e.mode=t,this.ssp.signals.objectChanged.dispatch())}}export{s as default};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@soonspacejs/plugin-transform-controls",
|
|
3
3
|
"pluginName": "TransformControlsPlugin",
|
|
4
|
-
"version": "2.13.
|
|
4
|
+
"version": "2.13.11",
|
|
5
5
|
"description": "Transform-controls plugin for SoonSpace.js",
|
|
6
6
|
"main": "dist/index.esm.js",
|
|
7
7
|
"module": "dist/index.esm.js",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
],
|
|
14
14
|
"author": "xunwei",
|
|
15
15
|
"license": "UNLICENSED",
|
|
16
|
-
"gitHead": "
|
|
16
|
+
"gitHead": "08bf9efb38c291f22ca044b936fd49269c716bbb",
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"soonspacejs": "2.13.
|
|
18
|
+
"soonspacejs": "2.13.11"
|
|
19
19
|
}
|
|
20
20
|
}
|