Advertisement
Guest User

Untitled

a guest
May 12th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 3.88 KB | None | 0 0
  1. group.append("path").style("fill", (d: ChordGroup) => color(d.index))
  2.       .style("stroke", (d: ChordGroup) => d3.rgb(color(d.index)).darker())
  3.       .attr("d", (x: ChordGroup) => arc(x))
  4.       .attr("id",(d:ChordGroup) => "chordgroup" + d.index)
  5.       .attr("color", (d: ChordGroup) => d3.rgb(color(d.index)))
  6.       .attr("selected", "false")
  7.       .on("click", (d:ChordGroup) => {
  8.         val sel = d3selection.select("#chordgroup"+ d.index).attr("selected")
  9.         if(sel == "false"){
  10.           for(a <- 0 to matrix.length-1){
  11.             val currentSel = d3selection.select("#chordgroup"+ a).attr("selected")
  12.             if(currentSel == "true")
  13.               {
  14.                 var newMatrix = new js.Array[js.Array[Double]](matrix.length-1)
  15.                 for(j <- 0 to newMatrix.length -1){
  16.                   newMatrix(j) = new js.Array[Double](matrix.length-1)
  17.                 }
  18.                 val newLine = new Array[Double](matrix.length)
  19.                 for(i <- 0 to matrix.length-1){
  20.                   newLine(i) = matrix(a)(i) + matrix(d.index)(i)
  21.                 }
  22.                 val newColumn = new Array[Double](matrix.length)
  23.                 var newIndex = 0
  24.                 var deletedIndex = 0
  25.                 if(d.index<a){
  26.                   newIndex = d.index
  27.                   deletedIndex = a
  28.                 }
  29.                 else{
  30.                   newIndex = a
  31.                   deletedIndex = d.index
  32.                 }
  33.  
  34.                 println(matrix)
  35.  
  36.                 for(i <- 0 to matrix.length-1){
  37.                   if(i == newIndex)
  38.                   {
  39.                     newColumn(i) = newLine(a) + newLine(d.index)
  40.                   }
  41.                   else if(i != deletedIndex)
  42.                   {
  43.                     newColumn(i) = matrix(i)(a) + matrix(i)(d.index)
  44.                   }
  45.  
  46.                 }
  47.                 for(abs <- 0 to matrix.length-2){
  48.                   for(ord <- 0 to matrix.length -2){
  49.                     if(abs == newIndex){
  50.                       if(ord >= deletedIndex){
  51.                         newMatrix(abs)(ord)= newLine(ord+1)
  52.                       }
  53.                       else if(ord == newIndex) {
  54.                         newMatrix(abs)(ord) = newColumn(ord)
  55.                       }
  56.                       else{
  57.                         newMatrix(abs)(ord)= newLine(ord)
  58.                       }
  59.  
  60.                     }
  61.                     else if(ord == newIndex){
  62.                       if(abs >= deletedIndex){
  63.                         newMatrix(abs)(ord) = newColumn(abs+1)
  64.                       }
  65.                       else{
  66.                         newMatrix(abs)(ord) = newColumn(abs)
  67.                       }
  68.                     }
  69.                     else{
  70.                       if(abs >= deletedIndex){
  71.                         newMatrix(abs)(ord) = matrix(abs+1)(ord+1)
  72.                       }
  73.                       else{
  74.                         newMatrix(abs)(ord) = matrix(abs)(ord)
  75.                       }
  76.                     }
  77.                   }
  78.                 }
  79.                 d3selection.select("g").remove()
  80.                 println(newMatrix)
  81.                 val newplot = new myDSLchordgroup(newMatrix, 0.05)
  82.                 newplot.defcolors(js.Array("#000888", "#FFD111", "#957222", "#FFFFFF"))
  83.  
  84.                 newplot.printgraph()
  85.               }
  86.  
  87.           }
  88.           val mygroup = d3selection.select("#chordgroup"+ d.index)
  89.             .attr("style", "fill : rgb(0,0,0)")
  90.             .attr("selected", "true")
  91.         }
  92.         else if(sel == "true"){
  93.           val color = d3selection.select("#chordgroup"+ d.index).attr("color")
  94.  
  95.           val mygroup = d3selection.select("#chordgroup"+ d.index)
  96.             .attr("style", "fill : "+color)
  97.             .attr("selected", "false")
  98.         }
  99.         val color = d3selection.select("#chordgroup"+ d.index).attr("color")
  100.       })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement