function renderArc(config,first_time){ if(first_time){ var svg = d3.select(config.dom_element).append("svg") .style("width", config.width + config.margin.left + config.margin.right) .style("height", config.height + config.margin.top + config.margin.bottom); var arc = d3.svg.arc() .innerRadius(config.inner_radius) .outerRadius(config.outer_radius) .startAngle(toRadians(config.start_angle)) .endAngle(toRadians(config.end_angle)); svg.append("path") .attr("transform","translate(" + config.x+ "," + config.y+ ")") .attr("class", "arc") .attr("d", arc) .style("fill",config.fill_color) .style("stroke",config.stroke_color) .style("stroke-width",config.stroke_width) $("#x").val(config.x); $("#y").val(config.y); $("#startAngle").val(config.start_angle); $("#endAngle").val(config.end_angle); $("#innerRadius").val(config.inner_radius); $("#outerRadius").val(config.outer_radius); $("#width").val(config.width); $("#height").val(config.height); $("#fillColor").val(config.fill_color); $("#strokeColor").val(config.stroke_color); $("#strokeWidth").val(config.stroke_width); }else{ var dom_element = d3.select("svg") .style("width", config.width + config.margin.left + config.margin.right) .style("height", config.height + config.margin.top + config.margin.bottom); var arc = d3.svg.arc() .innerRadius(config.inner_radius) .outerRadius(config.outer_radius) .startAngle(toRadians(config.start_angle)) .endAngle(toRadians(config.end_angle)); dom_element.select(".arc") .attr("transform","translate(" + config.x+ "," + config.y+ ")") .attr("d", arc) .style("fill",config.fill_color) .style("stroke",config.stroke_color) .style("stroke-width",config.stroke_width) } } function toRadians(degs){ return Math.PI*degs/180; }