           if neighbor.id < node.id
             @edgesBuffer[index].push(neighbor.pos.concat(node.pos))
 
-
-      @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
-    # for branchPoint in @route.branchStack
-    #   @setBranchPoint(true, branchPoint.id)
+    @updateGeometries()
     @updateBranches()
 
     @setActiveNode()

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

    @nodesBuffer[index].push(position)
    @nodes[index].geometry.nodeIDs.push([id])

    @updateGeometries()

    # Animation to center waypoint position
    if centered
