diff --git a/js/models/ThreeModel.js b/js/models/ThreeModel.js index ee30034f6794856e7858d956a30ed1b1eb0aaf98..39768f44fac7ba222db5a3dae0cdde1bb9d7e281 100644 --- a/js/models/ThreeModel.js +++ b/js/models/ThreeModel.js @@ -66,10 +66,7 @@ function ThreeModel(){ function sceneRemove(object, type){ - var objectToRemove = object; - if (object.parent && object.parent.type != "Scene") { - objectToRemove = object.parent; - } + var objectToRemove = getParentObject(object); if (type == "cell"){ cells.splice(cells.indexOf(objectToRemove.children[0]), 1); @@ -85,18 +82,28 @@ function ThreeModel(){ function removeAllCells(){ _.each(cells, function(cell){ - sceneRemove(cell, "cell"); + var objectToRemove = getParentObject(cell); + scene.remove(objectToRemove); }); _.each(parts, function(part){ - sceneRemove(part, "part"); + scene.remove(part); }); _.each(invCells, function(cell){ - sceneRemove(cell, "inverseCell"); + scene.remove(cell); }); cells.splice(0, cells.length); + invCells.splice(0, invCells.length); parts.splice(0, parts.length); } + function getParentObject(object){ + var objectToRemove = object; + if (object.parent && object.parent.type != "Scene") { + objectToRemove = object.parent; + } + return objectToRemove; + } + function render(){ renderer.render(scene, camera); }