Renderer.prototype.generatePath = function()

in src/core/renderer.js [140:168]


Renderer.prototype.generatePath = function(node){
  var options = this.options;
  var direction = options.direction;

  var waypoints = this.getWaypoints(node, direction);

  var steps = [moveTo(waypoints[0][0])];

  if(direction==='left' || direction==='right'){
    waypoints.reduce(function(prev, current, level){
      steps.push(hCurveBetween(prev[prev.length-1], current[0]));
      if(level < waypoints.length-1){
        steps.push(lineTo(current[1]));
      }
      return current;
    });
  }
  else{
    waypoints.reduce(function(prev, current, level){
      steps.push(vCurveBetween(prev[prev.length-1], current[0]));
      if(level < waypoints.length-1){
        steps.push(lineTo(current[1]));
      }
      return current;
    });
  }

  return steps.join(' ');
};