 
   updateGeometries : ->
 
-    @edges.geometry.__vertexArray        = @edgesBuffer.getBuffer()
-    @edges.geometry.__webglLineCount     = @edgesBuffer.getLength() * 2
-
-    @edges.geometry.verticesNeedUpdate   = true
-
-    attributes = @nodes.geometry.attributes
-    for attr of attributes
-      a = attributes[attr]
-      a.array       = a._rBuffer.getBuffer()
-      a.numItems    = a._rBuffer.getBufferLength()
-      a.needsUpdate = a._rBuffer.getBufferLength()
+    for mesh in [ @edges, @nodes ]
+      for attr of mesh.geometry.attributes
+        a = mesh.geometry.attributes[attr]
+        a.array       = a._rBuffer.getBuffer()
+        a.numItems    = a._rBuffer.getBufferLength()
+        a.needsUpdate = a._rBuffer.getBufferLength()
 
 
   #### Color utility methods

  constructor : (treeId, treeColor, @model) ->
    # create cellTracing to show in TDView and pre-allocate buffers

    edgeGeometry = new THREE.Geometry()
    nodeGeometry = new THREE.BufferGeometry()

    nodeGeometry.addAttribute( 'position', Float32Array, 0, 3 )
    nodeGeometry.addAttribute( 'size', Float32Array, 0, 1 )
    nodeGeometry.addAttribute( 'color', Float32Array, 0, 3 )

    edgeGeometry.dynamic = true
    nodeGeometry.dynamic = true

    @edgesBuffer = edgeGeometry.attributes.position._rBuffer = new ResizableBuffer(6)
    @nodesBuffer = nodeGeometry.attributes.position._rBuffer = new ResizableBuffer(3)
    @sizesBuffer = nodeGeometry.attributes.size._rBuffer = new ResizableBuffer(1)
    @nodesColorBuffer = nodeGeometry.attributes.color._rBuffer = new ResizableBuffer(3)
