mirror of https://github.com/CGAL/cgal
Factorize more code into Polyhedron_demo.cpp
At the same time, fix that warning from Qt5: > Attribute Qt::AA_UseDesktopOpenGL must be set before QCoreApplication is created.
This commit is contained in:
parent
c5566d3d77
commit
75d76c6d72
|
|
@ -10,20 +10,9 @@
|
||||||
*/
|
*/
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
QSurfaceFormat fmt;
|
|
||||||
|
|
||||||
fmt.setVersion(4, 3);
|
|
||||||
fmt.setRenderableType(QSurfaceFormat::OpenGL);
|
|
||||||
fmt.setProfile(QSurfaceFormat::CoreProfile);
|
|
||||||
fmt.setOption(QSurfaceFormat::DebugContext);
|
|
||||||
QSurfaceFormat::setDefaultFormat(fmt);
|
|
||||||
QStringList keywords;
|
|
||||||
keywords << "Classification";
|
|
||||||
Polyhedron_demo app(argc, argv,
|
Polyhedron_demo app(argc, argv,
|
||||||
"Classification demo",
|
"Classification demo",
|
||||||
"CGAL Classification Demo",
|
"CGAL Classification Demo",
|
||||||
keywords);
|
QStringList() << "Classification");
|
||||||
//We set the locale to avoid any trouble with VTK
|
|
||||||
std::setlocale(LC_ALL, "C");
|
|
||||||
return app.try_exec();
|
return app.try_exec();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,20 +10,9 @@
|
||||||
*/
|
*/
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
QSurfaceFormat fmt;
|
|
||||||
|
|
||||||
fmt.setVersion(4, 3);
|
|
||||||
fmt.setRenderableType(QSurfaceFormat::OpenGL);
|
|
||||||
fmt.setProfile(QSurfaceFormat::CoreProfile);
|
|
||||||
fmt.setOption(QSurfaceFormat::DebugContext);
|
|
||||||
QSurfaceFormat::setDefaultFormat(fmt);
|
|
||||||
QStringList keywords;
|
|
||||||
keywords << "Mesh_3";
|
|
||||||
Polyhedron_demo app(argc, argv,
|
Polyhedron_demo app(argc, argv,
|
||||||
"Mesh_3 demo",
|
"Mesh_3 demo",
|
||||||
"CGAL Mesh_3 Demo",
|
"CGAL Mesh_3 Demo",
|
||||||
keywords);
|
QStringList() << "Mesh_3");
|
||||||
//We set the locale to avoid any trouble with VTK
|
|
||||||
std::setlocale(LC_ALL, "C");
|
|
||||||
return app.try_exec();
|
return app.try_exec();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,4 @@
|
||||||
#include "Polyhedron_demo.h"
|
#include "Polyhedron_demo.h"
|
||||||
#include <clocale>
|
|
||||||
#include <CGAL/Qt/resources.h>
|
|
||||||
#include <QSurfaceFormat>
|
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Defines the entry point of the demo.
|
* \brief Defines the entry point of the demo.
|
||||||
|
|
@ -10,17 +6,8 @@
|
||||||
*/
|
*/
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
QSurfaceFormat fmt;
|
|
||||||
|
|
||||||
fmt.setVersion(4, 3);
|
|
||||||
fmt.setRenderableType(QSurfaceFormat::OpenGL);
|
|
||||||
fmt.setProfile(QSurfaceFormat::CoreProfile);
|
|
||||||
fmt.setOption(QSurfaceFormat::DebugContext);
|
|
||||||
QSurfaceFormat::setDefaultFormat(fmt);
|
|
||||||
Polyhedron_demo app(argc, argv,
|
Polyhedron_demo app(argc, argv,
|
||||||
"Polyhedron_3 demo",
|
"Polyhedron_3 demo",
|
||||||
"CGAL Polyhedron Demo");
|
"CGAL Polyhedron Demo");
|
||||||
//We set the locale to avoid any trouble with VTK
|
|
||||||
std::setlocale(LC_ALL, "C");
|
|
||||||
return app.try_exec();
|
return app.try_exec();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
#include <QCommandLineOption>
|
#include <QCommandLineOption>
|
||||||
#include <QSurfaceFormat>
|
#include <QSurfaceFormat>
|
||||||
#include <QOpenGLContext>
|
#include <QOpenGLContext>
|
||||||
|
#include <clocale>
|
||||||
|
|
||||||
|
|
||||||
struct Polyhedron_demo_impl {
|
struct Polyhedron_demo_impl {
|
||||||
|
|
@ -17,11 +18,34 @@ struct Polyhedron_demo_impl {
|
||||||
Polyhedron_demo_impl() : catch_exceptions(true) {}
|
Polyhedron_demo_impl() : catch_exceptions(true) {}
|
||||||
}; // end struct Polyhedron_demo_impl
|
}; // end struct Polyhedron_demo_impl
|
||||||
|
|
||||||
|
int& code_to_call_before_creation_of_QCoreApplication(int& i) {
|
||||||
|
QSurfaceFormat fmt;
|
||||||
|
|
||||||
|
fmt.setVersion(4, 3);
|
||||||
|
fmt.setRenderableType(QSurfaceFormat::OpenGL);
|
||||||
|
fmt.setProfile(QSurfaceFormat::CoreProfile);
|
||||||
|
fmt.setOption(QSurfaceFormat::DebugContext);
|
||||||
|
QSurfaceFormat::setDefaultFormat(fmt);
|
||||||
|
|
||||||
|
//for windows
|
||||||
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
|
||||||
|
QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
//We set the locale to avoid any trouble with VTK
|
||||||
|
std::setlocale(LC_ALL, "C");
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
Polyhedron_demo::Polyhedron_demo(int& argc, char **argv,
|
Polyhedron_demo::Polyhedron_demo(int& argc, char **argv,
|
||||||
QString application_name,
|
QString application_name,
|
||||||
QString main_window_title,
|
QString main_window_title,
|
||||||
QStringList input_keywords)
|
QStringList input_keywords)
|
||||||
: QApplication(argc, argv)
|
: QApplication(code_to_call_before_creation_of_QCoreApplication(argc),
|
||||||
|
// This trick in the previous line ensure that code
|
||||||
|
// is called before the creation of the QApplication
|
||||||
|
// object.
|
||||||
|
argv)
|
||||||
, d_ptr_is_initialized(false)
|
, d_ptr_is_initialized(false)
|
||||||
, d_ptr(new Polyhedron_demo_impl)
|
, d_ptr(new Polyhedron_demo_impl)
|
||||||
{
|
{
|
||||||
|
|
@ -30,11 +54,6 @@ Polyhedron_demo::Polyhedron_demo(int& argc, char **argv,
|
||||||
std::cout.precision(17);
|
std::cout.precision(17);
|
||||||
std::clog.precision(17);
|
std::clog.precision(17);
|
||||||
|
|
||||||
//for windows
|
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
|
|
||||||
this->setAttribute(Qt::AA_UseDesktopOpenGL);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Import resources from libCGAL (Qt5).
|
// Import resources from libCGAL (Qt5).
|
||||||
CGAL_QT_INIT_RESOURCES;
|
CGAL_QT_INIT_RESOURCES;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue