code: function(gridWidth, gridHeight, padding) {
  
  	gridWidth = gridWidth || 1;
  	gridHeight = gridHeight || 1;
          padding = padding || 0;
  
  	// Calculate the paper size to accomodate all the graph's elements.
  	var bbox = V(this.viewport).bbox(true, this.svg);
  
  	var calcWidth = Math.ceil((bbox.width + bbox.x) / gridWidth) * gridWidth;
  	var calcHeight = Math.ceil((bbox.height + bbox.y) / gridHeight) * gridHeight;
  
          calcWidth += padding;
          calcHeight += padding;
          
  	// Change the dimensions only if there is a size discrepency
  	if (calcWidth != this.options.width || calcHeight != this.options.height) {
  	    this.setDimensions(calcWidth || this.options.width , calcHeight || this.options.height);
  	}
      }
docs: Expand/shrink the paper to fit the content. Snap the width/height to the grid defined in `gridWidth`, `gridHeight`. `padding` adds to the resulting width/height of the paper.