|
@@ -6,19 +6,25 @@ 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 chapter~\ref{ch:progress}).
|
|
|
+ \item Graphs are connected (see below).
|
|
|
\end{itemize}
|
|
|
|
|
|
+Regarding the last assumption, we found an example where for a disconnected graph the algorithm behaved incorrectly.
|
|
|
+Maybe we will get rid of this assumption later, see chapter~\ref{ch:progress}.
|
|
|
+We are currently investigating another example, where the algorithm behaves incorrectly for a connected graph.
|
|
|
+These two examples are included in the appendix (figures~\ref{fig:error_disconnected_img},~\ref{fig:error_connected_img},~\ref{fig:error_disconnected}, and~\ref{fig:error_connected},).
|
|
|
+
|
|
|
|
|
|
\section{Overview}\label{sec:components}
|
|
|
The \code{main} package contains an executable class \code{Main}.
|
|
|
This classes main method reads a graph from a file using the \code{graph.io} package and then creates a MainView.
|
|
|
+It is also possible to create a MainView directly from an \code{ElkNode}.
|
|
|
The view then instantiates a \code{BKNodePlacement} algorithm and runs it.
|
|
|
The \code{BKNodePlacement} repeatedly asks the \code{AnimationController} if a step should be done (this is further explained in section~\ref{sec:theActualAlgorithm}).
|
|
|
It uses \code{LayeredGraphNode}s and \code{LayeredGraphEdge}s.
|
|
|
Meanwhile the view displays the same \code{LayeredGraphNode}s and \code{LayeredGraphEdge}s on the screen.
|
|
|
|
|
|
-Figure~\ref{fig:components} contains a component diagram that illustrates these dependencies of the packages.
|
|
|
+Figure~\ref{fig:components} contains a component diagram that illustrates these dependencies of the different packages.
|
|
|
|
|
|
\begin{figure}[htp]
|
|
|
\centering
|
|
@@ -95,7 +101,7 @@ The internal representation of graphs is further explained in the section~\ref{s
|
|
|
\begin{figure}
|
|
|
\begin{lstinputlisting}[language=json,emph={}]{src/graph.json}
|
|
|
\end{lstinputlisting}
|
|
|
- \caption[Example Input File]{Example Input file that is understood by \appname.}
|
|
|
+ \caption[Example input file]{Example input file that is understood by \appname.}
|
|
|
\label{fig:json-example}
|
|
|
\end{figure}
|
|
|
|