     @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

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

    @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

    @flycam.hasChanged = true


      @edgesBuffer[index].getAllElements()[edgesIndex * 6 + i] = lastEdge[i]

    
    updateGeometries()

    @setActiveNode()
    @flycam.hasChanged = true
