The code.ill.fr has been recreated and upgraded with the latest version this weekend, If you encounter any problem please inform the Helpdesk.

Verified Commit f002656d authored by Tobias WEBER's avatar Tobias WEBER
Browse files

continued with gui

parent f5f754dd
......@@ -6,6 +6,7 @@
%
\chapter{Online Resources and Future Errata}
\label{ch:online}
The latest version of the software of this work can be found under the DOI
\href{https://doi.org/10.5281/zenodo.4625649}{10.5281/zenodo.4625649}.
......
......@@ -29,15 +29,17 @@ Details on the scripting interface can be found in section \ref{sec:scripting}.
\section{Graphical User Interface}
\label{sec:gui}
The software's main graphical user interface (GUI), as it is depicted in Fig. \ref{fig:gui},
is based on the \textit{Qt} framework \cite{web_Qt}, which allows for an easy and rapid
cross-platform GUI development in \textit{C++}. We support both current releases of \textit{Qt},
namely version 5 and version 6.
The software's main graphical user interface (GUI), for which a typical session is depicted
in Fig. \ref{fig:gui}, is based on the \textit{Qt} framework \cite{web_Qt}, which allows
for an easy and rapid cross-platform GUI development in \textit{C++}. We support both
current releases of \textit{Qt}, namely version 5 and version 6.
Similar to the core calculation module, the GUI is written in the recent \textit{C++20}
standard \cite{ISOCPP20} of the C++ language family \cite{Stroustrup2008, Stroustrup2018}.
The source code of the GUI module can be found in the directory \lstinline|./src/gui| of the
source repository, see chapter \ref{ch:online} for more information.
\begin{figure}[htb]
\begin{center}
......@@ -51,6 +53,18 @@ namely version 5 and version 6.
\label{fig:gui}}
\end{figure}
The GUI allows the set-up of an instrument configuration and a crystal $UB$ matrix from a
sample definition according to the formalism described in chapter \ref{ch:xtal}.
All calculation is performed in the core module, which is described in chapter \ref{ch:impl}
and to which the GUI is just that, an interface. By the same token, the core module itself is
completely independent of the GUI, or any other interface code, and the full functionality
of the software, except GUI-specific visualisations, is equally accessible from the other
alternative interface modules, e.g. the \textit{Python} interface described in section
\ref{sec:scripting}, or the raw \textit{C++} library interface. Graphical display of the
instrument and the walls as well as the interaction with these elements is performed
using \textit{OpenGL} \cite{web_OpenGL} via Qt's \lstinline[language=C++]|QOpenGLWidget|
\cite{web_QOpenGLWidget} class.
\begin{figure}[htb]
......
......@@ -14,7 +14,8 @@ the latest version 20 of the C++ standard \cite{ISOCPP20} was employed in the cr
together with the Boost C++ template libraries \cite{web_boost}. The source code for the implementation
can be found in the directory \lstinline|./src/core| together with the library routines in \lstinline|./src/libs|
of the repository at \url{https://code.ill.fr/scientific-software/takin/paths}. Stable versions of the
source code have furthermore been registered under the DOI \href{https://doi.org/10.5281/zenodo.4625649}{10.5281/zenodo.4625649}.
source code have furthermore been registered under the DOI \href{https://doi.org/10.5281/zenodo.4625649}{10.5281/zenodo.4625649},
please refer to chapter \ref{ch:online} for details.
Section \ref{sec:tasmodel} is dedicated to modelling the triple-axis spectrometer (TAS),
section \ref{sec:buildpath} discusses the steps involved in building up the mesh of possible instrument paths,
......
......@@ -759,6 +759,18 @@
}
@misc
{
web_QOpenGLWidget,
title = {{Class QOpenGLWidget, part of the Qt library \cite{web_Qt} (Software)}},
author = {{The Qt Company}},
year = {2021},
url = "https://doc.qt.io/qt-5/qopenglwidget.html",
OPThowpublished = "\url{https://doc.qt.io/qt-5/qopenglwidget.html}",
note = "[Online; accessed 31-July-2021]",
}
@misc
{
web_QCustomPlot,
......@@ -770,6 +782,18 @@
note = "[Online; accessed 31-July-2021]",
}
@misc
{
web_OpenGL,
title = {{OpenGL (Software}},
author = {{Khronos Group, Beaverton, OR, USA}},
year = {2021},
url = "https://www.opengl.org//",
OPThowpublished = "\url{https://www.opengl.org//}",
note = "[Online; accessed 31-July-2021]",
}
% -----------------------------------------------------------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment