Quellcode durchsuchen

rekursiver aufruf des algorithmusses für subgrafen berichtigt

Kolja Strohm vor 6 Jahren
Ursprung
Commit
1202fd8119
2 geänderte Dateien mit 10 neuen und 10 gelöschten Zeilen
  1. 3 3
      src/Algorithms/Animated/BK/BlockCalc.java
  2. 7 7
      src/Main.java

+ 3 - 3
src/Algorithms/Animated/BK/BlockCalc.java

@@ -20,7 +20,7 @@ public class BlockCalc implements AlgorithmStage {
 	private int nodeIndex;
 	private int r;
 	private LayeredGraphNode graph;
-	private ArrayList< ArrayList< BKNodePlacement > > subgraphAlgs;
+	private ArrayList< ArrayList< ExtremalLayoutCalc > > subgraphAlgs;
 	private ArrayList< BackwardAction > backwards;
 	private LayoutType layout;
 	int step;
@@ -36,7 +36,7 @@ public class BlockCalc implements AlgorithmStage {
 		subgraphAlgs = new ArrayList<>();
 		for( ArrayList<LayeredGraphNode> l : graph.getContainedLayers() )
 		{
-			ArrayList< BKNodePlacement > algs = new ArrayList<>();
+			ArrayList< ExtremalLayoutCalc > algs = new ArrayList<>();
 			for( int i = 0; i < l.size(); i++ )
 				algs.add( null );
 			subgraphAlgs.add( algs );
@@ -78,7 +78,7 @@ public class BlockCalc implements AlgorithmStage {
 		if( current.getContainedNodes().size() > 0 )
 		{
 			if( subgraphAlgs.get( calcLayerIndex() ).get( calcNodeIndex( nodeIndex ) ) == null )
-				subgraphAlgs.get( calcLayerIndex() ).set( calcNodeIndex( nodeIndex ), new BKNodePlacement( null, current ) );
+				subgraphAlgs.get( calcLayerIndex() ).set( calcNodeIndex( nodeIndex ), new ExtremalLayoutCalc( layout, current ) );
 			if( subgraphAlgs.get( calcLayerIndex() ).get( calcNodeIndex( nodeIndex ) ).forwardStep() == StageStatus.UNFINISHED )
 				return StageStatus.UNFINISHED;
 		}

+ 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.graph" );
-		LayeredGraphNode graph = r.readInputGraph();
-	    //RandomGraphGenerator r = new RandomGraphGenerator( 0.1, 0.2, 5,5, 5, 5, 1 );
-	    //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( 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 );
 		InitializeNodePositions.placeNodes( graph );
 		new MainView( graph );
 	}