       @edgesBuffer[index].getAllElements()[edgesIndex * 6 + i] = lastEdge[i]
 
     
-    @edges[index].geometry.__vertexArray = @edgesBuffer[index].getBuffer()
-    @edges[index].geometry.__webglLineCount = @edgesBuffer[index].getLength() * 2
-    @nodes[index].geometry.__vertexArray = @nodesBuffer[index].getBuffer()
-    @nodes[index].geometry.__webglParticleCount =  @nodesBuffer[index].getLength()
-
-    @edges[index].geometry.verticesNeedUpdate = true
-    @nodes[index].geometry.verticesNeedUpdate = true
+    updateGeometries()
 
     @setActiveNode()
     @flycam.hasChanged = true

    @branches.material.needsUpdate = true
    @activeNodeParticle.material.sizeAttenuation = sizeAttenuation
    @activeNodeParticle.material.needsUpdate = true

          if neighbor.id < node.id
            @edgesBuffer[index].push(neighbor.pos.concat(node.pos))

    @updateGeometries()
    @updateBranches()

    @setActiveNode()
