diff --git a/editor/index.html b/editor/index.html index 0d4ddf230f06369307bf7130939203be60cc6b06..93832b74e6e7fa2b4fbae2653597bc741066af01 100644 --- a/editor/index.html +++ b/editor/index.html @@ -160,6 +160,7 @@ var signals = editor.signals; + signals.geometryChanged.add( saveState ); signals.objectAdded.add( saveState ); signals.objectChanged.add( saveState ); signals.objectRemoved.add( saveState ); diff --git a/editor/js/Editor.js b/editor/js/Editor.js index bc8b5654989d5b15f837ff4746ea5ab48ee42439..4fcd6744fb3c79252a942659d03ab39bec76df52 100644 --- a/editor/js/Editor.js +++ b/editor/js/Editor.js @@ -29,6 +29,8 @@ var Editor = function () { cameraChanged: new SIGNALS.Signal(), + geometryChanged: new SIGNALS.Signal(), + objectSelected: new SIGNALS.Signal(), objectAdded: new SIGNALS.Signal(), objectChanged: new SIGNALS.Signal(), diff --git a/editor/js/Sidebar.Geometry.BoxGeometry.js b/editor/js/Sidebar.Geometry.BoxGeometry.js index 2d2c8e6431f24a89250f4167d2072ee7f0472db5..0170b6189bab52004a8bf93ccb10e337c1ec8699 100644 --- a/editor/js/Sidebar.Geometry.BoxGeometry.js +++ b/editor/js/Sidebar.Geometry.BoxGeometry.js @@ -82,7 +82,7 @@ Sidebar.Geometry.BoxGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.BufferGeometry.js b/editor/js/Sidebar.Geometry.BufferGeometry.js index f1d0a2fa82c2ff2df56c6831bd185854891dd5d0..ab952e3a856c973e187f6ce07750d412c69a6093 100644 --- a/editor/js/Sidebar.Geometry.BufferGeometry.js +++ b/editor/js/Sidebar.Geometry.BufferGeometry.js @@ -55,7 +55,7 @@ Sidebar.Geometry.BufferGeometry = function ( signals ) { }; signals.objectSelected.add( update ); - signals.objectChanged.add( update ); + signals.geometryChanged.add( update ); return container; diff --git a/editor/js/Sidebar.Geometry.CircleGeometry.js b/editor/js/Sidebar.Geometry.CircleGeometry.js index 97c571393ececb53ce4cc93a083955e9e46799bf..d2c4340fa0b463e54fd4d58d8d018a9728c2bb4e 100644 --- a/editor/js/Sidebar.Geometry.CircleGeometry.js +++ b/editor/js/Sidebar.Geometry.CircleGeometry.js @@ -37,7 +37,7 @@ Sidebar.Geometry.CircleGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.CylinderGeometry.js b/editor/js/Sidebar.Geometry.CylinderGeometry.js index 59b35a0179626e5ae29b24450275c065899aace4..9ba921bf6a539ae82b00f16d263911f5807d2d36 100644 --- a/editor/js/Sidebar.Geometry.CylinderGeometry.js +++ b/editor/js/Sidebar.Geometry.CylinderGeometry.js @@ -82,7 +82,7 @@ Sidebar.Geometry.CylinderGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.Geometry.js b/editor/js/Sidebar.Geometry.Geometry.js index 95e714deca8648ad327d04d30066c13bf3e548f7..24c30dbdf0864707350fc63981232f5dabfecf54 100644 --- a/editor/js/Sidebar.Geometry.Geometry.js +++ b/editor/js/Sidebar.Geometry.Geometry.js @@ -46,7 +46,7 @@ Sidebar.Geometry.Geometry = function ( signals ) { }; signals.objectSelected.add( update ); - signals.objectChanged.add( update ); + signals.geometryChanged.add( update ); return container; diff --git a/editor/js/Sidebar.Geometry.Modifiers.js b/editor/js/Sidebar.Geometry.Modifiers.js index 2683bc9b12d8a6e9fbe38eaa1205746c442e4300..0cf07849bb1e0fe67a1f508a839b5a55d5ee7be0 100644 --- a/editor/js/Sidebar.Geometry.Modifiers.js +++ b/editor/js/Sidebar.Geometry.Modifiers.js @@ -21,7 +21,7 @@ Sidebar.Geometry.Modifiers = function ( signals, object ) { } - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } ); @@ -40,7 +40,7 @@ Sidebar.Geometry.Modifiers = function ( signals, object ) { object.geometry = new THREE.Geometry().fromBufferGeometry( object.geometry ); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } ); container.add( button ); @@ -54,7 +54,7 @@ Sidebar.Geometry.Modifiers = function ( signals, object ) { object.geometry = new THREE.BufferGeometry().fromGeometry( object.geometry ); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } ); container.add( button ); diff --git a/editor/js/Sidebar.Geometry.PlaneGeometry.js b/editor/js/Sidebar.Geometry.PlaneGeometry.js index ccebd4384e7446d8112d70430672a4dd966b97f1..a4c60b833daf35e618858eec66ebf58f1f72cc95 100644 --- a/editor/js/Sidebar.Geometry.PlaneGeometry.js +++ b/editor/js/Sidebar.Geometry.PlaneGeometry.js @@ -61,7 +61,7 @@ Sidebar.Geometry.PlaneGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.SphereGeometry.js b/editor/js/Sidebar.Geometry.SphereGeometry.js index 490b40b26cc858204804dacdabcec302c6cb425f..3a1ff54cd77549cea2db205bf1faeb9fa99ca918 100644 --- a/editor/js/Sidebar.Geometry.SphereGeometry.js +++ b/editor/js/Sidebar.Geometry.SphereGeometry.js @@ -94,7 +94,7 @@ Sidebar.Geometry.SphereGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.TorusGeometry.js b/editor/js/Sidebar.Geometry.TorusGeometry.js index 221a6606609876ba7c66ec959e04b23e5ad4064f..9e82ab1311f80bd6645b54acf473afe9e397cc18 100644 --- a/editor/js/Sidebar.Geometry.TorusGeometry.js +++ b/editor/js/Sidebar.Geometry.TorusGeometry.js @@ -72,7 +72,7 @@ Sidebar.Geometry.TorusGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.TorusKnotGeometry.js b/editor/js/Sidebar.Geometry.TorusKnotGeometry.js index 836cd60c74a62b1ab132c8f9806e2cb2bcdc9939..4854a79d3b9d4cd5f053813db161c56e22a65c1f 100644 --- a/editor/js/Sidebar.Geometry.TorusKnotGeometry.js +++ b/editor/js/Sidebar.Geometry.TorusKnotGeometry.js @@ -94,7 +94,7 @@ Sidebar.Geometry.TorusKnotGeometry = function ( signals, object ) { object.geometry.buffersNeedUpdate = true; object.geometry.computeBoundingSphere(); - signals.objectChanged.dispatch( object ); + signals.geometryChanged.dispatch( object ); } diff --git a/editor/js/Sidebar.Geometry.js b/editor/js/Sidebar.Geometry.js index e1e66fcb0f50334f89950425a1056b7ce6634142..3fad484d59089d0274525f78f8fd0b1cf280fa5c 100644 --- a/editor/js/Sidebar.Geometry.js +++ b/editor/js/Sidebar.Geometry.js @@ -142,7 +142,6 @@ Sidebar.Geometry = function ( editor ) { } signals.objectSelected.add( build ); - signals.objectChanged.add( build ); return container; diff --git a/editor/js/Viewport.Info.js b/editor/js/Viewport.Info.js index 91eec1d9b56f0ad086bbb4f96ccb96831e182344..c06a318205dd7487fbb81ea99951fb3e026d3309 100644 --- a/editor/js/Viewport.Info.js +++ b/editor/js/Viewport.Info.js @@ -17,28 +17,12 @@ Viewport.Info = function ( editor ) { container.add( new UI.Text( 'vertices' ), verticesText, new UI.Break() ); container.add( new UI.Text( 'triangles' ), trianglesText, new UI.Break() ); - signals.sceneGraphChanged.add( function () { - - update(); - - } ); - - signals.objectChanged.add( function ( object ) { - - // TODO: geometryChanged - - if ( object !== editor.camera ) { - - update(); - - } - - } ); + signals.objectAdded.add( update ); + signals.objectRemoved.add( update ); + signals.geometryChanged.add( update ); // - - function update() { var scene = editor.scene; diff --git a/editor/js/Viewport.js b/editor/js/Viewport.js index fa87010ac651f7da02bd398a3c412fdfab0971b3..69ec7829e25a5193ce54ad6a6f262663262ca3ef 100644 --- a/editor/js/Viewport.js +++ b/editor/js/Viewport.js @@ -283,6 +283,8 @@ var Viewport = function ( editor ) { } ); + signals.geometryChanged.add( render ); + signals.objectAdded.add( function ( object ) { var materialsNeedUpdate = false;