     @nodesBuffer[index].push(position)
     @nodes[index].geometry.nodeIDs.push([id])
 
-    @nodes[index].geometry.__vertexArray = @nodesBuffer[index].getBuffer()
-    @nodes[index].geometry.__webglParticleCount = @nodesBuffer[index].getLength()
-    @edges[index].geometry.__vertexArray = @edgesBuffer[index].getBuffer()
-    @edges[index].geometry.__webglLineCount = @edgesBuffer[index].getLength() * 2
-
-    @edges[index].geometry.verticesNeedUpdate = true
-    @nodes[index].geometry.verticesNeedUpdate = true
+    @updateGeometries()
 
     # Animation to center waypoint position
     if centered

          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)
    @updateBranches()

    @setActiveNode()

      @edgesBuffer[index].push( activeNode.pos.concat(lastNode.pos) )
    @edgesBuffer[index].pushSubarray(@edgesBuffer[lastIndex].getAllElements())

    @updateGeometries()

    @flycam.hasChanged = true

