code: function(prop) {
      prop = prop || "current";
      var root = this.graph.getNode(this.clickedNode && this.clickedNode.id || this.root);
      this.controller.onBeforeCompute(root);
      var config = this.config,
          size = this.canvas.getSize(),
          width = size.width,
          height = size.height,
          offst = config.offset,
          offwdth = width - offst,
          offhght = height - offst;
      this.graph.computeLevels(this.root, 0, "ignore");
      //set root position and dimensions
      root.getPos(prop).setc(-width/2, -height/2);
      root.setData('width', width, prop);
      root.setData('height', height, prop);
      //create a coordinates object
      var coord = {
          'top': -height/2 + config.titleHeight,
          'left': -width/2,
          'width': offwdth,
          'height': offhght - config.titleHeight
      };
      this.computePositions(root, coord, prop);
      this.controller.onAfterCompute(root);
   }
docs: /*
  Method: compute
  
  Called by loadJSON to calculate recursively all node positions and lay out the tree.
  
  Parameters:
  
  json - A JSON tree. See also <Loader.loadJSON>.
  coord - A coordinates object specifying width, height, left and top style properties.