|
@@ -25,7 +25,7 @@ The structure is as follows:
|
|
|
\end{itemize}
|
|
|
For parsing the JSON file the JSON-java library~\cite{leary_json-java:_2018} is used.
|
|
|
The classes for reading and writing those JSON files are displayed in figure~\ref{fig:io}.
|
|
|
-The internal representation of graphs is further explained in the section~\ref{sec:model}.
|
|
|
+The internal representation of graphs is further explained in the section~\ref{sec:graph}.
|
|
|
|
|
|
\centering
|
|
|
\begin{longtable}{|l|l|l|p{8.5cm}|}
|
|
@@ -83,7 +83,7 @@ The internal representation of graphs is further explained in the section~\ref{s
|
|
|
\label{fig:json-example}
|
|
|
\end{figure}
|
|
|
|
|
|
-\section{Internal graph representation, \enquote{graph}}\label{sec:model}
|
|
|
+\section{Internal graph representation, \enquote{graph}}\label{sec:graph}
|
|
|
One feature that is important to us, is to be able to work with hierarchical graphs (cf.\ chapter~\ref{ch:progress}).
|
|
|
Therefore a node not only has edges to other nodes, but also it can contain other nodes and edges.
|
|
|
So far this is similar to what we described in section~\ref{sec:inputFileFormat}.
|
|
@@ -102,13 +102,13 @@ Similarly, edges have additional attributes:
|
|
|
\item \enquote{bindPoints} is a list of bend points for the edge, including the beginning and end point of the edge.
|
|
|
\end{itemize}
|
|
|
|
|
|
-A class diagram of the package \enquote{graph} is displayed in figure~\ref{fig:model}.
|
|
|
+A class diagram of the package \enquote{graph} is displayed in figure~\ref{fig:graph}.
|
|
|
|
|
|
\begin{figure}[htp]
|
|
|
\centering
|
|
|
- \includegraphics[width=\linewidth,trim=0 6cm 0 0,clip]{img/model.pdf}
|
|
|
+ \includegraphics[width=\linewidth,trim=0 7.5cm 0 0,clip]{img/graph.pdf}
|
|
|
\caption{Class diagram of the \enquote{graph} package.}
|
|
|
- \label{fig:model}
|
|
|
+ \label{fig:graph}
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
@@ -135,7 +135,7 @@ We recommend section 3.2.1 of Carstens~\cite{carstens_node_2012} for a detailed
|
|
|
A \enquote{stage} of the algorithm, interface \enquote{AlgorithmStage}, is an interval during which each step of the algorithm is performed in a similar way.
|
|
|
Each time such a step is performed it returns whether the stage is already finished.
|
|
|
For example, a forward step in the stage of calculating one extremal layout, class \enquote{ExtremalLayoutCalc}, consists of either a step of calculating the blocks, class \enquote{BlockCalc}, or a step of compacting the layout, class \enquote{Compaction}.
|
|
|
-All the stages are displayed in class diagram~\ref{fig:animated}.
|
|
|
+All the stages are displayed in class diagram~\ref{fig:animation_and_bk}.
|
|
|
|
|
|
To be able to undo a step each stage needs to implement methods for both forward and backward steps.
|
|
|
|
|
@@ -151,12 +151,11 @@ This works the following:
|
|
|
\item The algorithm potentially calls the step function of other alogrithms while executing one step.
|
|
|
\end{enumerate}
|
|
|
|
|
|
-\TODO{outdated}
|
|
|
\begin{figure}[htp]
|
|
|
\centering
|
|
|
- \includegraphics[width=\linewidth,trim=0 9cm 0 0,clip]{img/algorithms_animated.pdf}
|
|
|
- \caption{Class diagram of the package \enquote{algorithms.animated}.}
|
|
|
- \label{fig:animated}
|
|
|
+ \includegraphics[width=\linewidth,trim=0 13cm 0 0,clip]{img/animation_and_bk.pdf}
|
|
|
+ \caption{Class diagram of the packages \enquote{bk} and\enquote{animation}.}
|
|
|
+ \label{fig:animation_and_bk}
|
|
|
\end{figure}
|
|
|
|
|
|
\section{View}\label{sec:view}
|
|
@@ -169,4 +168,12 @@ The distinguish two kinds of views:
|
|
|
For this we use a JFrame from the Swing library.
|
|
|
\item \enquote{EdgeView} and \enquote{NodeView} are JPanels, which means they can be drawn onto the JFrame.
|
|
|
For this they have to know about which part of the graph and which layout they belong to.
|
|
|
-\end{itemize}
|
|
|
+\end{itemize}
|
|
|
+A class diagram of the packages \enquote{view} and \enquote{main} is displayed in figure~\ref{fig:view}.
|
|
|
+
|
|
|
+\begin{figure}[htp]
|
|
|
+ \centering
|
|
|
+ \includegraphics[width=\linewidth,trim=0 11cm 0 0,clip]{img/view.pdf}
|
|
|
+ \caption{Class diagram of the packages \enquote{view} and \enquote{main}.}
|
|
|
+ \label{fig:view}
|
|
|
+\end{figure}
|