title: get back to normal after the traverse in threejs
body: <p>in threejs am working around with the traverse method to apply the WireframeHelper for the models that is loaded using OBJMTLLoder, for this kind of models we must use traverse to apply the Wireframe for child of the Object, so here i can apply the wireframes and so on using traverse but after the traverse i can't get back to my normal object meaning that i can't remove the wireframes with the traversed mesh, the mesh is added with the scene with <code>scene.add( wfh );</code> where wfh is <code>WireframeHelper</code> , but if i use <code>scene.remove( wfh );</code> to remove the meshed WireframeHelper it doesn't work</p>
  
  <p>i need to know that after the traverse we can get back to normal ?? in most cases am using traverse to make changes on my model:</p>
  
  <p>Here is the code:</p>
  
  <pre><code>scene.traverse ( function (child)
  {
      if (child instanceof THREE.Mesh)
      {
          wfh = new THREE.WireframeHelper( child, 0xffffff );
          scene.add( wfh );  
      }
  });
  </code></pre>
  
  <p>updated code:</p>
  
  <pre><code>globalObject.traverse ( function (child) {
      if (child instanceof THREE.Mesh)
          {
          wfh = new THREE.WireframeHelper( child,whfcolor );
          wfh.name = "wireframe_helper";
  
          wfh.material.opacity = 0.2;
          wfh.material.transparent = true;
          globalObject.add( wfh );
  
          }
  
       });
  </code></pre>
  
  <p>here <code>globalObject</code> is global variable assigned to <code>Object</code> now i can see the <code>wireframe_helper</code> on the child of the Object and can remove the wireframe by following code</p>
  
  <pre><code>globalObject.traverse( function ( child ) {
  
    if (child instanceof THREE.Object3D)
    {
        //alert(child.name);
        if ( child.name &amp;&amp; child.name === "wireframe_helper" &amp;&amp; child.material ) {
  
            //alert('hi');male-02-1noCullingID_male-02-1noCulling.JP
  
                globalObject.remove( child );
  
                 //child.material.wireframe = true;
  
            }
    }
  });  
  </code></pre>
  
  <p>after removed the wireframe still wireframe is remains some part of the Object any clue on this ?? and am getting </p>
  
  <pre><code>TypeError: this.children[i] is undefined
  this.children[ i ].traverse( callback );
  </code></pre>
  
  <p>on line three.js 7885</p>