diff --git a/d3/plugins/d3.superformula-tests.ts b/d3/plugins/d3.superformula-tests.ts new file mode 100644 index 0000000000..3e7dd4d58e --- /dev/null +++ b/d3/plugins/d3.superformula-tests.ts @@ -0,0 +1,40 @@ +/// +/// + +function superformula() { + var size = 1000; + + var x = d3.scale.ordinal() + .domain(d3.superformulaTypes) + .rangePoints([0, 960], 1); + + var svg = d3.select("body").append("svg") + .attr("width", 960) + .attr("height", 500); + + var small = d3.superformula() + .type(function (d) { return d; } ) + .size(size); + + var big = d3.superformula() + .type("square") + .size(size * 50) + .segments(360); + + svg.selectAll("a") + .data(d3.superformulaTypes) + .enter().append("a") + .attr("xlink:title", String) + .attr("transform", function (d, i) { return "translate(" + x(d) + ",40)"; } ) + .append("path") + .attr("class", "small") + .attr("d", small) + .on("mousedown", function () { d3.select(this).style("fill", "aliceblue"); } ) + .on("mouseup", function () { d3.select(this).style("fill", null); } ) + .on("click", function (d) { d3.select(".big").transition().duration(500).attr("d", big.type(d)); } ); + + svg.append("path") + .attr("class", "big") + .attr("transform", "translate(450,250)") + .attr("d", big); +} \ No newline at end of file diff --git a/d3/plugins/d3.superformula.d.ts b/d3/plugins/d3.superformula.d.ts new file mode 100644 index 0000000000..ce649446bf --- /dev/null +++ b/d3/plugins/d3.superformula.d.ts @@ -0,0 +1,38 @@ +/// + + +declare module D3 { + interface SuperformulaPath + { + superformulaPath(params: number[], n: number, diameter: number): Superformula; + } + + + interface SuperformulaType + { + (any): any;//hans + m: number; + n1: number; + n2: number; + n3: number; + a: number; + b: number; + } + + interface Superformula + { + (): any; + type(any): any; + param(name: string, value: number): Superformula; + size(x: number): Superformula; + segments(x: number): Superformula; + } + + + interface Base extends Selectors + { + superformula: Superformula; + superformulaPath: SuperformulaPath; + superformulaTypes: SuperformulaType[]; + } +} \ No newline at end of file diff --git a/d3/plugins/superformula.ts b/d3/plugins/superformula.ts deleted file mode 100644 index bb1703c14f..0000000000 --- a/d3/plugins/superformula.ts +++ /dev/null @@ -1,39 +0,0 @@ - -interface ID3superformulaPath -{ - superformulaPath(params: number[], n: number, diameter: number): ID3superformula; -} - - -interface ID3superformulaType -{ - (any): any;//hans - m: number; - n1: number; - n2: number; - n3: number; - a: number; - b: number; -} - -interface ID3superformula -{ - (): any; - type(any): any; - param(name: string, value: number): ID3superformula; - size(x: number): ID3superformula; - segments(x: number): ID3superformula; -} -interface ID3Selectors -{ - -} - - -interface ID3Base extends ID3Selectors -{ - keys: ID3superformulaType[]; - superformula: ID3superformula; - superformulaPath: ID3superformulaPath; - superformulaTypes: ID3superformulaType[]; -}