rem: /* dojo.charting.PlotArea */plotarea, /* dojo.charting.Plot */plot, /* object? */kwArgs, /* function? */applyTo ){    var tension = 3; var area = plotarea.getArea(); var group = document.createElementNS(dojo.svg.xmlns.svg, "g"); 
add: /* dojo.charting.PlotArea */plotarea, /* dojo.charting.Plot */plot, /* object? */kwArgs, /* function? */applyTo ){    var tension = 3; var area = plotarea.getArea(); var group = document.createElementNS(dojo.svg.xmlns.svg, "g"); 
context: 	StackedCurvedArea: function(		/* dojo.charting.PlotArea */plotarea,		/* dojo.charting.Plot */plot,		/* object? */kwArgs,		/* function? */applyTo	){		//	summary		//	Plots a set of stacked areas, using a tensioning factor to soften points.		//	Bindings: x/y		var tension = 3;		var area = plotarea.getArea();		var group = document.createElementNS(dojo.svg.xmlns.svg, "g");		//	precompile the data		var n = plot.series.length;	//	how many series		var data = [];		var totals = [];		//	we're assuming that all series for this plot has the name x assignment for now.		for(var i=0; i<n; i++){			var tmp = plot.series[i].data.evaluate(kwArgs);			//	run through and add current totals			for(var j=0; j<tmp.length; j++){				if(i==0){ totals.push(tmp[j].y); }				else { totals[j] += tmp[j].y; }				tmp[j].y = totals[j];			}			data.push(tmp);		}		for(var i=n-1; i>=0; i--){			var path = document.createElementNS(dojo.svg.xmlns.svg, "path");			path.setAttribute("fill", data[i][0].series.color);			path.setAttribute("fill-opacity", "0.4");			path.setAttribute("stroke", data[i][0].series.color);			path.setAttribute("stroke-width" , "1");			path.setAttribute("stroke-opacity", "0.85");			var cmd = [];			var r=3;			for(var j=0; j<data[i].length; j++){				var values = data[i];				var x = plot.axisX.getCoord(values[j].x, plotarea, plot);				var y = plot.axisY.getCoord(values[j].y, plotarea, plot);				var dx = area.left + 1;				var dy = area.bottom;				if(j>0){					dx = x - plot.axisX.getCoord(values[j-1].x, plotarea, plot);					dy = plot.axisY.getCoord(values[j-1].y, plotarea, plot);				}				if(j==0){ cmd.push("M"); }				else {					cmd.push("C");					var cx = x-(tension-1) * (dx/tension);					cmd.push(cx + "," + dy);					cx = x - (dx/tension);					cmd.push(cx + "," + y);				}				cmd.push(x+","+y);								//	points on the line				var c=document.createElementNS(dojo.svg.xmlns.svg, "circle");				c.setAttribute("cx",x);				c.setAttribute("cy",y);				c.setAttribute("r","3");				c.setAttribute("fill", values[j].series.color);				c.setAttribute("fill-opacity", "0.6");				c.setAttribute("stroke-width", "1");				c.setAttribute("stroke-opacity", "0.85");				group.appendChild(c);				if(applyTo){ applyTo(c, data[i].src); }			}			//	now run the path backwards from the previous series.			if(i == 0){				cmd.push("L");				cmd.push(x + "," + plot.axisY.getCoord(plot.axisX.origin, plotarea, plot));				cmd.push("L");				cmd.push(plot.axisX.getCoord(data[0][0].x, plotarea, plot) + "," +  plot.axisY.getCoord(plot.axisX.origin, plotarea, plot));				cmd.push("Z");			} else {				var values = data[i-1];				cmd.push("L");				cmd.push(x + "," + Math.round(plot.axisY.getCoord(values[values.length-1].y, plotarea, plot)));				for(var j=values.length-2; j>=0; j--){					var x = plot.axisX.getCoord(values[j].x, plotarea, plot);					var y = plot.axisY.getCoord(values[j].y, plotarea, plot);					var dx = x - plot.axisX.getCoord(values[j+1].x, plotarea, plot);					var dy = plot.axisY.getCoord(values[j+1].y, plotarea, plot);					cmd.push("C");					var cx = x-(tension-1) * (dx/tension);					cmd.push(cx + "," + dy);					cx = x - (dx/tension);					cmd.push(cx + "," + y);					cmd.push(x+","+y);				}			}			path.setAttribute("d", cmd.join(" ")+ " Z");			group.appendChild(path);		}		return group;	//	SVGGElement	},
meta: 4707	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/4707/50c3492c4c3c825dbd3401e134a19ed46799c456/Plotters.js/buggy/www/resources/dojo-ajax/src/charting/svg/Plotters.js