OGS
main.cpp
Go to the documentation of this file.
1#include <QVTKOpenGLNativeWidget.h>
2#include <vtkSmartPointer.h>
3
4#include <QApplication>
5#include <QSurfaceFormat>
6#include <memory>
7
8#include "InfoLib/GitInfo.h"
10#include "mainwindow.h"
11
12// TODO: Replace this on VTK 9 upgrade, see
13// https://discourse.vtk.org/t/vtk-use-file/3645/2
14#if VTK_VIA_CPM
15#include <vtkAutoInit.h>
16VTK_MODULE_INIT(vtkInteractionStyle)
17VTK_MODULE_INIT(vtkRenderingFreeType)
18VTK_MODULE_INIT(vtkRenderingOpenGL2)
19#endif
20
21int main(int argc, char* argv[])
22{
23#ifdef NDEBUG
25#else
27#endif
28
29 // needed to ensure appropriate OpenGL context is created for VTK rendering.
30 QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
31
32 auto myOutputWindow = vtkSmartPointer<VtkConsoleOutputWindow>::New();
33 vtkOutputWindow::SetInstance(myOutputWindow);
34
35 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
36 QApplication a(argc, argv);
37 QApplication::setApplicationName("OpenGeoSys - Data Explorer");
38 QApplication::setApplicationVersion(
39 QString::fromStdString(GitInfoLib::GitInfo::ogs_version));
40 QApplication::setOrganizationName("OpenGeoSys Community");
41 QApplication::setOrganizationDomain("opengeosys.org");
42 setlocale(LC_NUMERIC, "C");
43 QLocale::setDefault(QLocale::German);
44 auto w = std::make_unique<MainWindow>();
45 w->setWindowTitle(w->windowTitle() + " - " +
46 QString::fromStdString(GitInfoLib::GitInfo::ogs_version));
47 if (QCoreApplication::arguments().size() > 1)
48 {
49 w->loadFileOnStartUp(QCoreApplication::arguments().at(1));
50 }
51 w->show();
52 int returncode = QApplication::exec();
53
54 return returncode;
55}
int main(int argc, char *argv[])
Definition main.cpp:21
Git information.
VtkWin32ConsoleOutputWindow is used to suppress message boxes on Windows.
void initOGSLogger(std::string const &log_level)
Definition Logging.cpp:64
GITINFOLIB_EXPORT const std::string ogs_version