|
@@ -187,11 +187,16 @@ THREE.TransformControls = function ( camera, domElement ) {
|
|
|
// updateMatrixWorld updates key transformation variables
|
|
|
this.updateMatrixWorld = function () {
|
|
|
|
|
|
- if ( this.object === undefined ) return;
|
|
|
+ if ( this.object !== undefined ) {
|
|
|
|
|
|
+ this.object.updateMatrixWorld();
|
|
|
+ this.object.parent.matrixWorld.decompose( parentPosition, parentQuaternion, parentScale );
|
|
|
+ this.object.matrixWorld.decompose( worldPosition, worldQuaternion, worldScale );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ this.camera.updateMatrixWorld();
|
|
|
this.camera.matrixWorld.decompose( cameraPosition, cameraQuaternion, cameraScale );
|
|
|
- this.object.parent.matrixWorld.decompose( parentPosition, parentQuaternion, parentScale );
|
|
|
- this.object.matrixWorld.decompose( worldPosition, worldQuaternion, worldScale );
|
|
|
|
|
|
if ( this.camera instanceof THREE.PerspectiveCamera ) {
|
|
|
|
|
@@ -664,7 +669,7 @@ THREE.TransformControlsGizmo = function () {
|
|
|
matInvisible.opacity = 0.15;
|
|
|
|
|
|
var matHelper = gizmoMaterial.clone();
|
|
|
- matHelper.opacity = 0.15;
|
|
|
+ matHelper.opacity = 0.33;
|
|
|
|
|
|
var matRed = gizmoMaterial.clone();
|
|
|
matRed.color.set( 0xff0000 );
|
|
@@ -719,9 +724,9 @@ THREE.TransformControlsGizmo = function () {
|
|
|
|
|
|
// reusable geometry
|
|
|
|
|
|
- var arrowGeometry = new THREE.CylinderGeometry( 0, 0.05, 0.2, 12, 1, false);
|
|
|
+ var arrowGeometry = new THREE.CylinderBufferGeometry( 0, 0.05, 0.2, 12, 1, false);
|
|
|
|
|
|
- var scaleHandleGeometry = new THREE.BoxGeometry( 0.125, 0.125, 0.125);
|
|
|
+ var scaleHandleGeometry = new THREE.BoxBufferGeometry( 0.125, 0.125, 0.125);
|
|
|
|
|
|
var lineGeometry = new THREE.BufferGeometry( );
|
|
|
lineGeometry.addAttribute('position', new THREE.Float32BufferAttribute( [ 0, 0, 0, 1, 0, 0 ], 3 ) );
|
|
@@ -774,7 +779,7 @@ THREE.TransformControlsGizmo = function () {
|
|
|
[ new THREE.Line( lineGeometry, matLineBlue ), null, [ 0, -Math.PI / 2, 0 ] ]
|
|
|
],
|
|
|
XYZ: [
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.1, 0 ), matWhiteTransperent ), [ 0, 0, 0 ], [ 0, 0, 0 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.1, 0 ), matWhiteTransperent ), [ 0, 0, 0 ], [ 0, 0, 0 ] ]
|
|
|
],
|
|
|
XY: [
|
|
|
[ new THREE.Mesh( new THREE.PlaneBufferGeometry( 0.295, 0.295 ), matYellowTransparent ), [ 0.15, 0.15, 0 ] ],
|
|
@@ -795,16 +800,16 @@ THREE.TransformControlsGizmo = function () {
|
|
|
|
|
|
var pickerTranslate = {
|
|
|
X: [
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0, 1, 4, 1, false ), matInvisible ), [ 0.6, 0, 0 ], [ 0, 0, -Math.PI / 2 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.2, 0, 1, 4, 1, false ), matInvisible ), [ 0.6, 0, 0 ], [ 0, 0, -Math.PI / 2 ] ]
|
|
|
],
|
|
|
Y: [
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0, 1, 4, 1, false ), matInvisible ), [ 0, 0.6, 0 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.2, 0, 1, 4, 1, false ), matInvisible ), [ 0, 0.6, 0 ] ]
|
|
|
],
|
|
|
Z: [
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0, 1, 4, 1, false ), matInvisible ), [ 0, 0, 0.6 ], [ Math.PI / 2, 0, 0 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.2, 0, 1, 4, 1, false ), matInvisible ), [ 0, 0, 0.6 ], [ Math.PI / 2, 0, 0 ] ]
|
|
|
],
|
|
|
XYZ: [
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.2, 0 ), matInvisible ) ]
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.2, 0 ), matInvisible ) ]
|
|
|
],
|
|
|
XY: [
|
|
|
[ new THREE.Mesh( new THREE.PlaneBufferGeometry( 0.4, 0.4 ), matInvisible ), [ 0.2, 0.2, 0 ] ]
|
|
@@ -819,10 +824,10 @@ THREE.TransformControlsGizmo = function () {
|
|
|
|
|
|
var helperTranslate = {
|
|
|
START: [
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.01, 2 ), matHelper ), null, null, null, 'helper' ]
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.01, 2 ), matHelper ), null, null, null, 'helper' ]
|
|
|
],
|
|
|
END: [
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.01, 2 ), matHelper ), null, null, null, 'helper' ]
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.01, 2 ), matHelper ), null, null, null, 'helper' ]
|
|
|
],
|
|
|
DELTA: [
|
|
|
[ new THREE.Line( TranslateHelperGeometry(), matHelper ), null, null, null, 'helper' ]
|
|
@@ -840,29 +845,29 @@ THREE.TransformControlsGizmo = function () {
|
|
|
|
|
|
var gizmoRotate = {
|
|
|
X: [
|
|
|
- [ new THREE.Line( new CircleGeometry( 1, 0.5 ), matLineRed ) ],
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.04, 0 ), matRed ), [ 0, 0, 0.99 ], null, [ 1, 3, 1 ], 'linear' ],
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.03, 0 ), matRed ), [ 0, 0, 1 ], null, [ 4, 1, 4 ], 'radial' ],
|
|
|
+ [ new THREE.Line( CircleGeometry( 1, 0.5 ), matLineRed ) ],
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.04, 0 ), matRed ), [ 0, 0, 0.99 ], null, [ 1, 3, 1 ], 'linear' ],
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.03, 0 ), matRed ), [ 0, 0, 1 ], null, [ 4, 1, 4 ], 'radial' ],
|
|
|
],
|
|
|
Y: [
|
|
|
- [ new THREE.Line( new CircleGeometry( 1, 0.5 ), matLineGreen ), null, [ 0, 0, -Math.PI / 2 ] ],
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.04, 0 ), matGreen ), [ 0, 0, 0.99 ], null, [ 3, 1, 1 ], 'linear' ],
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.03, 0 ), matGreen ), [ 0, 0, 1 ], null, [ 1, 4, 4 ], 'radial' ],
|
|
|
+ [ new THREE.Line( CircleGeometry( 1, 0.5 ), matLineGreen ), null, [ 0, 0, -Math.PI / 2 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.04, 0 ), matGreen ), [ 0, 0, 0.99 ], null, [ 3, 1, 1 ], 'linear' ],
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.03, 0 ), matGreen ), [ 0, 0, 1 ], null, [ 1, 4, 4 ], 'radial' ],
|
|
|
],
|
|
|
Z: [
|
|
|
- [ new THREE.Line( new CircleGeometry( 1, 0.5 ), matLineBlue ), null, [ 0, Math.PI / 2, 0 ] ],
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.04, 0 ), matBlue ), [ 0.99, 0, 0 ], null, [ 1, 3, 1 ], 'linear' ],
|
|
|
- [ new THREE.Mesh( new THREE.OctahedronGeometry( 0.03, 0 ), matBlue ), [ 1, 0, 0 ], null, [ 4, 1, 4 ], 'radial' ],
|
|
|
+ [ new THREE.Line( CircleGeometry( 1, 0.5 ), matLineBlue ), null, [ 0, Math.PI / 2, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.04, 0 ), matBlue ), [ 0.99, 0, 0 ], null, [ 1, 3, 1 ], 'linear' ],
|
|
|
+ [ new THREE.Mesh( new THREE.OctahedronBufferGeometry( 0.03, 0 ), matBlue ), [ 1, 0, 0 ], null, [ 4, 1, 4 ], 'radial' ],
|
|
|
],
|
|
|
E: [
|
|
|
- [ new THREE.Line( new CircleGeometry( 1.25, 1 ), matLineYellowTransparent ), null, [ 0, Math.PI / 2, 0 ] ],
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ 1.17, 0, 0 ], [ 0, 0, -Math.PI / 2 ], [ 1, 1, 0.001 ]],
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ -1.17, 0, 0 ], [ 0, 0, Math.PI / 2 ], [ 1, 1, 0.001 ]],
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ 0, -1.17, 0 ], [ Math.PI, 0, 0 ], [ 1, 1, 0.001 ]],
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ 0, 1.17, 0 ], [ 0, 0, 0 ], [ 1, 1, 0.001 ]],
|
|
|
+ [ new THREE.Line( CircleGeometry( 1.25, 1 ), matLineYellowTransparent ), null, [ 0, Math.PI / 2, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ 1.17, 0, 0 ], [ 0, 0, -Math.PI / 2 ], [ 1, 1, 0.001 ]],
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ -1.17, 0, 0 ], [ 0, 0, Math.PI / 2 ], [ 1, 1, 0.001 ]],
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ 0, -1.17, 0 ], [ Math.PI, 0, 0 ], [ 1, 1, 0.001 ]],
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.03, 0, 0.15, 4, 1, false ), matLineYellowTransparent ), [ 0, 1.17, 0 ], [ 0, 0, 0 ], [ 1, 1, 0.001 ]],
|
|
|
],
|
|
|
XYZE: [
|
|
|
- [ new THREE.Line( new CircleGeometry( 1, 1 ), matLineGray ), null, [ 0, Math.PI / 2, 0 ] ]
|
|
|
+ [ new THREE.Line( CircleGeometry( 1, 1 ), matLineGray ), null, [ 0, Math.PI / 2, 0 ] ]
|
|
|
]
|
|
|
};
|
|
|
|
|
@@ -874,19 +879,19 @@ THREE.TransformControlsGizmo = function () {
|
|
|
|
|
|
var pickerRotate = {
|
|
|
X: [
|
|
|
- [ new THREE.Mesh( new THREE.TorusGeometry( 1, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ 0, -Math.PI / 2, -Math.PI / 2 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.TorusBufferGeometry( 1, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ 0, -Math.PI / 2, -Math.PI / 2 ] ],
|
|
|
],
|
|
|
Y: [
|
|
|
- [ new THREE.Mesh( new THREE.TorusGeometry( 1, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ Math.PI / 2, 0, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.TorusBufferGeometry( 1, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ Math.PI / 2, 0, 0 ] ],
|
|
|
],
|
|
|
Z: [
|
|
|
- [ new THREE.Mesh( new THREE.TorusGeometry( 1, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ 0, 0, -Math.PI / 2 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.TorusBufferGeometry( 1, 0.1, 4, 24 ), matInvisible ), [ 0, 0, 0 ], [ 0, 0, -Math.PI / 2 ] ],
|
|
|
],
|
|
|
E: [
|
|
|
- [ new THREE.Mesh( new THREE.TorusGeometry( 1.25, 0.1, 2, 24 ), matInvisible ) ]
|
|
|
+ [ new THREE.Mesh( new THREE.TorusBufferGeometry( 1.25, 0.1, 2, 24 ), matInvisible ) ]
|
|
|
],
|
|
|
XYZE: [
|
|
|
- [ new THREE.Mesh( new THREE.SphereGeometry( 0.7, 10, 8 ), matInvisible ) ]
|
|
|
+ [ new THREE.Mesh( new THREE.SphereBufferGeometry( 0.7, 10, 8 ), matInvisible ) ]
|
|
|
]
|
|
|
};
|
|
|
|
|
@@ -919,25 +924,25 @@ THREE.TransformControlsGizmo = function () {
|
|
|
[ new THREE.Line( lineGeometry, matLineMagenta ), [ 0.98, 0, 0.855 ], [ 0, -Math.PI / 2, 0 ], [ 0.125, 1, 1 ] ]
|
|
|
],
|
|
|
XYZX: [
|
|
|
- [ new THREE.Mesh( new THREE.BoxGeometry( 0.125, 0.125, 0.125 ), matWhiteTransperent ), [ 1.1, 0, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.BoxBufferGeometry( 0.125, 0.125, 0.125 ), matWhiteTransperent ), [ 1.1, 0, 0 ] ],
|
|
|
],
|
|
|
XYZY: [
|
|
|
- [ new THREE.Mesh( new THREE.BoxGeometry( 0.125, 0.125, 0.125 ), matWhiteTransperent ), [ 0, 1.1, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.BoxBufferGeometry( 0.125, 0.125, 0.125 ), matWhiteTransperent ), [ 0, 1.1, 0 ] ],
|
|
|
],
|
|
|
XYZZ: [
|
|
|
- [ new THREE.Mesh( new THREE.BoxGeometry( 0.125, 0.125, 0.125 ), matWhiteTransperent ), [ 0, 0, 1.1 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.BoxBufferGeometry( 0.125, 0.125, 0.125 ), matWhiteTransperent ), [ 0, 0, 1.1 ] ],
|
|
|
]
|
|
|
};
|
|
|
|
|
|
var pickerScale = {
|
|
|
X: [
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0, 0.8, 4, 1, false ), matInvisible ), [ 0.5, 0, 0 ], [ 0, 0, -Math.PI / 2 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.2, 0, 0.8, 4, 1, false ), matInvisible ), [ 0.5, 0, 0 ], [ 0, 0, -Math.PI / 2 ] ]
|
|
|
],
|
|
|
Y: [
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0, 0.8, 4, 1, false ), matInvisible ), [ 0, 0.5, 0 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.2, 0, 0.8, 4, 1, false ), matInvisible ), [ 0, 0.5, 0 ] ]
|
|
|
],
|
|
|
Z: [
|
|
|
- [ new THREE.Mesh( new THREE.CylinderGeometry( 0.2, 0, 0.8, 4, 1, false ), matInvisible ), [ 0, 0, 0.5 ], [ Math.PI / 2, 0, 0 ] ]
|
|
|
+ [ new THREE.Mesh( new THREE.CylinderBufferGeometry( 0.2, 0, 0.8, 4, 1, false ), matInvisible ), [ 0, 0, 0.5 ], [ Math.PI / 2, 0, 0 ] ]
|
|
|
],
|
|
|
XY: [
|
|
|
[ new THREE.Mesh( scaleHandleGeometry, matInvisible ), [ 0.85, 0.85, 0 ], null, [ 3, 3, 0.2 ] ],
|
|
@@ -949,13 +954,13 @@ THREE.TransformControlsGizmo = function () {
|
|
|
[ new THREE.Mesh( scaleHandleGeometry, matInvisible ), [ 0.85, 0, 0.85 ], null, [ 3, 0.2, 3 ] ],
|
|
|
],
|
|
|
XYZX: [
|
|
|
- [ new THREE.Mesh( new THREE.BoxGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 1.1, 0, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.BoxBufferGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 1.1, 0, 0 ] ],
|
|
|
],
|
|
|
XYZY: [
|
|
|
- [ new THREE.Mesh( new THREE.BoxGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 0, 1.1, 0 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.BoxBufferGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 0, 1.1, 0 ] ],
|
|
|
],
|
|
|
XYZZ: [
|
|
|
- [ new THREE.Mesh( new THREE.BoxGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 0, 0, 1.1 ] ],
|
|
|
+ [ new THREE.Mesh( new THREE.BoxBufferGeometry( 0.2, 0.2, 0.2 ), matInvisible ), [ 0, 0, 1.1 ] ],
|
|
|
]
|
|
|
};
|
|
|
|