瀏覽代碼

Merge remote-tracking branch 'origin/master'

Eren Yilmaz 6 年之前
父節點
當前提交
3d08d1753f
共有 3 個文件被更改,包括 11 次插入10 次删除
  1. 二進制
      doc/img/logo.jpg
  2. 7 7
      src/Main.java
  3. 4 3
      src/View/NodeView.java

二進制
doc/img/logo.jpg


+ 7 - 7
src/Main.java

@@ -13,13 +13,13 @@ import View.MainView;
 public class Main {
 
 	public static void main(String[] args) {
-		Reader r = new Reader( "save_err1.json" );
-		LayeredGraphNode graph = r.readInputGraph();
-	    //RandomGraphGenerator r = new RandomGraphGenerator( 0.1, 0.2, 5,5, 5, 5, 2 );
-	    //LayeredGraphNode graph = r.createRandomNode( null, 0 );
-	    //SweepCrossingMinimizer cminzer = new SweepCrossingMinimizer();
-	    //for( int i = 0; i < 10; i++ )
-	    //	cminzer.minimizeCrossings( graph );
+		//Reader r = new Reader( "save.graph" );
+		//LayeredGraphNode graph = r.readInputGraph();
+	    RandomGraphGenerator r = new RandomGraphGenerator( 1, 0.5, 2, 2, 2, 2, 3 );
+	    LayeredGraphNode graph = r.createRandomNode( null, 0 );
+	    SweepCrossingMinimizer cminzer = new SweepCrossingMinimizer();
+	    for( int i = 0; i < 10; i++ )
+	    	cminzer.minimizeCrossings( graph );
 		InitializeNodePositions.placeNodes( graph );
 		new MainView( graph );
 	}

+ 4 - 3
src/View/NodeView.java

@@ -84,12 +84,13 @@ public class NodeView extends JPanel {
 			g.fillRect( 0, 0, (int)model.getWidth( layout )-1, (int)model.getHeight( layout )-1 );
 		}
 		Border linebor = BorderFactory.createLineBorder(model.getColor( layout ), 5);
-		if( model.getRoot( layout ) != model )
+		if( model.getRoot( layout ) != model || model.getContainedNodes().size() != 0  )
 			linebor.paintBorder( this, g2, 0, 0, (int)model.getWidth( layout )-1, (int)model.getHeight( layout )-1 );
-		if( model.getRoot( layout ).getSink( layout ).getColor( layout ) != model.getColor( layout ) )
+		if( model.getRoot( layout ).getSink( layout ).getColor( layout ) != model.getColor( layout ))
 		{
     		g.setColor( model.getRoot( layout ).getSink( layout ).getColor( layout ) );
-    		g.fillOval( (int)model.getWidth( layout ) / 2 - (int)model.getWidth( layout ) / 3, (int)model.getHeight( layout ) / 2 - (int)model.getHeight( layout ) / 3, (int)model.getWidth( layout ) / 3 * 2, (int)model.getHeight( layout ) / 3 * 2 );
+    		if( model.getContainedNodes().size() == 0 )
+    		    g.fillOval( (int)model.getWidth( layout ) / 2 - (int)model.getWidth( layout ) / 3, (int)model.getHeight( layout ) / 2 - (int)model.getHeight( layout ) / 3, (int)model.getWidth( layout ) / 3 * 2, (int)model.getHeight( layout ) / 3 * 2 );
 		}
 	}
 }