Переглянути джерело

Merge branch 'master' of https://koljastrohm-games.com:3000/GraphDrawer/NodePlacementAnimation

Kolja Strohm 6 роки тому
батько
коміт
07e0430ead

+ 1 - 1
doc/chapter/2architecture.tex

@@ -6,7 +6,7 @@ The following assumptions are made for the implementation of the node placement
     \item There are no labels.
     \item There are no cross-hierarchy edges.
     \item No edges over multiple layers (the previous phases should have added dummy nodes).
-    \item Graphs are connected (maybe we will get rid of this assumption later, see~\ref{ch:progress}).
+    \item Graphs are connected (maybe we will get rid of this assumption later, see chapter~\ref{ch:progress}).
 \end{itemize}
 
 

+ 5 - 4
doc/chapter/3ui.tex

@@ -62,10 +62,10 @@ Figure~\ref{fig:originalpapergraph} compares our results to those of Brandes and
 \section{User interface}\label{sec:userInterface}
 Currently the two main ways to interact with the application are keyboard events and graphical button-clicking.
 The possible keyboard inputs are listed in table~\ref{table:keys}.
-These can also be used by clicking on one of the buttons displayed in figure~\ref{fig:sketch}.
+These can also be used by clicking on one of the buttons displayed in figures~\ref{fig:sketch} and~\ref{fig:full-application-example}.
 
 %\begin{table}[htp]
-    \begin{longtable}{|l|p{10cm}|}
+    \begin{longtable}{|l|p{12cm}|}
         \hline
         Key & Action \\\hline\hline
         Alt + Left arrow key & Perform one forward step of the algorithm, \enquote{step into}. \\\hline
@@ -80,8 +80,9 @@ These can also be used by clicking on one of the buttons displayed in figure~\re
         Alt + G & Generate a random graph (opens dialog window~\ref{fig:random-graph-dialog}). \\\hline
         Alt + S & Save the current graph to a file (opens a dialog window). \\\hline
         Alt + L & Load a graph from a file (opens a dialog window). \\\hline
-        Alt + D & Show a debug table (in a new window). \\\hline
-        \caption[Overview of the available keyboard commands]{Overview of the available keyboard commands. For the planned commands, see~\ref{ch:progress}.}
+        Alt + D & Show a debug table (opens window~\ref{fig:debug-table}). \\\hline
+        \caption[Overview of the available keyboard commands]{Overview of the available keyboard commands.
+        The lazy user might not want to learn these by rote but instead use the buttons displayed in figures~\ref{fig:sketch} and~\ref{fig:full-application-example}.}
         \label{table:keys}
     \end{longtable}
 %\end{table}

+ 1 - 1
doc/chapter/4progress.tex

@@ -24,7 +24,7 @@ The following features are either planned (\planned), under construction (\progr
         \item[\done] Drawing the edges just as plain straight lines.
         \item[\done] Drawing the conflicted edges in a different color.
         \item[\done] Drawing the four extremal layouts and the combined layout separately.
-        \item[\planned] Drawing the edges of the block graph (yet another, low priority).
+        \item[\planned] Drawing the edges of the block graph (yet another color, low priority).
         \item[\done] Showing pseudocode and the position where the algorithm currently is.
         \begin{itemize}
             \item[\done] Clicking on the pseudocode to set a breakpoint at (not \reserved{goto}) a specific location.

+ 1 - 0
doc/chapter/6contributors.tex

@@ -25,6 +25,7 @@
         Localization Producer & Eren Bora Yilmaz \\
         \rowcolor{gray!25}
         Manual Code Formatting & Kolja Samuel Strohm \\
+        Black-Box Testing & Eren Bora Yilmaz \\
         \\\\\rowcolor{gray!25}
 		Special Thanks & Jens Burmeister \\\\
 	\end{longtable}

+ 6 - 0
doc/chapter/appendix.tex

@@ -3,4 +3,10 @@
     \includegraphics{img/random-graph-dialog}
     \caption[Random graph dialog]{Dialog for generating random graphs.}
     \label{fig:random-graph-dialog}
+\end{figure}
+\begin{figure}[htp]
+    \centering
+    \includegraphics[width=\linewidth]{img/debug-table}
+    \caption[Debug Table]{An example for a debug table. The graph used is the same as in figure~\ref{fig:example}}
+    \label{fig:debug-table}
 \end{figure}

BIN
doc/img/debug-table.png


+ 5 - 5
src/bk/ExtremalLayoutCalc.java

@@ -81,7 +81,7 @@ public class ExtremalLayoutCalc implements AlgorithmStage {
         {
             LayoutState oldState = status;
             StageStatus stage = StageStatus.UNFINISHED;
-            while( status == oldState && stage != StageStatus.FINISHED )
+            while( status == oldState && stage == StageStatus.UNFINISHED )
                 stage = forwardStep();
             return stage;
         }
@@ -94,7 +94,7 @@ public class ExtremalLayoutCalc implements AlgorithmStage {
         if( !inside )
         {
             StageStatus status = StageStatus.UNFINISHED;
-            while( status != StageStatus.FINISHED )
+            while( status == StageStatus.UNFINISHED )
                 status = forwardStep();
             return status;
         }
@@ -108,7 +108,7 @@ public class ExtremalLayoutCalc implements AlgorithmStage {
         {
             LayoutState oldState = status;
             StageStatus stage = StageStatus.UNFINISHED;
-            while( status == oldState && stage != StageStatus.FINISHED )
+            while( status == oldState && stage == StageStatus.UNFINISHED )
                 stage = backwardStep();
             return stage;
         }
@@ -121,7 +121,7 @@ public class ExtremalLayoutCalc implements AlgorithmStage {
         if( !inside )
         {
             StageStatus status = StageStatus.UNFINISHED;
-            while( status != StageStatus.FINISHED )
+            while( status == StageStatus.UNFINISHED )
                 status = backwardStep();
             return status;
         }
@@ -155,7 +155,7 @@ public class ExtremalLayoutCalc implements AlgorithmStage {
             else if( status == LayoutState.COMPACTION )
             {
             	if( !cpNode.isSelected() )
-                breakpoint |= !cpNode.setSelected( true );
+            	    breakpoint |= !cpNode.setSelected( true );
                 switch( (StageStatus)(Compaction.class.getMethod( fName ).invoke( cp ) ) )
                 {
                 case FINISHED: