Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- group.append("path").style("fill", (d: ChordGroup) => color(d.index))
- .style("stroke", (d: ChordGroup) => d3.rgb(color(d.index)).darker())
- .attr("d", (x: ChordGroup) => arc(x))
- .attr("id",(d:ChordGroup) => "chordgroup" + d.index)
- .attr("color", (d: ChordGroup) => d3.rgb(color(d.index)))
- .attr("selected", "false")
- .on("click", (d:ChordGroup) => {
- val sel = d3selection.select("#chordgroup"+ d.index).attr("selected")
- if(sel == "false"){
- for(a <- 0 to matrix.length-1){
- val currentSel = d3selection.select("#chordgroup"+ a).attr("selected")
- if(currentSel == "true")
- {
- var newMatrix = new js.Array[js.Array[Double]](matrix.length-1)
- for(j <- 0 to newMatrix.length -1){
- newMatrix(j) = new js.Array[Double](matrix.length-1)
- }
- val newLine = new Array[Double](matrix.length)
- for(i <- 0 to matrix.length-1){
- newLine(i) = matrix(a)(i) + matrix(d.index)(i)
- }
- val newColumn = new Array[Double](matrix.length)
- var newIndex = 0
- var deletedIndex = 0
- if(d.index<a){
- newIndex = d.index
- deletedIndex = a
- }
- else{
- newIndex = a
- deletedIndex = d.index
- }
- println(matrix)
- for(i <- 0 to matrix.length-1){
- if(i == newIndex)
- {
- newColumn(i) = newLine(a) + newLine(d.index)
- }
- else if(i != deletedIndex)
- {
- newColumn(i) = matrix(i)(a) + matrix(i)(d.index)
- }
- }
- for(abs <- 0 to matrix.length-2){
- for(ord <- 0 to matrix.length -2){
- if(abs == newIndex){
- if(ord >= deletedIndex){
- newMatrix(abs)(ord)= newLine(ord+1)
- }
- else if(ord == newIndex) {
- newMatrix(abs)(ord) = newColumn(ord)
- }
- else{
- newMatrix(abs)(ord)= newLine(ord)
- }
- }
- else if(ord == newIndex){
- if(abs >= deletedIndex){
- newMatrix(abs)(ord) = newColumn(abs+1)
- }
- else{
- newMatrix(abs)(ord) = newColumn(abs)
- }
- }
- else{
- if(abs >= deletedIndex){
- newMatrix(abs)(ord) = matrix(abs+1)(ord+1)
- }
- else{
- newMatrix(abs)(ord) = matrix(abs)(ord)
- }
- }
- }
- }
- d3selection.select("g").remove()
- println(newMatrix)
- val newplot = new myDSLchordgroup(newMatrix, 0.05)
- newplot.defcolors(js.Array("#000888", "#FFD111", "#957222", "#FFFFFF"))
- newplot.printgraph()
- }
- }
- val mygroup = d3selection.select("#chordgroup"+ d.index)
- .attr("style", "fill : rgb(0,0,0)")
- .attr("selected", "true")
- }
- else if(sel == "true"){
- val color = d3selection.select("#chordgroup"+ d.index).attr("color")
- val mygroup = d3selection.select("#chordgroup"+ d.index)
- .attr("style", "fill : "+color)
- .attr("selected", "false")
- }
- val color = d3selection.select("#chordgroup"+ d.index).attr("color")
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement