Merge remote-tracking branch 'cgal/master' into pr/afabri/7816

# Conflicts:
#	Installation/LICENSE
This commit is contained in:
Laurent Rineau 2023-11-29 16:45:10 +01:00
commit fdcc7c7796
359 changed files with 115104 additions and 3699 deletions

3
.github/install.sh vendored
View File

@ -2,7 +2,8 @@
sudo apt-get update sudo apt-get update
sudo apt-get install -y libmpfr-dev \ sudo apt-get install -y libmpfr-dev \
libeigen3-dev qtbase5-dev libqt5sql5-sqlite libqt5opengl5-dev qtscript5-dev \ libeigen3-dev qtbase5-dev libqt5sql5-sqlite libqt5opengl5-dev qtscript5-dev \
libqt5svg5-dev qttools5-dev qttools5-dev-tools libboost-dev libinsighttoolkit4-dev zsh libqt5svg5-dev qttools5-dev qttools5-dev-tools libboost-dev libinsighttoolkit4-dev zsh \
qt6-base-dev qt6-declarative-dev
#update cmake to 3.18.4 #update cmake to 3.18.4
sudo apt purge --auto-remove cmake sudo apt purge --auto-remove cmake
cd /tmp cd /tmp

5
.github/test.sh vendored
View File

@ -3,11 +3,10 @@
FACTOR=$1 FACTOR=$1
set -ex set -ex
cd Polyhedron/demo cd Polyhedron/demo
LIST_OF_PLUGINS=$(/usr/local/bin/cmake --build . -t help | egrep 'plugin$' |& cut -d\ -f2) /usr/local/bin/cmake -S Polyhedron -B build -DCGAL_DIR=$2
LIST_OF_PLUGINS=$(/usr/local/bin/cmake --build build -t help | egrep 'plugin$' |& cut -d\ -f2)
PLUGINS_ARRAY=(${LIST_OF_PLUGINS}); PLUGINS_ARRAY=(${LIST_OF_PLUGINS});
NB_OF_PLUGINS=${#PLUGINS_ARRAY[@]} NB_OF_PLUGINS=${#PLUGINS_ARRAY[@]}
DEL=$(($NB_OF_PLUGINS / 4)) DEL=$(($NB_OF_PLUGINS / 4))
mkdir build
cd build cd build
/usr/local/bin/cmake -DCGAL_DIR=$2 ../Polyhedron
make -j2 ${PLUGINS_ARRAY[@]:$(($FACTOR * $DEL)):$((($FACTOR + 1) * $DEL))} make -j2 ${PLUGINS_ARRAY[@]:$(($FACTOR * $DEL)):$((($FACTOR + 1) * $DEL))}

View File

@ -20,7 +20,7 @@ jobs:
mkdir build && cd build && CXX=clang++ cmake -DWITH_examples=ON -DWITH_tests=ON -DWITH_demos=ON -DBUILD_TESTING=ON .. mkdir build && cd build && CXX=clang++ cmake -DWITH_examples=ON -DWITH_tests=ON -DWITH_demos=ON -DBUILD_TESTING=ON ..
ctest -L Installation -j $(getconf _NPROCESSORS_ONLN) ctest -L Installation -j $(getconf _NPROCESSORS_ONLN)
cmake-testsuite-with-qt5: cmake-testsuite-with-qt:
runs-on: ubuntu-latest runs-on: ubuntu-latest

8
.gitignore vendored
View File

@ -178,12 +178,6 @@ GraphicsView/demo/Triangulation_2/Makefile
GraphicsView/demo/Triangulation_2/Regular_triangulation_2 GraphicsView/demo/Triangulation_2/Regular_triangulation_2
GraphicsView/demo/Triangulation_2/qrc_*.cxx GraphicsView/demo/Triangulation_2/qrc_*.cxx
GraphicsView/demo/Triangulation_2/ui_*.h GraphicsView/demo/Triangulation_2/ui_*.h
GraphicsView/src/CGAL_Qt5/*.dll
GraphicsView/src/CGAL_Qt5/*.lib
GraphicsView/src/CGAL_Qt5/*.so
GraphicsView/src/CGAL_Qt5/Makefile
GraphicsView/src/CGAL_Qt5/moc_*.cxx
GraphicsView/src/CGAL_Qt5/qrc_*.cxx
HalfedgeDS/test/HalfedgeDS/cgal_test_with_cmake HalfedgeDS/test/HalfedgeDS/cgal_test_with_cmake
HalfedgeDS/test/HalfedgeDS/test_hds HalfedgeDS/test/HalfedgeDS/test_hds
HalfedgeDS/test/HalfedgeDS/test_hds_decorator HalfedgeDS/test/HalfedgeDS/test_hds_decorator
@ -879,7 +873,6 @@ Surface_mesher/demo/Surface_mesher/.*.deps
Surface_mesher/demo/Surface_mesher/.qglviewer.xml Surface_mesher/demo/Surface_mesher/.qglviewer.xml
Surface_mesher/demo/Surface_mesher/Makefile Surface_mesher/demo/Surface_mesher/Makefile
Surface_mesher/demo/Surface_mesher/Surface_mesher Surface_mesher/demo/Surface_mesher/Surface_mesher
Surface_mesher/demo/Surface_mesher/Surface_mesher_Qt5_Demo
Surface_mesher/demo/Surface_mesher/VTK/Makefile Surface_mesher/demo/Surface_mesher/VTK/Makefile
Surface_mesher/demo/Surface_mesher/VTK/mesh_a_3D_image Surface_mesher/demo/Surface_mesher/VTK/mesh_a_3D_image
Surface_mesher/demo/Surface_mesher/VTK/mesh_a_VTK_3D_image Surface_mesher/demo/Surface_mesher/VTK/mesh_a_VTK_3D_image
@ -894,7 +887,6 @@ Surface_mesher/demo/Surface_mesher/out*.off
Surface_mesher/demo/Surface_mesher/polyhedron_remesher Surface_mesher/demo/Surface_mesher/polyhedron_remesher
Surface_mesher/demo/Surface_mesher/polyhedron_remesher_with_edges Surface_mesher/demo/Surface_mesher/polyhedron_remesher_with_edges
Surface_mesher/demo/Surface_mesher/qrc_*.c* Surface_mesher/demo/Surface_mesher/qrc_*.c*
Surface_mesher/demo/Surface_mesher/qt5-demo
Surface_mesher/demo/Surface_mesher/ui_*.h Surface_mesher/demo/Surface_mesher/ui_*.h
Surface_mesher/doxygen Surface_mesher/doxygen
Surface_mesher/examples/Surface_mesher/.*.deps Surface_mesher/examples/Surface_mesher/.*.deps

View File

@ -30,7 +30,7 @@ int main(int argc, char **argv)
app.setOrganizationName("INRIA"); app.setOrganizationName("INRIA");
app.setApplicationName("AABB tree demo"); app.setApplicationName("AABB tree demo");
// Import resources from libCGALQt (Qt5). // Import resources from libCGALQt (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;
@ -49,12 +49,3 @@ int main(int argc, char **argv)
return app.exec(); return app.exec();
} }
# include "Scene.cpp"
# include "Scene_moc.cpp"
# include "benchmarks.cpp"
# include "Viewer.cpp"
# include "Viewer_moc.cpp"
# include "MainWindow.cpp"
# include "MainWindow_moc.cpp"

View File

@ -6,73 +6,46 @@ project(AABB_tree_Demo)
# Find includes in corresponding build directories # Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed. # Find CGAL and CGAL Qt6
set(CMAKE_AUTOMOC ON) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
if(NOT POLICY CMP0070 AND POLICY CMP0053)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) # Find Qt6 itself
cmake_policy(SET CMP0071 NEW) find_package(Qt6 QUIET COMPONENTS Gui OpenGL)
endif()
# Include this package's headers first if(CGAL_Qt6_FOUND AND Qt6_FOUND)
include_directories(BEFORE ./ ./include)
# Find CGAL and CGAL Qt5 add_definitions(-DQT_NO_KEYWORDS)
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5)
# Find Qt5 itself # Instruct CMake to run moc/ui/rcc automatically when needed.
find_package(Qt5 QUIET COMPONENTS Widgets OpenGL) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) qt_add_executable(
AABB_demo AABB_demo.cpp Scene.cpp benchmarks.cpp Viewer.cpp MainWindow.cpp
qt5_wrap_ui(UI_FILES MainWindow.ui) MainWindow.ui AABB_demo.qrc
include(AddFileDependencies)
qt5_generate_moc("MainWindow.h" "${CMAKE_CURRENT_BINARY_DIR}/MainWindow_moc.cpp")
add_file_dependencies(MainWindow_moc.cpp "${CMAKE_CURRENT_SOURCE_DIR}/MainWindow.h")
qt5_generate_moc("Viewer.h" "${CMAKE_CURRENT_BINARY_DIR}/Viewer_moc.cpp")
add_file_dependencies(Viewer_moc.cpp "${CMAKE_CURRENT_SOURCE_DIR}/Viewer.h")
qt5_generate_moc("Scene.h" "${CMAKE_CURRENT_BINARY_DIR}/Scene_moc.cpp")
add_file_dependencies(Scene_moc.cpp "${CMAKE_CURRENT_SOURCE_DIR}/Scene.h")
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES AABB_demo.qrc)
add_file_dependencies(
AABB_demo.cpp "${CMAKE_CURRENT_BINARY_DIR}/MainWindow_moc.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/Viewer_moc.cpp"
"${CMAKE_CURRENT_BINARY_DIR}/Scene_moc.cpp")
add_executable(
AABB_demo AABB_demo.cpp ${UI_FILES} ${CGAL_Qt5_RESOURCE_FILES}
#${CGAL_Qt5_MOC_FILES}
) )
# Link with Qt libraries # Link with Qt libraries
target_link_libraries(AABB_demo PRIVATE Qt5::Widgets Qt5::OpenGL target_link_libraries(AABB_demo PRIVATE Qt6::Gui Qt6::OpenGL
CGAL::CGAL CGAL::CGAL_Qt5) CGAL::CGAL CGAL::CGAL_Qt6)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS AABB_demo) add_to_cached_list(CGAL_EXECUTABLE_TARGETS AABB_demo)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(AABB_demo) cgal_add_compilation_test(AABB_demo)
else(CGAL_Qt5_FOUND AND Qt5_FOUND) else(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(AABB_MISSING_DEPS "") set(AABB_MISSING_DEPS "")
if(NOT CGAL_Qt5_FOUND) if(NOT CGAL_Qt6_FOUND)
set(AABB_MISSING_DEPS "CGAL_Qt5, ${AABB_MISSING_DEPS}") set(AABB_MISSING_DEPS "CGAL_Qt6, ${AABB_MISSING_DEPS}")
endif() endif()
if(NOT Qt5_FOUND) if(NOT Qt6_FOUND)
set(AABB_MISSING_DEPS "Qt5, ${AABB_MISSING_DEPS}") set(AABB_MISSING_DEPS "Qt6, ${AABB_MISSING_DEPS}")
endif() endif()
message("NOTICE: This demo requires ${AABB_MISSING_DEPS}, and will not be compiled.") message("NOTICE: This demo requires ${AABB_MISSING_DEPS}, and will not be compiled.")
endif(CGAL_Qt5_FOUND AND Qt5_FOUND) endif(CGAL_Qt6_FOUND AND Qt6_FOUND)

View File

@ -10,15 +10,19 @@
#include <QSettings> #include <QSettings>
#include <QHeaderView> #include <QHeaderView>
#include <QClipboard> #include <QClipboard>
#include <QInputDialog>
#include "ui_MainWindow.h" #include "ui_MainWindow.h"
MainWindow::MainWindow(QWidget* parent) MainWindow::MainWindow(QWidget* parent)
: CGAL::Qt::DemosMainWindow(parent) : CGAL::Qt::DemosMainWindow(parent)
{ {
ui = new Ui::MainWindow; ui = new Ui::MainWindow;
ui->setupUi(this); ui->setupUi(this);
this->addAboutDemo(":/cgal/AABB_demo/about.html");
this->addAboutCGAL();
// saves some pointers from ui, for latter use. // saves some pointers from ui, for latter use.
m_pViewer = ui->viewer; m_pViewer = ui->viewer;
@ -418,7 +422,3 @@ void MainWindow::on_actionCopy_snapshot_triggered()
qb->setImage(snapshot); qb->setImage(snapshot);
QApplication::restoreOverrideCursor(); QApplication::restoreOverrideCursor();
} }

View File

@ -1,7 +1,6 @@
#ifndef MAINWINDOW_H #ifndef MAINWINDOW_H
#define MAINWINDOW_H #define MAINWINDOW_H
#include <QtOpenGL/qgl.h>
#include <CGAL/Qt/DemosMainWindow.h> #include <CGAL/Qt/DemosMainWindow.h>
class QDragEnterEvent; class QDragEnterEvent;
@ -12,7 +11,6 @@ namespace Ui {
class MainWindow; class MainWindow;
} }
class MainWindow : class MainWindow :
public CGAL::Qt::DemosMainWindow public CGAL::Qt::DemosMainWindow
{ {
@ -21,12 +19,12 @@ public:
MainWindow(QWidget* parent = nullptr); MainWindow(QWidget* parent = nullptr);
~MainWindow(); ~MainWindow();
public slots: public Q_SLOTS:
void updateViewerBBox(); void updateViewerBBox();
void open(QString filename); void open(QString filename);
void setAddKeyFrameKeyboardModifiers(Qt::KeyboardModifiers); void setAddKeyFrameKeyboardModifiers(Qt::KeyboardModifiers);
protected slots: protected Q_SLOTS:
// settings // settings
void quit(); void quit();

View File

@ -618,7 +618,7 @@ void Scene::draw(CGAL::QGLViewer* viewer)
vao[0].bind(); vao[0].bind();
attrib_buffers(viewer); attrib_buffers(viewer);
rendering_program.bind(); rendering_program.bind();
color.setRgbF(0.7,0.0,0.0); color.setRgbF(0.7f,0.0f,0.0f);
rendering_program.setUniformValue(colorLocation, color); rendering_program.setUniformValue(colorLocation, color);
rendering_program.setUniformValue(fLocation, fMatrix); rendering_program.setUniformValue(fLocation, fMatrix);
gl->glDrawArrays(GL_POINTS, 0, static_cast<GLsizei>(pos_points.size()/3)); gl->glDrawArrays(GL_POINTS, 0, static_cast<GLsizei>(pos_points.size()/3));
@ -631,7 +631,7 @@ void Scene::draw(CGAL::QGLViewer* viewer)
vao[1].bind(); vao[1].bind();
attrib_buffers(viewer); attrib_buffers(viewer);
rendering_program.bind(); rendering_program.bind();
color.setRgbF(0.0,0.7,0.0); color.setRgbF(0.0f,0.7f,0.0f);
rendering_program.setUniformValue(colorLocation, color); rendering_program.setUniformValue(colorLocation, color);
rendering_program.setUniformValue(fLocation, fMatrix); rendering_program.setUniformValue(fLocation, fMatrix);
gl->glDrawArrays(GL_LINES, 0, static_cast<GLsizei>(pos_lines.size()/3)); gl->glDrawArrays(GL_LINES, 0, static_cast<GLsizei>(pos_lines.size()/3));
@ -669,7 +669,7 @@ void Scene::draw(CGAL::QGLViewer* viewer)
vao[3].bind(); vao[3].bind();
attrib_buffers(viewer); attrib_buffers(viewer);
rendering_program.bind(); rendering_program.bind();
color.setRgbF(1.0,0.0,0.0); color.setRgbF(1.0f,0.0f,0.0f);
rendering_program.setUniformValue(colorLocation, color); rendering_program.setUniformValue(colorLocation, color);
rendering_program.setUniformValue(fLocation, fMatrix); rendering_program.setUniformValue(fLocation, fMatrix);
gl->glDrawArrays(GL_LINES, 0, static_cast<GLsizei>(pos_cut_segments.size()/3)); gl->glDrawArrays(GL_LINES, 0, static_cast<GLsizei>(pos_cut_segments.size()/3));

View File

@ -1,7 +1,6 @@
#ifndef SCENE_H #ifndef SCENE_H
#define SCENE_H #define SCENE_H
#include <QtOpenGL/qgl.h>
#include <iostream> #include <iostream>
#include <cmath> #include <cmath>
@ -77,7 +76,6 @@ private:
}; };
public: public:
QGLContext* context;
void draw(CGAL::QGLViewer*); void draw(CGAL::QGLViewer*);
void update_bbox(); void update_bbox();
Bbox bbox() { return m_bbox; } Bbox bbox() { return m_bbox; }
@ -173,7 +171,7 @@ private:
void attrib_buffers(CGAL::QGLViewer*); void attrib_buffers(CGAL::QGLViewer*);
void compile_shaders(); void compile_shaders();
void compute_texture(int, int, Color_ramp, Color_ramp); void compute_texture(int, int, Color_ramp, Color_ramp);
private slots: private Q_SLOTS:
void updateCutPlane(); void updateCutPlane();
public: public:
@ -255,7 +253,7 @@ public:
public slots: public Q_SLOTS:
// cutting plane // cutting plane
void cutting_plane(bool override = false); void cutting_plane(bool override = false);
void changed(); void changed();

View File

@ -1,9 +1,6 @@
#include "Viewer.h" #include "Viewer.h"
#include "Scene.h" #include "Scene.h"
#include <QMouseEvent> #include <QMouseEvent>
#include <QGLFunctions>
#include <CGAL/Qt/CreateOpenGLContext.h>
Viewer::Viewer(QWidget* parent) Viewer::Viewer(QWidget* parent)
: CGAL::QGLViewer(parent), : CGAL::QGLViewer(parent),
m_pScene(nullptr), m_pScene(nullptr),

View File

@ -1,4 +1,5 @@
#include "Scene.h" #include "Scene.h"
#include "Refiner.h"
#include <QInputDialog> #include <QInputDialog>
#include <CGAL/Memory_sizer.h> #include <CGAL/Memory_sizer.h>

View File

@ -16,8 +16,8 @@ int main(int argc, char** argv)
application.setOrganizationName("GeometryFactory"); application.setOrganizationName("GeometryFactory");
application.setApplicationName("Alpha Shape Reconstruction"); application.setApplicationName("Alpha Shape Reconstruction");
// Import resources from libCGALQt (Qt5). // Import resources from libCGAL_Qt6
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-6/qtresource-proxy.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Alpha_shape_3); Q_INIT_RESOURCE(Alpha_shape_3);

View File

@ -7,46 +7,32 @@ project(Alpha_shapes_3_Demo)
# Find includes in corresponding build directories # Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed. find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
set(CMAKE_AUTOMOC ON)
if(NOT POLICY CMP0070 AND POLICY CMP0053)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) find_package(Qt6 QUIET COMPONENTS Widgets OpenGL)
find_package(Qt5 QUIET COMPONENTS Widgets OpenGL) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
# include(${QT_USE_FILE}) # Instruct CMake to run moc/ui/rcc automatically when needed.
include_directories(BEFORE ./) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# ui file, created with Qt Designer qt_add_executable(Alpha_shape_3 Alpha_shape_3.cpp MainWindow.cpp Viewer.cpp
qt5_wrap_ui(uis MainWindow.ui) MainWindow.ui Alpha_shape_3.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Alpha_shape_3.qrc)
add_executable(
Alpha_shape_3 Alpha_shape_3.cpp MainWindow.cpp Viewer.cpp ${uis}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Alpha_shape_3) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Alpha_shape_3)
target_link_libraries(Alpha_shape_3 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Alpha_shape_3 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets Qt5::OpenGL) Qt6::Widgets Qt6::OpenGL)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Alpha_shape_3) cgal_add_compilation_test(Alpha_shape_3)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -0,0 +1,14 @@
The purpose of this repository is to make some range data
and detailed reconstructions available to the public. Currently, this repository only contains models that were scanned and reconstructed
at the Stanford Computer Graphics Laboratory . In the future, we hope to include data sets and reconstructions from other sources.
The models in this repository were all scanned with a Cyberware 3030MS optical triangulation scanner.
Please acknowledge ....
http://www-graphics.stanford.edu/data/3Dscanrep/
e-mail: 3Dscanrep@graphics.stanford.edu
file://www-graphics.stanford.edu/pub/zippack/data/
http://www.hs.washington.edu/locke/vislab/
http://biocomp.arc.nasa.gov/3dreconstruction/data/
medical data

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,582 @@
581
-9496.000158 -6621.999660 73324.000108
1941.000008 -502.999956 53448.000262
-13993.000076 -9472.000458 73547.999893
-3165.000198 2805.999696 53841.000158
3941.000109 -826.999564 53350.999780
-13992.999698 -6391.999696 73548.000325
-4629.000334 -2729.999756 72919.999638
-14544.000229 7643.999701 62169.999969
-3539.000009 -7617.000066 72743.000159
-3569.999951 1963.000330 53954.000331
4099.000115 540.000082 55720.000195
3946.000208 3611.000347 54343.000242
3942.000336 -1955.000290 53845.000430
24.000106 -8480.000056 72560.000446
-2817.999819 -7080.000021 72739.999999
274.999768 2681.999578 53612.999729
-5673.000363 -8522.000312 72919.999924
-3569.999681 5328.999917 53954.000391
7057.000447 22.999921 72019.999778
-7114.999994 -4259.000412 73100.000243
3129.999877 -1020.000207 53119.999650
-14575.999938 2064.000292 60412.000409
-8087.999603 -2692.999873 73164.999998
-9496.000263 -8099.000270 73323.999696
-14575.999757 4785.999619 60412.000416
1767.000453 -2710.000440 72380.000399
4723.999558 2984.999684 72199.999829
4173.000154 -1942.000364 57518.000224
-14185.000047 -8155.999786 69664.999947
8462.999751 -2789.999723 72019.999998
-14475.999680 -6322.000368 63961.000010
-14185.000218 -6669.000381 69665.000452
-14411.999521 8769.999611 63528.000202
-3929.999793 121.999623 53660.000393
-3538.999885 -6227.999801 72743.000078
5664.000221 8483.999673 72199.999788
4160.000223 3746.999664 57257.999712
16.999585 1061.999516 53479.999584
3441.000482 4789.999724 53120.000035
3941.000301 861.000216 53350.999558
3941.000166 186.000103 53350.999891
-5672.999756 5721.000193 72920.000053
-14411.999799 1051.999879 63528.000013
3441.000192 5308.999633 53119.999836
-13970.999556 -6778.999631 71592.999827
-5673.000352 1448.000308 72919.999896
1941.000287 3661.000398 53448.000221
4159.999588 2681.999997 57257.999788
2098.999573 1058.000232 53299.999983
-3569.999774 280.000127 53953.999842
-3538.999679 -9006.000017 72743.000111
-3570.000143 -1402.000081 53954.000006
-7115.000060 5734.999820 73099.999872
-1026.999875 -1026.999558 53479.999537
7056.999811 -4195.999750 72020.000402
-3570.000168 3085.000137 53954.000020
-13970.999844 -9803.999811 71592.999532
17.000252 6285.000424 53479.999576
-14322.999690 -2587.000320 65092.999918
-5387.999792 -1969.999910 72920.000067
-1426.999888 2743.999772 53744.000433
-3538.999950 -2059.999970 72742.999563
-14412.000000 6664.999905 63527.999948
-3570.000271 3646.000059 53954.000087
-3929.999828 -1973.999852 53659.999952
-4237.999601 -7080.000344 72740.000252
-14373.000194 -7866.999965 65785.999683
3946.000001 2584.000490 54343.000220
3941.000101 2886.999557 53350.999752
4160.000230 551.000414 57257.999512
4264.000084 1686.000457 60564.000497
-9495.999646 -3667.999852 73323.999965
4288.000261 1950.999734 60834.000001
1432.000381 -1938.999865 53464.000475
-5126.999748 3887.999847 72980.999916
4287.999632 278.999662 60833.999729
-2072.000101 17.000308 53479.999547
-14411.999918 5261.999514 63527.999544
-14185.000455 -5180.999602 69665.000041
4263.999685 -536.999855 60563.999513
4724.000258 1575.000409 72200.000149
4159.999987 4812.999838 57258.000035
-3930.000140 4837.999779 53659.999939
-8543.000324 -8542.999590 73099.999989
-3570.000177 840.999915 53954.000138
3941.000105 1874.000098 53351.000382
3946.000349 4637.999658 54342.999822
8462.999539 8462.999818 72019.999892
5664.000082 4253.999844 72200.000354
-5387.999671 2302.000049 72920.000121
-5388.000189 166.000459 72919.999521
5664.000053 -4206.999676 72200.000476
2473.999900 -2709.999879 72380.000265
16.999506 -1027.000446 53479.999576
4263.999639 -1647.999637 60564.000406
3441.000140 1676.999539 53120.000327
-9496.000107 -5145.000342 73323.999932
-13992.999533 -4852.000259 73548.000110
4287.999970 6968.000328 60833.999686
275.000199 3746.999653 53612.999629
-14412.000182 -350.999721 63528.000472
-13992.999868 -4338.000196 73547.999622
-8543.000347 -4259.000087 73100.000032
16.999876 5240.000063 53479.999960
-14372.999770 -9301.999508 65786.000118
-5127.000314 8129.000114 72980.999503
-1394.000093 -4227.999771 72560.000486
4098.999711 3673.000482 55719.999928
3946.000083 -1523.000092 54342.999694
4724.000061 -1246.000449 72200.000281
-13720.999502 -5353.000086 73556.000360
4723.999887 7215.000403 72200.000242
-14184.999932 -2754.999701 67936.999780
1437.000194 -5630.999670 72380.000099
-5444.999665 -9188.000372 72930.000378
-4238.000442 -8500.999822 72740.000263
-8542.999594 4307.000192 73099.999910
-5388.000269 6574.999714 72920.000493
-1394.000324 -2811.000366 72559.999570
16.999584 16.999963 53479.999782
-14327.000037 -2687.000254 67063.000303
-1027.000347 6284.999698 53480.000414
2850.999763 -5631.000213 72380.000333
-14543.999669 -8982.999787 62170.000241
-1426.999789 563.000156 53743.999616
-5127.000214 -2474.000449 72980.999585
-8542.999689 5734.999797 73100.000259
-13993.000354 -8958.999738 73548.000223
1057.999632 3139.999725 53299.999575
7056.999573 1429.999852 72020.000196
-13412.999816 -2989.999795 73597.999993
-14411.999793 5963.000061 63527.999980
-14544.000399 3487.000172 62169.999836
4723.999840 869.999743 72200.000174
1940.999817 5742.999710 53447.999666
-14411.999874 7365.999941 63528.000371
3441.000223 5827.000153 53120.000059
1941.000349 1579.000153 53447.999990
4723.999767 5099.999678 72199.999767
-5444.999773 -6354.000185 72929.999902
-11526.999785 -8253.000306 73393.000090
4287.999859 5853.000374 60833.999882
-3538.999732 -3449.999625 72742.999793
-13993.000364 -7932.000020 73548.000260
-14373.000228 -3563.000378 65785.999768
4253.999995 -7026.999870 72200.000060
-3164.999721 -539.000085 53841.000259
3940.999621 -1165.000187 53351.000040
4251.999655 -1611.999954 58826.000287
3130.000441 1055.000205 53119.999800
-7114.999827 -7115.000264 73100.000269
-5388.000004 5151.000233 72919.999833
-14543.999690 -4825.999812 62169.999558
-3929.999555 6411.000130 53659.999733
1940.999639 4702.000362 53447.999846
-14411.999716 2454.999607 63527.999612
3440.999501 -915.999922 53119.999778
4288.000012 -1950.999731 60833.999534
275.000261 1616.000437 53612.999949
-1427.000136 -527.000171 53743.999568
4251.999503 -525.000281 58825.999809
-260.999615 -1966.999943 53479.999718
7057.000208 -5603.000018 72020.000259
-5127.000479 6715.000320 72980.999619
-1427.000327 3834.000257 53744.000353
3440.999911 6346.000423 53120.000030
2850.999822 -7045.000455 72380.000243
5664.000435 -1386.999766 72200.000059
-14412.000002 3156.999581 63527.999801
-8543.000189 -7115.000435 73099.999877
3445.999629 2566.999931 53380.000265
3440.999872 -1434.999562 53119.999546
-3165.000457 5035.000031 53841.000213
-3929.999582 2218.000457 53659.999557
3445.999965 -1512.999532 53379.999504
-1958.000338 -1957.000101 53738.999698
275.000452 -1581.000215 53613.000308
-14088.000048 -2934.999842 70989.999715
-14373.000177 -4997.999695 65786.000128
8462.999777 5649.999794 72019.999678
1058.000275 6263.000038 53300.000358
-7102.000019 -2619.000327 73101.999718
-8542.999951 -5687.000307 73099.999616
-3930.000250 2741.999930 53660.000203
1300.999742 -1960.999792 53299.999640
4723.999966 4394.999535 72200.000035
4098.999994 1583.999527 55720.000241
-13992.999829 -8445.999614 73548.000422
4098.999861 -1548.999788 55719.999858
-3930.000368 -1449.999960 53660.000492
4287.999872 3066.000210 60833.999876
4287.999522 2508.000016 60833.999841
-5445.000250 -3519.000073 72930.000344
-14232.999547 -8002.000380 67645.000212
-5126.999777 -1767.000240 72980.999857
3129.999543 5204.999843 53119.999708
3946.000005 530.999826 54343.000175
-13721.000221 -3816.000216 73556.000357
8463.000349 22.999637 72020.000002
4724.000003 3690.000471 72200.000108
1058.000380 4180.999601 53300.000207
274.999810 5879.000134 53613.000459
354.000245 -2715.999978 72560.000238
1437.000165 -4217.000476 72380.000479
3940.999844 4913.000151 53350.999582
-2895.000382 -1945.000376 53846.999541
2099.000389 2099.000230 53300.000474
8463.000426 1430.000487 72020.000078
4252.000374 561.000004 58826.000032
3940.999558 523.000164 53351.000416
1437.000253 -2804.000496 72380.000323
-14543.999762 -3440.999829 62169.999916
-14543.999982 -6211.999551 62170.000041
3441.000291 2714.999685 53119.999987
5663.999985 -2797.000025 72200.000024
-14411.999984 -1051.999942 63528.000370
3440.999562 4271.000407 53120.000029
-3539.000186 2107.000409 72743.000388
1057.999822 -1024.000255 53300.000171
3945.999666 5664.999689 54342.999562
-5126.999539 5301.000010 72981.000462
-14575.999627 -3379.999597 60411.999811
3180.999744 -2710.000374 72380.000052
-1026.999719 4195.999827 53480.000234
-3165.000176 575.999615 53840.999507
3941.000445 -151.999807 53351.000391
-14576.000174 -657.999845 60411.999636
-2349.999962 -1966.999590 53479.999902
-14411.999854 3858.999681 63528.000283
-10090.000319 -2795.000040 73260.999652
3941.000477 5924.999710 53350.999731
4085.000468 -1954.000357 55213.000428
4253.999936 -8436.999819 72199.999776
-1394.000360 -8479.999946 72559.999636
-3569.999726 -841.000285 53953.999993
-9083.999507 -2718.999761 73217.000072
3441.000399 640.000398 53120.000050
4287.999748 -1394.000023 60833.999874
5664.000340 7073.999686 72199.999963
-5387.999666 4438.999817 72919.999562
7056.999636 -7010.000061 72019.999662
1057.999689 5222.000173 53299.999663
-5673.000248 4296.000142 72920.000031
-1027.000260 5239.999713 53480.000273
-7114.999766 -8543.000300 73100.000022
274.999590 551.000141 53612.999775
-3929.999711 -926.000493 53660.000132
4288.000365 -836.000403 60833.999756
3446.000332 3586.999913 53379.999531
3887.999686 -2709.999801 72379.999876
-3539.000418 -670.999562 72742.999614
4251.999963 1648.000235 58826.000350
7056.999875 -1382.999580 72019.999867
-11526.999831 -9757.999777 73393.000349
3130.000328 4167.000247 53120.000320
8463.000402 2837.000196 72020.000275
3446.000436 -493.000175 53380.000405
-1427.000357 6013.999828 53744.000254
-13993.000352 -5365.000211 73547.999983
3130.000064 6241.999698 53120.000243
-1393.999680 -7061.999503 72559.999762
-3929.999947 3266.000354 53660.000396
-5388.000052 8711.000308 72919.999522
-5387.999641 5862.999935 72920.000126
-5673.000220 24.000330 72919.999842
4160.000111 -514.999580 57257.999620
3445.999928 527.000347 53379.999914
-8542.999580 7162.000367 73099.999863
2947.999993 -1968.000009 53405.999963
-3929.999592 -1974.000291 53659.999860
-1305.999625 -1967.000077 53480.000398
3129.999665 3130.000305 53119.999882
-4237.999635 -4237.999904 72739.999541
7057.000491 4243.000297 72019.999582
-14576.000246 -6102.000206 60411.999747
4264.000083 2796.999726 60563.999829
4724.000254 5805.000459 72199.999985
-5672.999808 -7097.000478 72920.000322
-7114.999930 1452.000036 73099.999694
-3929.999839 4313.999708 53660.000336
-13971.000086 -5267.000118 71592.999574
-3164.999892 1691.000266 53840.999559
3941.000485 1198.999988 53351.000119
-2071.999680 1062.000046 53480.000119
-3930.000107 5362.999664 53659.999659
-13972.000434 -2989.999797 73073.000355
-5387.999734 1589.999640 72920.000470
-14575.999747 6147.000157 60412.000152
-3539.000484 4885.000479 72743.000415
-8543.000350 23.999745 73100.000201
4159.999933 5878.999799 57258.000196
-5444.999733 -7771.000335 72929.999842
-14372.999532 -6432.999688 65786.000443
3941.000032 5250.000483 53350.999566
-2817.999801 -4237.999840 72739.999681
2099.000054 4180.999939 53300.000374
3440.999903 121.000021 53120.000493
-14575.999797 -4741.000478 60411.999775
3940.999685 1535.999624 53351.000429
-14576.000473 702.999598 60412.000428
-14475.999775 -4911.999679 63960.999993
-14131.000326 -2857.999672 69963.000289
2099.000221 -1024.000206 53299.999555
-3539.000177 -4839.000490 72742.999973
-5672.999696 -4248.999669 72919.999901
1057.999780 16.999883 53300.000257
5663.999977 5663.999867 72199.999515
5663.999992 -8436.999738 72200.000314
-14412.000335 8068.000149 63527.999665
-5388.000218 -545.999702 72919.999648
4264.000448 3907.999781 60564.000285
3129.999620 2092.000354 53120.000415
1062.999967 -2715.999634 72560.000024
3940.999708 -1840.000490 53351.000006
23.999785 -4227.999646 72560.000090
-3165.000129 -1654.000323 53840.999660
-5127.000159 2474.000343 72981.000044
3941.000234 2210.999659 53351.000276
1436.999565 -7045.000204 72380.000395
-1426.999662 1654.000050 53744.000497
4159.999762 -1580.999657 57257.999765
2099.000277 6263.000009 53300.000166
-14233.000173 -9461.999637 67644.999640
4724.000132 6510.000452 72199.999686
-5388.000295 3014.999741 72919.999528
4107.000341 -1973.999932 55973.999842
-1027.000486 1061.999561 53480.000336
4263.999763 5018.999546 60563.999509
-3126.999968 6305.999575 53660.000329
-1062.999814 -2715.999805 72559.999701
3441.000092 -398.000054 53119.999576
23.999882 -5645.000302 72559.999942
-5126.999834 4594.000338 72980.999829
4252.000254 4907.999952 58825.999554
-3569.999712 4767.999673 53953.999940
-14476.000032 -9143.000078 63960.999819
4071.000131 -1967.999892 54460.000432
3440.999875 3752.000283 53120.000467
-14576.000485 3424.999842 60411.999944
-5160.999508 -2520.999928 72949.000110
4287.999692 3622.999957 60834.000077
-5127.000118 1767.000066 72980.999700
5663.999655 24.000344 72200.000194
-14576.000480 7508.000120 60411.999689
-2881.999956 -1974.000116 53659.999591
3129.999776 16.999790 53119.999905
-13993.000072 -5879.000105 73548.000170
4723.999855 -2656.000037 72200.000312
3940.999633 4574.999653 53351.000095
17.000159 3150.999751 53479.999993
-13721.000066 -6890.000008 73555.999864
-5673.000136 8569.000239 72919.999812
4287.999834 1393.999656 60834.000047
-5127.000002 3181.000499 72980.999577
1437.000111 -8457.999664 72379.999810
-1027.000182 3151.000481 53480.000213
8462.999880 -5602.999786 72020.000397
5663.999998 -7027.000337 72200.000179
-2071.999836 5240.000427 53480.000403
3445.999729 4607.000036 53380.000383
-1394.000136 -5645.000011 72559.999949
-3127.000033 2113.999786 53660.000272
3941.000324 2548.999788 53350.999985
3940.999570 -1502.000342 53351.000013
-3126.999914 -1030.999894 53659.999552
-4238.000253 -2817.999880 72739.999988
3440.999843 -1953.999504 53120.000421
259.999737 -1960.999636 53300.000138
-245.000117 -1948.999943 53618.999915
-11526.999811 -5243.000037 73392.999756
4724.000234 165.000038 72199.999547
-3126.999977 3161.999991 53659.999978
-3569.999564 4207.000094 53953.999501
275.000170 -514.999842 53613.000034
-11526.999613 -6747.999928 73392.999616
-7390.999730 -5035.000249 73077.999705
275.000340 4813.000352 53612.999844
-2071.999948 3150.999602 53480.000403
4251.999765 2735.000064 58826.000103
-7115.000351 -5686.999885 73100.000358
4098.999827 2628.999611 55719.999560
8463.000124 -7010.000397 72020.000009
-14232.999615 -6543.000442 67645.000485
-3930.000232 5887.000299 53659.999634
-14544.000461 2101.000409 62170.000359
3372.000265 -1954.000261 53119.999806
-14412.000115 1754.000439 63527.999500
-14438.999828 -2520.999738 64242.999578
-14329.999599 -2661.000068 66073.000238
1941.000120 -1544.000357 53448.000031
-4238.000332 -5659.000491 72740.000442
4098.999594 -505.000192 55720.000025
-2818.000128 -5658.999652 72739.999655
4288.000306 -278.999978 60833.999586
-1026.999893 17.000290 53480.000077
-7114.999937 2878.999603 73099.999625
4251.999706 3821.999721 58825.999856
-14544.000411 -7596.999761 62170.000298
-3539.000189 6273.999627 72742.999519
-8542.999929 8590.000255 73100.000232
-14544.000350 715.999575 62170.000076
-9495.999848 -9576.000383 73323.999907
-14576.000232 -7462.000020 60411.999731
-14184.999642 -9643.999972 69665.000056
-13970.999811 -8291.000315 71593.000038
-5126.999814 1060.000113 72981.000052
-7115.000366 7162.000434 73099.999958
-3165.000448 6150.000036 53840.999507
8462.999808 4242.999904 72020.000254
7057.000202 -2790.000123 72020.000020
-2071.999832 -1026.999844 53479.999642
-7114.999518 -1404.000177 73100.000300
3941.000476 3223.999580 53351.000151
-3569.999782 1402.000069 53953.999777
-3570.000289 7012.000244 53953.999930
-5388.000194 877.999982 72919.999818
-5126.999702 6008.000102 72980.999919
4263.999700 6130.999796 60564.000158
-8543.000290 1452.000226 73100.000426
2850.999705 -4217.000056 72379.999818
7056.999509 7057.000433 72019.999792
-13992.999692 -3312.000439 73548.000061
2850.999879 -8457.999587 72380.000259
-3538.999600 718.000352 72742.999931
-3930.000315 646.000457 53659.999635
4264.000193 573.999697 60564.000002
2099.000093 5221.999649 53300.000412
-2071.999917 6284.999527 53479.999583
4723.999862 7920.000427 72199.999887
4330.999705 -1963.000266 59887.000081
2851.000238 -2803.999644 72380.000218
3440.999720 2195.999826 53119.999530
-14543.999739 -2055.000043 62170.000137
-14544.000178 -669.999739 62170.000308
-14411.999915 351.000242 63527.999545
3940.999876 5587.999982 53351.000452
-11526.999792 -3737.999544 73392.999629
3940.999584 4236.999929 53351.000136
-7115.000083 -2831.999613 73099.999909
-14232.999742 -5082.999812 67645.000324
-3570.000011 -1963.000243 53954.000457
-14575.999963 -8822.999905 60411.999771
-3196.999729 -2722.999629 72739.999728
4270.999791 -1943.999513 59089.999553
-3930.000132 -402.000411 53659.999785
4287.999518 -1951.000148 60834.000344
1057.999742 2098.999992 53299.999970
24.000007 -2810.999989 72560.000497
-3570.000037 -280.000196 53954.000365
7056.999709 -8415.999536 72020.000349
7057.000090 5650.000225 72020.000014
4099.000497 4718.000121 55719.999993
-7115.000395 24.000272 73099.999724
-14476.000166 -3502.000326 63961.000485
-3569.999717 6450.999920 53954.000143
-1163.000334 -1973.999751 53745.000092
4723.999824 -541.000100 72200.000243
3940.999990 3899.999923 53350.999622
-3127.000218 5257.999652 53659.999673
8463.000217 -1382.999504 72019.999695
-14232.999844 -3624.000203 67645.000238
-7390.999511 -3588.999711 73077.999992
-5127.000472 352.999759 72981.000130
2099.000363 16.999945 53300.000261
-7390.999682 -6480.000469 73077.999642
-5387.999952 7999.000376 72920.000277
-3569.999553 2524.000332 53954.000210
3445.999802 5627.000372 53380.000121
-8543.000137 2878.999786 73100.000062
-11225.000154 -2878.000184 73429.000219
-5444.999752 -4937.000206 72929.999910
-3539.000116 3495.999641 72743.000028
4724.000434 -1950.999984 72200.000236
-5387.999758 7287.000091 72920.000451
3694.000162 -1947.999707 53364.999539
-14412.000272 -1753.999800 63528.000480
4724.000342 8625.000362 72199.999560
2341.999734 -1961.000092 53299.999848
-2071.999756 4196.000324 53480.000336
-8543.000296 -2832.000371 73099.999810
-5127.000024 8834.999681 72980.999971
-13992.999602 -3825.000472 73548.000110
3446.000174 1546.999928 53380.000489
-3127.000366 4209.999619 53659.999561
-5387.999685 -1258.000068 72920.000033
-13720.999529 -8426.000197 73555.999797
4135.999975 -1958.000343 56742.000312
1058.000030 1057.999685 53299.999642
2194.000288 -1954.000142 53438.999837
1821.999693 -1961.000245 53300.000177
-2486.000272 -2723.000311 72740.000113
4251.999519 5994.999969 58825.999706
-782.999723 -1966.999702 53480.000385
-14184.999503 -3694.000155 69664.999741
-7391.000162 -7925.000424 73077.999760
3941.000365 3562.000286 53350.999697
-5673.000072 -2824.999976 72920.000076
-3929.999836 3789.999783 53660.000108
4288.000033 5295.999782 60834.000285
8463.000290 -4195.999621 72020.000158
-1026.999905 2106.000122 53480.000172
-14544.000315 6258.000031 62169.999860
2098.999845 3140.000130 53300.000384
17.000326 2105.999614 53480.000329
-2817.999707 -2817.999500 72740.000297
-5127.000216 7421.999889 72980.999545
-14035.000213 -2961.999816 72026.999857
3941.000206 -490.000295 53351.000305
-3127.000000 1065.999857 53660.000041
-14412.000070 4560.000349 63527.999884
-1427.000275 -1616.999797 53744.000069
-6126.000265 -2593.999720 73030.000099
4099.000391 5762.000184 55719.999589
3440.999902 1159.000232 53119.999985
23.999963 -7062.000133 72559.999953
-3164.999618 3921.000274 53840.999514
3940.999690 6263.000241 53351.000160
5663.999668 1434.000202 72199.999998
3946.000045 -496.000294 54342.999676
-3538.999923 7662.999718 72742.999936
3946.000069 1557.999781 54343.000397
-13992.999519 -7419.000292 73548.000211
-14576.000246 -2018.999804 60411.999775
4724.000039 2279.999748 72200.000311
4253.999732 -5616.999621 72199.999908
1940.999753 2619.999683 53447.999667
3441.000116 3234.000032 53120.000379
-7114.999901 4307.000119 73100.000483
4288.000399 4738.000285 60834.000007
4253.999724 -2797.000058 72199.999720
5664.000222 2843.999541 72200.000437
7056.999584 8463.000456 72020.000228
-3930.000418 1694.000154 53659.999991
-353.999670 -2715.999787 72559.999549
-14162.999975 -2781.999699 68944.999901
4287.999827 4180.999517 60834.000197
-2071.999586 2105.999678 53480.000453
-7390.999953 -9370.000271 73077.999510
8462.999606 7057.000057 72020.000254
7056.999555 2837.000361 72019.999548
-7114.999806 8589.999936 73100.000030
-5126.999903 -1060.000339 72980.999664
8463.000265 -8415.999563 72019.999761
-14475.999815 -7732.000263 63960.999905
-14411.999736 -2454.999933 63528.000161
4253.999680 -4207.000000 72200.000403
-5341.000241 -2729.999555 72920.000190
2853.000367 -1953.999662 53119.999629
-3406.000346 -1973.999690 53659.999516
-1775.999547 -2723.000080 72740.000246
4217.999913 -1960.999660 58299.999623
-12252.999887 -2905.000019 73451.999641
-8542.999786 -1404.000473 73099.999728
-3126.999630 16.999618 53660.000475
4159.999910 1615.999982 57258.000198
-2818.000192 -8501.000061 72739.999578
-5673.000319 -5673.000048 72919.999599
-5126.999657 -352.999916 72981.000008
-14543.999526 4873.000287 62170.000355
5664.000113 -5617.000339 72200.000484
-13992.999970 -6905.000388 73548.000167
-3906.999574 -2723.000211 72740.000342
-5672.999570 -1399.999715 72920.000026
-3569.999982 5890.000467 53954.000331
4288.000173 6409.999525 60833.999858
-5387.999815 -2682.000374 72920.000431
-13971.000415 -3755.000354 71592.999978
-3930.000128 1170.000156 53659.999938
-1828.000158 -1966.999726 53479.999657
17.000335 4196.000427 53479.999613
-1427.000066 4924.000037 53743.999863
-13721.000451 -9963.000322 73555.999557
-5388.000021 3727.000164 72919.999832
1941.000051 538.000495 53448.000163
4287.999864 836.000460 60833.999839
780.999670 -1960.999553 53299.999658
-5673.000397 7144.999809 72919.999807
-5673.000146 2871.999537 72920.000249
533.000383 -1965.000046 53607.999748
-13992.999662 -9985.999679 73548.000146
4582.999714 -2702.999761 72199.999726

View File

@ -0,0 +1,8 @@
7
5.51274721097227705 8.87625776353026552 1.95944807904169238
9.0973375091665627 3.5350701520269201 4.7238755547204434
0.911806739546155987 6.95856700036594145 2.36699662526417143
5.36336900378107373 1.05840486239320186 1.22179856797203001
0.289239615689291796 9.24621240074391082 2.17110435171762095
1.39772879354093327 3.51084799856703622 9.44541630320511771
7.31227573940480369 2.67306741439382023 0.511378392640958745

View File

@ -0,0 +1,17 @@
5.51275 8.87626 1.95945
0.911807 6.95857 2.367
5.36337 1.0584 1.2218
7.31228 2.67307 0.511378
9.09734 3.53507 4.72388
1.39773 3.51085 9.44542
0.28924 9.24621 2.1711
4 5 0
5 6 0
1 0 6
3 2 4
4 0 3
2 3 1
0 1 3
2 5 4
5 2 1
6 5 1

View File

@ -0,0 +1,857 @@
856
304.000000 483.000000 110.000433
173.000000 315.000000 150.000135
389.000000 259.000000 110.000009
197.000000 341.000000 130.000097
390.000000 329.000000 69.999907
87.000000 189.000000 119.999588
427.000000 391.000000 19.999914
219.000000 283.000000 159.999587
228.000000 410.000000 149.999687
176.000000 356.000000 150.000143
36.000000 243.000000 40.000174
409.000000 409.000000 9.999581
345.000000 395.000000 130.000241
378.000000 336.000000 79.999859
405.000000 442.000000 29.999878
437.000000 388.000000 20.000099
385.000000 345.000000 90.000418
223.000000 509.000000 10.000330
253.000000 62.000000 10.000304
339.000000 498.000000 40.000232
418.000000 406.000000 20.000279
203.000000 86.000000 99.999776
96.000000 159.000000 120.000081
390.000000 320.000000 69.999762
344.000000 362.000000 139.999772
157.000000 57.000000 -0.000304
130.000000 480.000000 40.000064
190.000000 294.000000 160.000245
407.000000 398.000000 30.000234
396.000000 436.000000 40.000360
387.000000 332.000000 49.999562
192.000000 317.000000 149.999693
90.000000 134.000000 99.999822
92.000000 252.000000 130.000028
164.000000 251.000000 159.999649
161.000000 448.000000 120.000467
380.000000 453.000000 50.000039
76.000000 423.000000 39.999921
410.000000 176.000000 40.000464
346.000000 238.000000 140.000280
278.000000 464.000000 130.000458
318.000000 464.000000 110.000374
421.000000 273.000000 39.999857
320.000000 85.000000 9.999990
230.000000 60.000000 40.000167
403.000000 443.000000 9.999941
377.000000 278.000000 129.999965
211.000000 75.000000 79.999614
396.000000 451.000000 19.999695
379.000000 323.000000 100.000100
138.000000 162.000000 149.999904
373.000000 359.000000 119.999709
298.000000 154.000000 140.000005
377.000000 481.000000 19.999977
405.000000 280.000000 99.999667
412.000000 329.000000 20.000329
392.000000 320.000000 80.000343
155.000000 323.000000 159.999924
171.000000 323.000000 149.999700
70.000000 369.000000 60.000396
270.000000 512.000000 100.000031
62.000000 359.000000 10.000338
401.000000 300.000000 49.999758
366.000000 156.000000 99.999742
125.000000 289.000000 150.000344
306.000000 417.000000 140.000297
189.000000 303.000000 160.000009
215.000000 339.000000 140.000396
346.000000 349.000000 139.999537
73.000000 365.000000 69.999577
127.000000 77.000000 70.000150
108.000000 80.000000 9.999701
416.000000 396.000000 29.999763
355.000000 471.000000 70.000335
383.000000 332.000000 79.999789
279.000000 495.000000 109.999962
182.000000 392.000000 139.999695
418.000000 194.000000 20.000169
399.000000 396.000000 49.999602
323.000000 406.000000 139.999632
401.000000 296.000000 70.000372
116.000000 94.000000 90.000421
408.000000 302.000000 39.999870
398.000000 444.000000 39.999970
391.000000 316.000000 59.999679
34.000000 233.000000 29.999582
406.000000 412.000000 20.000116
75.000000 278.000000 109.999973
36.000000 251.000000 19.999539
387.000000 142.000000 -0.000290
415.000000 231.000000 60.000112
114.000000 84.000000 59.999969
176.000000 309.000000 159.999733
104.000000 469.000000 79.999782
134.000000 80.000000 80.000475
365.000000 453.000000 60.000166
76.000000 325.000000 100.000301
372.000000 346.000000 120.000425
384.000000 160.000000 79.999710
352.000000 318.000000 129.999934
385.000000 317.000000 40.000493
381.000000 319.000000 110.000497
103.000000 84.000000 19.999857
400.000000 406.000000 40.000279
354.000000 491.000000 60.000459
419.000000 282.000000 10.000487
203.000000 507.000000 60.000487
235.000000 510.000000 89.999674
444.000000 387.000000 29.999811
391.000000 313.000000 99.999893
398.000000 450.000000 9.999883
131.000000 300.000000 150.000225
83.000000 110.000000 40.000016
187.000000 503.000000 -0.000434
155.000000 323.000000 150.000140
212.000000 54.000000 19.999945
97.000000 291.000000 129.999725
148.000000 308.000000 149.999883
343.000000 211.000000 139.999546
198.000000 328.000000 120.000389
431.000000 405.000000 19.999725
400.000000 300.000000 89.999605
400.000000 184.000000 80.000122
362.000000 340.000000 129.999568
347.000000 272.000000 140.000053
104.000000 251.000000 140.000464
71.000000 131.000000 59.999648
110.000000 94.000000 79.999923
374.000000 479.000000 40.000239
372.000000 328.000000 99.999759
374.000000 456.000000 49.999600
217.000000 466.000000 129.999695
207.000000 340.000000 119.999813
394.000000 298.000000 109.999600
398.000000 158.000000 20.000463
376.000000 422.000000 69.999535
419.000000 204.000000 39.999848
397.000000 425.000000 39.999772
425.000000 394.000000 -0.000166
395.000000 469.000000 0.000180
203.000000 347.000000 130.000090
175.000000 356.000000 159.999756
337.000000 482.000000 79.999700
403.000000 290.000000 100.000395
384.000000 441.000000 59.999825
103.000000 268.000000 139.999921
88.000000 158.000000 110.000417
420.000000 264.000000 49.999543
394.000000 309.000000 59.999763
403.000000 385.000000 49.999907
398.000000 274.000000 109.999683
398.000000 396.000000 30.000477
188.000000 376.000000 149.999695
251.000000 467.000000 129.999727
410.000000 173.000000 -0.000375
419.000000 388.000000 30.000459
53.000000 178.000000 70.000064
386.000000 456.000000 29.999720
230.000000 432.000000 139.999657
209.000000 102.000000 119.999952
399.000000 261.000000 100.000481
34.000000 263.000000 9.999982
387.000000 185.000000 100.000227
166.000000 200.000000 160.000091
397.000000 459.000000 10.000459
112.000000 355.000000 119.999623
151.000000 416.000000 119.999934
387.000000 396.000000 70.000126
414.000000 205.000000 59.999887
84.000000 431.000000 49.999623
54.000000 333.000000 40.000151
226.000000 489.000000 120.000098
210.000000 331.000000 139.999959
62.000000 355.000000 59.999599
128.000000 201.000000 149.999744
399.000000 310.000000 40.000499
285.000000 137.000000 129.999978
271.000000 90.000000 79.999948
392.000000 406.000000 39.999814
126.000000 71.000000 19.999775
395.000000 316.000000 69.999631
196.000000 340.000000 140.000123
172.000000 101.000000 119.999703
386.000000 386.000000 20.000299
412.000000 373.000000 20.000375
368.000000 337.000000 119.999973
192.000000 56.000000 29.999926
326.000000 425.000000 129.999868
328.000000 124.000000 100.000456
419.000000 252.000000 60.000317
101.000000 187.000000 130.000292
282.000000 510.000000 40.000476
48.000000 169.000000 19.999612
368.000000 263.000000 130.000181
106.000000 86.000000 40.000336
137.000000 485.000000 60.000020
337.000000 498.000000 10.000284
179.000000 390.000000 149.999695
57.000000 165.000000 60.000363
370.000000 319.000000 119.999686
159.000000 305.000000 159.999920
380.000000 410.000000 69.999540
66.000000 161.000000 80.000411
211.000000 325.000000 120.000116
207.000000 322.000000 110.000247
136.000000 139.000000 139.999844
425.000000 364.000000 0.000175
46.000000 181.000000 50.000130
407.000000 374.000000 39.999586
410.000000 170.000000 9.999842
416.000000 288.000000 40.000290
301.000000 198.000000 149.999552
368.000000 431.000000 79.999967
95.000000 115.000000 89.999527
190.000000 504.000000 40.000392
431.000000 381.000000 39.999951
389.000000 385.000000 60.000331
111.000000 236.000000 139.999941
305.000000 86.000000 49.999887
174.000000 344.000000 150.000400
406.000000 290.000000 79.999632
411.000000 176.000000 30.000029
403.000000 401.000000 0.000395
186.000000 371.000000 149.999597
396.000000 378.000000 19.999972
407.000000 393.000000 50.000248
314.000000 84.000000 30.000111
82.000000 442.000000 40.000237
190.000000 63.000000 59.999546
418.000000 280.000000 50.000063
107.000000 109.000000 99.999534
429.000000 377.000000 20.000148
241.000000 399.000000 149.999519
231.000000 480.000000 119.999633
293.000000 494.000000 110.000320
386.000000 395.000000 50.000398
189.000000 304.000000 150.000129
359.000000 426.000000 100.000239
404.000000 445.000000 20.000042
390.000000 362.000000 60.000269
255.000000 393.000000 149.999647
266.000000 511.000000 60.000270
445.000000 377.000000 19.999922
238.000000 512.000000 80.000183
263.000000 74.000000 60.000051
345.000000 327.000000 130.000341
297.000000 510.000000 69.999558
204.000000 336.000000 110.000464
93.000000 273.000000 130.000439
156.000000 143.000000 149.999849
214.000000 414.000000 150.000013
208.000000 475.000000 130.000315
174.000000 350.000000 149.999545
406.000000 179.000000 59.999608
397.000000 418.000000 39.999645
197.000000 340.000000 109.999887
305.000000 95.000000 70.000078
223.000000 451.000000 130.000063
67.000000 291.000000 99.999993
374.000000 461.000000 59.999831
395.000000 317.000000 89.999780
140.000000 482.000000 100.000201
364.000000 361.000000 129.999692
396.000000 462.000000 0.000002
403.000000 421.000000 10.000436
373.000000 174.000000 109.999736
393.000000 458.000000 19.999949
379.000000 456.000000 39.999971
396.000000 240.000000 100.000184
71.000000 118.000000 20.000391
364.000000 427.000000 90.000438
390.000000 440.000000 49.999887
44.000000 183.000000 0.000039
75.000000 348.000000 90.000315
405.000000 315.000000 0.000238
320.000000 96.000000 60.000082
85.000000 447.000000 50.000024
391.000000 313.000000 40.000474
303.000000 506.000000 29.999976
346.000000 147.000000 110.000432
203.000000 323.000000 120.000169
185.000000 502.000000 90.000110
135.000000 94.000000 100.000385
385.000000 326.000000 99.999934
388.000000 474.000000 39.999867
43.000000 221.000000 70.000067
415.000000 267.000000 79.999572
401.000000 300.000000 80.000252
54.000000 190.000000 79.999547
388.000000 414.000000 49.999501
400.000000 435.000000 29.999929
179.000000 325.000000 149.999681
390.000000 475.000000 20.000480
210.000000 329.000000 110.000432
124.000000 264.000000 149.999656
380.000000 357.000000 110.000447
35.000000 221.000000 0.000130
422.000000 256.000000 -0.000478
297.000000 502.000000 100.000074
387.000000 404.000000 40.000484
121.000000 142.000000 129.999588
363.000000 488.000000 49.999644
81.000000 441.000000 -0.000224
310.000000 125.000000 110.000381
202.000000 330.000000 129.999580
154.000000 79.000000 90.000488
349.000000 281.000000 139.999939
266.000000 452.000000 139.999876
419.000000 273.000000 60.000253
60.000000 291.000000 90.000373
53.000000 160.000000 30.000462
401.000000 327.000000 29.999868
388.000000 333.000000 90.000054
409.000000 393.000000 39.999876
329.000000 501.000000 19.999774
66.000000 203.000000 99.999570
84.000000 101.000000 0.000252
378.000000 372.000000 110.000496
177.000000 378.000000 160.000055
378.000000 208.000000 120.000080
39.000000 260.000000 49.999598
113.000000 439.000000 90.000322
386.000000 404.000000 50.000352
88.000000 335.000000 110.000457
408.000000 239.000000 80.000309
385.000000 339.000000 79.999563
65.000000 359.000000 -0.000186
388.000000 339.000000 70.000118
194.000000 479.000000 130.000054
205.000000 359.000000 150.000249
308.000000 366.000000 149.999771
411.000000 305.000000 9.999644
336.000000 473.000000 90.000141
107.000000 380.000000 100.000196
413.000000 210.000000 69.999762
417.000000 191.000000 9.999593
422.000000 243.000000 30.000485
290.000000 76.000000 39.999602
387.000000 321.000000 99.999700
107.000000 439.000000 79.999777
240.000000 254.000000 160.000437
422.000000 265.000000 9.999794
49.000000 243.000000 79.999624
396.000000 392.000000 29.999964
69.000000 389.000000 9.999977
393.000000 327.000000 79.999595
383.000000 337.000000 90.000313
124.000000 155.000000 139.999884
390.000000 328.000000 89.999610
388.000000 310.000000 109.999974
401.000000 437.000000 20.000420
181.000000 305.000000 149.999817
122.000000 121.000000 119.999998
81.000000 441.000000 20.000065
107.000000 303.000000 129.999801
51.000000 295.000000 60.000192
97.000000 458.000000 70.000150
112.000000 293.000000 140.000309
392.000000 147.000000 29.999844
395.000000 458.000000 -0.000345
396.000000 471.000000 20.000089
205.000000 445.000000 139.999722
392.000000 425.000000 49.999927
407.000000 291.000000 60.000455
364.000000 329.000000 109.999573
334.000000 449.000000 110.000287
377.000000 296.000000 129.999513
202.000000 396.000000 149.999929
68.000000 386.000000 19.999990
376.000000 332.000000 89.999690
442.000000 399.000000 20.000326
388.000000 295.000000 120.000295
387.000000 341.000000 50.000408
112.000000 81.000000 49.999621
410.000000 386.000000 50.000226
59.000000 311.000000 80.000359
330.000000 499.000000 80.000308
199.000000 332.000000 110.000351
202.000000 332.000000 140.000116
38.000000 196.000000 30.000366
206.000000 407.000000 150.000108
385.000000 458.000000 39.999801
178.000000 370.000000 150.000203
74.000000 419.000000 10.000074
417.000000 405.000000 29.999702
47.000000 272.000000 69.999870
164.000000 373.000000 160.000203
408.000000 409.000000 29.999548
376.000000 335.000000 99.999615
399.000000 396.000000 19.999683
334.000000 491.000000 79.999633
379.000000 478.000000 -0.000167
303.000000 471.000000 120.000457
291.000000 478.000000 120.000436
400.000000 433.000000 0.000031
90.000000 450.000000 59.999865
319.000000 291.000000 150.000192
33.000000 256.000000 20.000497
445.000000 393.000000 10.000151
341.000000 497.000000 69.999978
390.000000 240.000000 110.000036
276.000000 69.000000 19.999504
173.000000 57.000000 40.000059
209.000000 359.000000 139.999774
387.000000 392.000000 20.000481
318.000000 503.000000 89.999523
378.000000 478.000000 39.999991
84.000000 285.000000 119.999551
337.000000 335.000000 140.000134
117.000000 372.000000 109.999629
359.000000 458.000000 79.999820
146.000000 67.000000 60.000076
377.000000 406.000000 90.000477
381.000000 316.000000 109.999684
48.000000 183.000000 60.000220
302.000000 452.000000 130.000413
138.000000 100.000000 109.999758
268.000000 511.000000 20.000319
210.000000 324.000000 109.999505
331.000000 180.000000 139.999527
354.000000 422.000000 109.999787
287.000000 509.000000 80.000157
217.000000 437.000000 139.999915
348.000000 294.000000 139.999826
145.000000 109.000000 119.999748
86.000000 413.000000 69.999800
407.000000 365.000000 39.999844
393.000000 458.000000 29.999694
180.000000 409.000000 139.999597
79.000000 429.000000 0.000369
385.000000 468.000000 50.000300
167.000000 68.000000 70.000425
424.000000 392.000000 40.000496
334.000000 328.000000 139.999843
88.000000 115.000000 79.999614
185.000000 284.000000 160.000326
178.000000 122.000000 140.000324
96.000000 434.000000 69.999906
138.000000 390.000000 119.999927
379.000000 449.000000 60.000479
383.000000 360.000000 100.000229
394.000000 447.000000 40.000372
429.000000 374.000000 0.000267
250.000000 447.000000 140.000291
374.000000 395.000000 99.999977
421.000000 400.000000 29.999804
173.000000 498.000000 100.000223
112.000000 80.000000 29.999608
397.000000 307.000000 69.999990
94.000000 95.000000 30.000227
365.000000 214.000000 130.000457
69.000000 124.000000 -0.000140
214.000000 342.000000 129.999922
378.000000 324.000000 50.000407
170.000000 92.000000 110.000496
396.000000 206.000000 99.999936
385.000000 359.000000 89.999911
262.000000 483.000000 120.000212
73.000000 418.000000 0.000094
263.000000 117.000000 120.000412
392.000000 469.000000 40.000013
203.000000 340.000000 120.000411
206.000000 141.000000 149.999614
65.000000 250.000000 100.000372
408.000000 263.000000 89.999711
356.000000 326.000000 120.000249
390.000000 318.000000 90.000241
357.000000 369.000000 129.999641
200.000000 332.000000 149.999692
356.000000 314.000000 130.000478
206.000000 335.000000 150.000105
388.000000 349.000000 79.999724
422.000000 361.000000 29.999572
336.000000 384.000000 139.999898
371.000000 477.000000 49.999938
383.000000 332.000000 70.000333
358.000000 117.000000 49.999606
228.000000 511.000000 109.999685
391.000000 449.000000 50.000425
210.000000 331.000000 130.000294
414.000000 332.000000 10.000205
79.000000 429.000000 20.000389
425.000000 348.000000 19.999522
188.000000 500.000000 120.000132
414.000000 395.000000 19.999694
333.000000 502.000000 0.000474
163.000000 74.000000 80.000256
414.000000 352.000000 0.000273
396.000000 471.000000 29.999511
161.000000 113.000000 130.000121
38.000000 271.000000 0.000064
406.000000 390.000000 29.999509
255.000000 136.000000 140.000180
143.000000 362.000000 130.000256
205.000000 348.000000 149.999703
370.000000 484.000000 39.999679
361.000000 394.000000 119.999961
236.000000 511.000000 69.999764
161.000000 344.000000 150.000324
271.000000 99.000000 100.000087
347.000000 129.000000 90.000352
383.000000 473.000000 20.000348
418.000000 261.000000 69.999636
342.000000 477.000000 80.000249
240.000000 212.000000 159.999945
93.000000 387.000000 89.999525
214.000000 335.000000 130.000266
434.000000 365.000000 19.999711
377.000000 248.000000 120.000476
84.000000 227.000000 120.000431
391.000000 462.000000 39.999559
390.000000 473.000000 -0.000072
442.000000 378.000000 29.999932
357.000000 126.000000 69.999812
64.000000 143.000000 49.999661
339.000000 310.000000 139.999787
376.000000 446.000000 69.999556
421.000000 272.000000 29.999579
383.000000 398.000000 79.999947
377.000000 339.000000 90.000050
357.000000 461.000000 70.000494
381.000000 346.000000 99.999989
198.000000 335.000000 129.999550
383.000000 383.000000 89.999876
392.000000 395.000000 50.000489
385.000000 318.000000 50.000068
196.000000 506.000000 109.999506
183.000000 138.000000 150.000295
434.000000 396.000000 0.000059
38.000000 219.000000 50.000182
390.000000 284.000000 120.000395
365.000000 347.000000 129.999830
74.000000 118.000000 30.000426
207.000000 122.000000 140.000380
113.000000 116.000000 109.999784
416.000000 292.000000 30.000362
414.000000 279.000000 80.000030
441.000000 386.000000 0.000095
144.000000 337.000000 139.999525
386.000000 148.000000 60.000351
93.000000 409.000000 79.999575
170.000000 409.000000 129.999719
104.000000 348.000000 119.999514
377.000000 416.000000 80.000066
392.000000 410.000000 40.000224
322.000000 258.000000 150.000354
387.000000 142.000000 39.999842
378.000000 327.000000 109.999670
403.000000 268.000000 99.999822
219.000000 183.000000 160.000476
196.000000 361.000000 150.000187
436.000000 397.000000 30.000102
187.000000 334.000000 150.000416
361.000000 476.000000 60.000302
265.000000 462.000000 129.999811
357.000000 334.000000 129.999518
397.000000 317.000000 80.000196
201.000000 110.000000 129.999544
170.000000 292.000000 159.999874
376.000000 342.000000 110.000096
288.000000 382.000000 150.000470
385.000000 328.000000 40.000208
380.000000 263.000000 120.000184
279.000000 96.000000 90.000454
298.000000 508.000000 10.000017
391.000000 274.000000 119.999504
80.000000 121.000000 70.000114
414.000000 240.000000 70.000303
72.000000 385.000000 50.000489
312.000000 443.000000 129.999958
381.000000 307.000000 119.999893
147.000000 60.000000 29.999771
233.000000 512.000000 49.999755
129.000000 479.000000 69.999985
383.000000 474.000000 -0.000300
119.000000 474.000000 50.000440
162.000000 87.000000 99.999822
388.000000 320.000000 60.000475
208.000000 92.000000 110.000454
402.000000 441.000000 -0.000434
247.000000 61.000000 30.000254
60.000000 177.000000 89.999508
375.000000 338.000000 100.000112
388.000000 475.000000 30.000200
169.000000 361.000000 150.000305
73.000000 138.000000 69.999613
151.000000 130.000000 140.000243
292.000000 428.000000 139.999652
43.000000 288.000000 40.000209
411.000000 196.000000 69.999886
191.000000 440.000000 139.999870
188.000000 393.000000 150.000062
379.000000 331.000000 100.000426
421.000000 211.000000 10.000373
151.000000 489.000000 110.000018
214.000000 501.000000 120.000350
186.000000 475.000000 130.000205
119.000000 171.000000 139.999644
166.000000 495.000000 49.999638
94.000000 139.000000 110.000263
361.000000 113.000000 30.000475
287.000000 462.000000 129.999600
119.000000 472.000000 0.000324
336.000000 499.000000 59.999701
397.000000 309.000000 79.999503
396.000000 468.000000 9.999539
418.000000 219.000000 50.000021
188.000000 53.000000 9.999892
317.000000 484.000000 99.999771
87.000000 99.000000 9.999789
440.000000 400.000000 10.000026
77.000000 414.000000 50.000086
59.000000 334.000000 69.999692
389.000000 473.000000 10.000131
93.000000 364.000000 99.999586
191.000000 380.000000 140.000324
397.000000 463.000000 20.000440
314.000000 83.000000 -0.000144
404.000000 252.000000 89.999526
192.000000 55.000000 0.000057
37.000000 211.000000 39.999811
408.000000 337.000000 0.000463
386.000000 321.000000 50.000145
57.000000 307.000000 69.999726
399.000000 434.000000 9.999597
440.000000 394.000000 0.000167
194.000000 347.000000 139.999819
187.000000 359.000000 160.000408
82.000000 430.000000 30.000265
292.000000 510.000000 90.000293
179.000000 291.000000 160.000422
346.000000 484.000000 69.999785
433.000000 395.000000 19.999927
238.000000 463.000000 129.999988
431.000000 404.000000 10.000165
125.000000 346.000000 130.000258
364.000000 483.000000 50.000249
152.000000 60.000000 10.000471
412.000000 390.000000 50.000296
167.000000 492.000000 119.999873
162.000000 360.000000 140.000440
76.000000 394.000000 60.000355
404.000000 389.000000 0.000108
131.000000 68.000000 10.000393
79.000000 430.000000 9.999539
414.000000 282.000000 59.999976
171.000000 344.000000 160.000494
140.000000 307.000000 150.000051
371.000000 276.000000 130.000475
410.000000 320.000000 9.999772
399.000000 300.000000 60.000152
410.000000 275.000000 90.000213
178.000000 501.000000 69.999844
396.000000 463.000000 29.999717
270.000000 511.000000 0.000287
105.000000 365.000000 110.000111
36.000000 263.000000 29.999728
42.000000 269.000000 60.000204
152.000000 382.000000 129.999554
139.000000 124.000000 129.999830
178.000000 499.000000 9.999512
380.000000 329.000000 60.000364
195.000000 398.000000 149.999704
105.000000 138.000000 120.000289
130.000000 480.000000 19.999848
241.000000 504.000000 110.000227
249.000000 61.000000 0.000215
149.000000 63.000000 50.000394
435.000000 381.000000 19.999612
370.000000 120.000000 19.999582
395.000000 363.000000 50.000173
390.000000 455.000000 0.000083
345.000000 465.000000 89.999529
321.000000 451.000000 120.000069
232.000000 72.000000 69.999566
78.000000 441.000000 10.000433
411.000000 254.000000 79.999644
349.000000 104.000000 9.999972
40.000000 224.000000 59.999868
401.000000 417.000000 30.000379
55.000000 328.000000 60.000186
136.000000 66.000000 39.999869
387.000000 459.000000 19.999694
238.000000 120.000000 129.999648
380.000000 232.000000 119.999852
387.000000 336.000000 59.999680
386.000000 316.000000 100.000192
202.000000 323.000000 110.000169
421.000000 243.000000 39.999865
378.000000 477.000000 19.999946
403.000000 407.000000 0.000441
117.000000 473.000000 10.000461
388.000000 454.000000 40.000397
36.000000 209.000000 9.999788
344.000000 158.000000 120.000283
167.000000 319.000000 160.000206
80.000000 432.000000 39.999684
124.000000 318.000000 139.999804
379.000000 285.000000 130.000148
420.000000 205.000000 29.999982
364.000000 457.000000 60.000173
314.000000 319.000000 150.000372
271.000000 387.000000 149.999929
405.000000 324.000000 -0.000038
393.000000 305.000000 49.999780
380.000000 472.000000 50.000100
392.000000 455.000000 10.000360
430.000000 366.000000 30.000433
88.000000 433.000000 60.000203
400.000000 426.000000 20.000350
198.000000 506.000000 19.999553
369.000000 321.000000 109.999993
389.000000 376.000000 70.000300
447.000000 391.000000 19.999590
78.000000 255.000000 120.000420
201.000000 310.000000 150.000380
385.000000 330.000000 99.999671
313.000000 506.000000 50.000090
398.000000 286.000000 110.000315
366.000000 325.000000 119.999806
431.000000 389.000000 39.999680
71.000000 122.000000 9.999706
416.000000 393.000000 -0.000388
339.000000 98.000000 40.000373
354.000000 120.000000 59.999789
163.000000 480.000000 119.999792
209.000000 78.000000 90.000471
340.000000 454.000000 100.000347
344.000000 120.000000 79.999566
34.000000 221.000000 20.000076
130.000000 440.000000 100.000378
367.000000 328.000000 100.000402
372.000000 485.000000 29.999664
35.000000 247.000000 -0.000266
230.000000 454.000000 130.000398
155.000000 314.000000 150.000438
386.000000 168.000000 89.999942
423.000000 398.000000 20.000409
252.000000 68.000000 49.999609
405.000000 314.000000 30.000086
78.000000 140.000000 90.000406
373.000000 453.000000 60.000142
159.000000 328.000000 150.000142
74.000000 417.000000 30.000409
330.000000 91.000000 20.000081
388.000000 332.000000 80.000109
385.000000 328.000000 60.000013
174.000000 447.000000 130.000073
316.000000 226.000000 149.999931
393.000000 453.000000 30.000415
361.000000 321.000000 119.999624
376.000000 465.000000 60.000467
366.000000 448.000000 79.999941
58.000000 346.000000 50.000010
391.000000 384.000000 50.000228
162.000000 396.000000 129.999672
425.000000 378.000000 40.000076
421.000000 278.000000 -0.000240
179.000000 381.000000 150.000273
355.000000 483.000000 60.000125
82.000000 442.000000 29.999998
83.000000 108.000000 50.000310
407.000000 175.000000 49.999596
74.000000 418.000000 19.999690
132.000000 415.000000 109.999606
327.000000 489.000000 90.000109
408.000000 211.000000 79.999683
416.000000 201.000000 50.000427
69.000000 380.000000 40.000280
235.000000 151.000000 150.000472
369.000000 307.000000 130.000229
396.000000 164.000000 70.000265
308.000000 338.000000 149.999970
175.000000 330.000000 159.999778
150.000000 349.000000 139.999937
421.000000 219.000000 -0.000068
444.000000 384.000000 9.999661
407.000000 335.000000 29.999975
123.000000 480.000000 90.000020
388.000000 207.000000 110.000124
190.000000 372.000000 140.000446
127.000000 482.000000 30.000090
276.000000 476.000000 120.000370
413.000000 289.000000 49.999591
240.000000 510.000000 30.000054
410.000000 316.000000 20.000107
354.000000 109.000000 -0.000420
56.000000 226.000000 90.000305
55.000000 346.000000 20.000297
373.000000 329.000000 109.999831
421.000000 269.000000 20.000125
417.000000 194.000000 -0.000244
377.000000 477.000000 10.000096
311.000000 136.000000 120.000023
355.000000 326.000000 130.000433
84.000000 110.000000 60.000454
202.000000 506.000000 80.000296
398.000000 392.000000 0.000118
261.000000 501.000000 110.000266
386.000000 140.000000 10.000112
75.000000 210.000000 110.000483
418.000000 392.000000 39.999772
47.000000 172.000000 39.999530
201.000000 61.000000 50.000348
174.000000 426.000000 129.999769
406.000000 287.000000 89.999588
406.000000 294.000000 50.000482
178.000000 464.000000 129.999690
379.000000 481.000000 0.000359
66.000000 135.000000 40.000472
439.000000 380.000000 -0.000057
410.000000 300.000000 0.000483
400.000000 198.000000 90.000463
396.000000 305.000000 99.999628
112.000000 327.000000 129.999537
400.000000 351.000000 39.999731
285.000000 445.000000 140.000481
194.000000 345.000000 120.000109
395.000000 373.000000 49.999714
417.000000 277.000000 69.999982
220.000000 511.000000 100.000036
368.000000 181.000000 119.999800
330.000000 162.000000 130.000194
355.000000 188.000000 130.000376
158.000000 58.000000 20.000298
402.000000 419.000000 0.000043
389.000000 147.000000 50.000103
77.000000 161.000000 99.999915
99.000000 98.000000 69.999881
383.000000 472.000000 10.000356
123.000000 366.000000 120.000131
109.000000 78.000000 -0.000493
441.000000 394.000000 29.999848
118.000000 405.000000 100.000021
148.000000 454.000000 109.999506
416.000000 405.000000 10.000422
214.000000 331.000000 120.000073
377.000000 481.000000 9.999558
381.000000 413.000000 59.999620
400.000000 448.000000 30.000243
185.000000 358.000000 149.999663
194.000000 362.000000 139.999629
184.000000 183.000000 160.000453
391.000000 348.000000 50.000085
378.000000 477.000000 30.000336
314.000000 349.000000 150.000272
159.000000 302.000000 150.000093
70.000000 396.000000 29.999689
186.000000 428.000000 140.000092
384.000000 460.000000 50.000420
240.000000 438.000000 139.999721
384.000000 426.000000 59.999785
396.000000 389.000000 50.000117
210.000000 348.000000 139.999537
46.000000 171.000000 9.999837
173.000000 498.000000 30.000387

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,384 @@
383
27.850301 -17.970299 134.875148
-30.421501 -21.008499 144.254249
0.114400 -1.784400 50.132200
-18.264400 12.484400 101.627799
17.396600 -1.906600 99.023301
21.063600 -19.043600 132.826796
29.463299 -5.123300 142.671651
28.427000 -18.197000 149.973500
20.364199 6.405800 114.632099
14.811500 -9.141500 105.235749
19.542701 -11.952700 123.446353
-15.004000 -8.116000 98.497997
-10.693900 -4.016100 58.998050
-24.134400 11.784400 107.332801
-23.475999 8.946000 104.191998
-4.457700 9.027700 56.901148
16.912700 15.277300 98.476347
12.924100 12.075900 77.677051
-21.715099 6.515100 96.397452
10.053100 -2.053100 61.576548
8.974900 -5.644900 68.852447
8.249500 -14.839500 101.639749
29.422501 -20.732500 142.186247
27.104600 -21.824600 149.962300
31.013999 -2.164000 149.977000
27.157400 -17.317400 149.988700
30.981799 -14.521800 149.960900
31.027899 -19.127900 149.983950
20.507200 17.852800 112.518598
21.309300 -12.729300 134.384644
19.385099 -11.085100 123.957550
22.975500 -13.585500 143.232755
14.246800 -7.776800 92.238399
15.299200 -12.349200 106.839596
-20.686101 6.686100 104.721952
10.410300 -14.950300 109.945149
-0.572800 -12.837200 104.743602
9.430900 -11.520900 105.765453
22.088301 -9.988300 120.869147
18.696699 -9.706700 114.113353
20.051600 -15.941601 125.510798
17.014300 -12.824300 114.637149
25.541301 -12.251300 134.885648
22.033800 -2.333800 121.891898
-18.289400 -7.380600 96.930299
-21.954500 4.094500 101.622749
-19.513600 4.613600 100.078202
-20.256000 10.436000 98.992001
-13.608300 -11.011700 97.960850
-2.165500 -7.894500 80.802246
-2.200600 2.110600 56.369702
14.424000 10.726000 88.107003
-17.650600 6.960600 97.964700
-16.106900 1.746900 89.671550
3.865300 -3.635300 75.612649
3.290200 -2.310200 69.370102
-16.555599 8.445600 91.712202
-7.549400 1.549400 62.095299
7.074300 -4.804300 73.542148
10.674700 -9.114700 102.117354
6.940000 -9.100000 95.914998
-20.917200 -9.272800 92.751403
-4.043800 -2.546200 51.163101
-15.706300 -13.303700 92.791853
-22.591499 15.911500 100.584248
-15.927600 14.587600 91.711202
3.550800 8.709200 54.815400
-19.986700 12.906700 96.921649
-11.174600 7.344600 64.152697
5.729900 -1.889900 53.249949
7.298300 1.991700 57.419149
17.288300 -16.248301 111.504147
11.139900 -5.079900 66.779953
9.299900 -4.059900 60.559951
23.049200 11.560800 111.494597
24.139500 4.980500 116.704751
29.687400 -21.817400 149.958700
22.317100 -19.487100 141.113554
23.782200 -13.892200 146.856105
28.643601 -7.063600 145.816796
-19.830300 13.350300 103.164847
19.028700 14.271300 109.414352
28.074900 -4.714900 140.597449
22.833101 4.646900 119.306550
22.090100 5.439900 116.685051
22.567500 9.082500 114.078753
20.163701 14.096300 113.586848
20.742100 -11.562100 131.231049
21.981901 -17.111900 134.370944
25.385999 -12.786000 140.117995
24.287300 -11.777300 136.968650
27.245601 -13.955600 143.737795
27.890600 -16.050599 147.355294
21.251200 -8.951200 115.150604
12.877700 -11.097700 103.713851
-18.707900 5.677900 101.101053
12.688800 -9.448800 105.264399
-11.035400 -9.444600 102.652300
-14.368000 -10.892000 101.091003
-1.861500 -14.028500 102.634250
-13.923300 -12.566700 98.998351
12.485200 -11.985200 105.252599
11.048700 -13.378700 106.834346
15.585200 -10.855200 108.912598
16.027501 -12.237500 112.513748
14.253200 -14.333200 110.456603
16.070500 -14.640500 114.080253
17.983100 -12.533100 114.631549
6.535600 -13.215600 105.777803
21.772400 1.057600 117.201198
22.093599 -4.353600 119.821796
12.941200 -11.261200 110.465603
8.894700 -11.624700 107.357351
19.696600 0.693400 108.898298
21.726600 6.443400 112.543298
18.646500 -13.406500 116.678251
21.180000 -14.900000 129.675001
24.322701 -5.942700 126.056352
20.577200 -13.737200 125.553598
23.806999 -11.367000 134.358494
21.780000 -11.330000 131.770003
23.553400 -3.403400 121.911698
-18.976199 -4.463800 99.036901
-18.976499 -2.053500 99.036751
-20.277900 -7.612100 97.431053
-20.563300 -1.986700 97.458353
-21.594099 7.434100 103.177947
-20.604900 6.144900 101.112553
-19.292400 9.542400 100.588798
-22.819500 11.419500 103.675251
-21.773300 11.133300 102.113354
-16.047000 -8.803000 98.486497
-17.838200 -12.431800 97.955900
-18.931901 -9.888100 98.489047
-2.144400 1.054400 53.792799
-4.323100 1.703100 55.838451
1.430600 -2.270600 61.570298
-2.026100 -1.613900 55.831951
2.131900 -1.761900 54.815950
-0.320800 -1.229200 52.214602
6.954800 -1.014800 57.937399
4.719600 1.400400 55.329801
-6.380700 2.000700 58.964650
1.736200 -5.286200 72.513097
5.514400 -4.744400 71.962200
3.504500 -4.074500 74.042252
-0.940300 5.240300 57.939849
0.447400 8.312600 61.558698
7.754600 1.155400 61.057302
7.038400 3.821600 60.524201
-18.130300 12.180300 96.929849
0.591600 -4.271600 79.750803
-16.671001 -7.499000 95.374502
-17.649101 -4.930900 92.780453
-14.640000 -9.350000 96.914999
-9.162100 -7.997900 88.098953
-15.918000 -6.132000 86.515998
-19.701600 12.661600 100.069202
-20.835200 13.045200 96.912399
-18.631699 13.451700 92.279149
-18.708099 7.788100 96.405952
-7.977300 3.337300 60.541351
-10.023200 0.453200 62.598399
-7.388900 -3.921100 68.870547
-3.846100 -3.533900 69.391952
0.788000 -3.358000 76.674000
-2.012200 -3.767800 75.083903
-7.760200 6.150200 62.099899
-9.870600 7.370600 66.764703
-11.900100 5.990100 72.514947
3.315700 -5.645700 77.702851
-0.920200 -10.459800 101.614899
-1.343500 -7.016500 82.893248
6.011700 -11.191700 100.565848
7.105100 -12.185100 103.692551
-10.273400 -10.216600 99.028301
-11.712200 -9.327800 96.408902
-8.960200 -11.809800 97.454903
3.113900 -12.953900 100.591948
3.243300 -10.013300 101.081653
-20.770601 -11.609400 92.244699
-19.028101 -12.051900 90.675951
-20.208101 13.128100 90.710951
-9.834500 10.214500 64.157747
4.486300 2.443700 51.688151
9.673400 0.846600 60.536701
9.712600 8.327400 65.196298
13.512100 -4.832100 74.061052
12.061000 -4.051000 66.245499
22.982500 17.437500 112.026251
23.673800 14.956200 114.606899
20.499800 9.810200 108.359902
21.161500 11.518500 111.515747
22.374501 15.865500 108.362252
24.998800 -17.598800 145.279407
26.518900 -9.998900 142.679451
27.565800 -12.355800 145.307907
24.669799 -12.679800 143.214905
23.095200 -1.885200 121.892598
24.370300 1.799700 121.900148
21.694800 8.405200 114.607399
24.475301 -14.645300 142.167647
23.101000 -12.941000 136.965500
23.011600 -11.721600 136.445796
11.249500 -10.039500 102.144754
11.478300 -9.638300 105.789153
-12.076300 -11.093700 102.666850
-10.158400 -11.291600 100.555798
-14.430500 -13.689500 100.589748
-11.942100 -12.587900 101.628949
4.210800 -13.780800 102.150404
11.627100 -10.087100 103.713551
13.965000 -12.725000 108.367502
13.494400 -10.934400 107.342201
11.087800 -11.727800 107.343901
17.523701 -10.653700 114.596849
15.976999 -14.507000 112.003501
22.654100 0.555900 117.237048
21.217500 1.302500 117.223748
10.458900 -12.888900 110.959450
20.789201 -3.569200 115.119604
12.419000 -14.169000 106.289500
26.735001 -12.275000 134.897498
23.753101 -11.153100 131.261549
25.044499 -9.814500 134.397244
-15.024300 -9.735700 103.167847
-18.943901 -9.896100 101.638049
-19.183900 -0.826100 97.473053
-21.081500 4.011500 100.074252
-21.030300 -7.229700 97.474853
-20.216900 -5.253100 99.011551
-20.370299 9.710300 100.569848
-18.827300 4.747300 101.606349
-17.820599 -13.119400 96.429702
-19.615700 -11.634300 96.937149
-17.897401 -11.592600 99.541298
-4.505300 -1.134700 55.352351
-3.076800 -0.133200 54.281600
-1.984000 -0.956000 53.782999
-1.971800 5.601800 55.859101
4.345700 1.744300 56.382852
4.337700 0.212300 53.788849
-5.845100 -0.054900 57.392449
-2.207900 2.327900 56.896048
-4.803200 5.673200 58.448400
-3.315500 7.895500 58.437250
-4.058200 3.998200 57.390899
-2.918700 2.268700 55.330651
1.922000 -4.172000 72.991001
8.036200 6.673800 64.173097
9.331000 0.699000 62.070499
15.177400 9.722600 87.078702
-15.047600 -11.302400 96.401202
-18.230100 -10.259900 96.959949
-19.210901 -7.459100 95.914548
-20.057501 -6.162500 95.906248
-14.785000 9.135000 81.832497
-6.880700 -4.639300 67.304650
0.504400 -5.664400 76.667200
-9.644500 3.944500 63.637750
-5.252100 8.492100 60.543951
-8.323400 7.803400 64.193297
-7.812700 5.902700 64.168647
12.889700 -9.189700 101.594849
-8.747400 -8.232600 93.291300
-8.437700 -9.452300 99.006151
4.299700 -11.999700 101.089853
-13.059600 -9.500400 97.980200
-4.751400 -11.228600 101.629299
-5.702600 -11.687400 100.078702
-0.019300 -11.130700 99.550348
-1.125500 -12.214500 101.077253
1.704500 -9.164500 92.257249
-8.743600 -12.276400 95.388202
-6.535000 -12.745000 98.482497
-0.395100 -12.694900 102.657450
8.012100 -6.662100 76.156054
5.773300 -7.943300 83.946649
-13.410600 -8.179400 97.974700
2.629100 -10.759100 104.719552
17.136201 12.023800 100.573098
18.969300 1.950700 106.829646
18.233000 12.227000 105.786503
19.635699 9.214300 108.397852
-19.567501 14.097500 89.146254
-10.928400 9.608400 64.670801
4.128600 -1.358600 51.189301
23.612199 17.337800 114.111103
22.350301 12.439700 113.035152
20.050601 16.059400 108.890298
25.622900 -14.602900 141.656443
13.433900 -12.663900 105.271949
14.446700 -13.526700 106.293350
-12.458200 -10.991800 104.215898
-7.977000 -12.133000 102.136504
-10.337200 -11.122800 98.996401
8.685300 -12.285300 103.677651
11.915700 -12.805700 110.432853
15.323500 -12.373500 108.876748
21.036700 2.813300 115.143354
20.474001 -10.874000 126.566998
-15.678100 -9.831900 101.605949
-18.537900 -9.082100 100.051052
-19.415301 0.275300 95.892348
-20.074500 -1.855500 98.997751
-20.657700 -11.132300 96.921149
-16.127301 -11.362700 102.676350
-4.404800 -1.805200 55.352601
3.603800 0.256200 52.236902
-1.456500 2.376500 55.346751
-6.989300 -0.650700 59.515350
-3.508500 6.938500 57.420749
13.405600 2.894400 79.752803
5.013300 -5.403300 77.176647
-16.463399 -12.186600 95.398302
-17.237900 -8.492100 96.956049
-15.187700 -11.322300 99.526148
-19.380301 -9.519700 94.354851
-17.254100 -10.525900 93.792946
-10.367600 -8.342400 93.286200
-18.943799 -7.526200 94.333101
-18.886901 -5.823100 95.911548
-18.345499 13.475500 90.702251
0.806700 -5.676700 77.718351
1.046900 -4.706900 77.708451
-9.061500 5.131500 65.209248
-11.407800 7.057800 72.511097
-4.013600 -10.796400 100.058202
3.416100 -12.676100 104.238048
2.260000 -12.440000 102.655000
7.753900 -12.673900 102.156954
9.956900 -9.976900 102.113454
7.505000 -11.235000 104.212498
5.119000 -10.599000 102.669500
-3.021400 -11.178600 103.199297
-8.721000 -11.079000 99.034501
-5.856500 -11.553500 98.481747
3.042600 -10.732600 99.536298
1.399600 -11.809600 101.119803
-8.425600 8.965600 60.527201
2.854500 -0.104500 50.117250
20.102601 14.287400 110.996300
20.071300 15.338700 106.825646
25.300099 -13.550100 140.075045
-14.544200 -10.735800 102.672900
8.899800 -11.309800 103.694901
8.373500 -13.593500 103.701751
14.957000 -13.707000 108.393502
-14.790800 -10.369200 100.579598
-19.526100 -0.693900 99.016951
-19.891100 1.501100 99.004451
-20.159900 -11.180100 95.360052
-19.838100 -11.101900 93.795946
3.044600 0.755400 51.682301
3.687800 1.442200 52.738898
-6.885100 -3.294900 61.557448
-6.215400 1.495400 59.492300
-17.352500 -7.377500 94.313751
-16.239999 -6.860000 91.224998
-20.576800 0.046800 95.891598
-18.031599 5.911600 96.409202
-16.499700 13.289700 90.685151
-9.316800 8.566800 63.131600
-6.187100 -10.722900 98.486447
3.329400 -10.959400 102.659700
-9.227300 -10.502700 100.586348
-5.203100 -11.776900 96.948449
2.934500 -1.344500 50.157250
21.912201 13.157800 111.506097
-17.928601 0.158600 95.890698
-17.785900 3.815900 96.932049
-20.299200 3.889200 98.485397
4.120400 0.749600 54.270200
-17.981600 -6.818400 94.324201
-19.942101 -5.897900 94.318951
-18.396400 7.436400 94.846797
-9.592500 7.612500 63.663750
21.840700 14.839300 110.435353
-20.119800 2.629800 96.935099
21.831000 16.478999 112.030501
20.249299 14.330700 108.894648
21.416699 14.473300 113.053352
21.707799 13.162200 109.433902

View File

@ -0,0 +1,500 @@
500
231.000000 182.000000 0.000351
14.000000 115.000000 -15.999829
71.000000 94.000000 31.999592
68.000000 54.000000 47.999560
207.000000 119.000000 31.999602
108.000000 241.000000 -31.999965
36.000000 131.000000 -31.999798
61.000000 79.000000 -16.000061
158.000000 29.000000 47.999573
171.000000 20.000000 32.000102
80.000000 21.000000 15.999613
208.000000 209.000000 -32.000094
72.000000 154.000000 -0.000168
130.000000 195.000000 0.000267
159.000000 185.000000 0.000415
165.000000 172.000000 -15.999620
189.000000 138.000000 -16.000149
180.000000 211.000000 -48.000257
152.000000 182.000000 -32.000245
196.000000 216.000000 -0.000361
171.000000 63.000000 47.999650
8.000000 118.000000 -0.000377
167.000000 228.000000 0.000447
149.000000 64.000000 -0.000335
26.000000 166.000000 -31.999897
62.000000 132.000000 15.999507
129.000000 244.000000 -15.999563
223.000000 57.000000 15.999837
142.000000 25.000000 47.999532
119.000000 12.000000 15.999691
51.000000 213.000000 -32.000051
67.000000 59.000000 47.999558
244.000000 118.000000 16.000059
229.000000 186.000000 0.000022
151.000000 232.000000 0.000274
177.000000 166.000000 -0.000265
139.000000 71.000000 16.000400
201.000000 184.000000 16.000257
149.000000 26.000000 47.999937
144.000000 184.000000 -32.000347
212.000000 44.000000 16.000372
122.000000 243.000000 -32.000271
63.000000 226.000000 -15.999717
14.000000 92.000000 -0.000228
79.000000 191.000000 -48.000345
168.000000 174.000000 -31.999750
94.000000 239.000000 -15.999957
128.000000 196.000000 -0.000407
10.000000 151.000000 -0.000198
28.000000 63.000000 16.000490
50.000000 217.000000 -15.999698
147.000000 242.000000 -16.000115
11.000000 139.000000 -16.000482
208.000000 183.000000 16.000006
153.000000 28.000000 47.999911
63.000000 29.000000 15.999721
18.000000 173.000000 0.000064
80.000000 86.000000 31.999967
214.000000 131.000000 -31.999614
25.000000 164.000000 -32.000292
18.000000 81.000000 15.999688
174.000000 164.000000 -15.999519
112.000000 58.000000 48.000316
221.000000 196.000000 0.000020
87.000000 228.000000 0.000271
85.000000 82.000000 31.999577
136.000000 185.000000 -31.999946
139.000000 12.000000 15.999814
207.000000 136.000000 -31.999751
243.000000 127.000000 -16.000406
238.000000 83.000000 16.000043
236.000000 175.000000 0.000133
59.000000 39.000000 -0.000173
138.000000 58.000000 48.000435
63.000000 125.000000 -15.999958
148.000000 59.000000 47.999763
11.000000 116.000000 16.000295
12.000000 104.000000 16.000059
99.000000 195.000000 -47.999545
176.000000 168.000000 -32.000485
97.000000 186.000000 -0.000049
26.000000 69.000000 0.000408
67.000000 196.000000 -48.000408
197.000000 73.000000 -15.999752
180.000000 99.000000 15.999739
246.000000 145.000000 0.000341
54.000000 184.000000 15.999968
194.000000 78.000000 -15.999879
16.000000 144.000000 15.999772
100.000000 28.000000 47.999568
26.000000 108.000000 32.000427
188.000000 58.000000 48.000056
104.000000 23.000000 0.000019
186.000000 193.000000 -47.999712
242.000000 100.000000 16.000407
139.000000 12.000000 31.999602
229.000000 168.000000 -31.999564
96.000000 230.000000 -0.000241
144.000000 71.000000 31.999954
139.000000 184.000000 -16.000332
158.000000 226.000000 -48.000437
54.000000 143.000000 -31.999968
241.000000 163.000000 -0.000375
110.000000 59.000000 47.999725
88.000000 27.000000 0.000264
159.000000 25.000000 0.000204
228.000000 68.000000 0.000450
53.000000 114.000000 31.999861
76.000000 22.000000 16.000012
238.000000 172.000000 -16.000306
27.000000 174.000000 -32.000074
71.000000 64.000000 48.000089
58.000000 73.000000 -16.000054
226.000000 75.000000 31.999956
64.000000 224.000000 -32.000409
219.000000 79.000000 -16.000015
171.000000 219.000000 -48.000443
17.000000 149.000000 15.999620
85.000000 219.000000 -47.999948
139.000000 243.000000 -31.999927
64.000000 132.000000 -15.999923
133.000000 60.000000 0.000370
141.000000 13.000000 32.000016
144.000000 193.000000 0.000487
29.000000 77.000000 32.000389
186.000000 227.000000 -31.999584
51.000000 211.000000 -0.000140
100.000000 67.000000 -0.000192
153.000000 240.000000 -31.999932
184.000000 64.000000 48.000329
118.000000 233.000000 0.000081
37.000000 196.000000 -32.000450
196.000000 35.000000 32.000130
43.000000 51.000000 32.000190
97.000000 61.000000 47.999902
18.000000 174.000000 -15.999889
54.000000 112.000000 32.000389
244.000000 102.000000 -0.000141
26.000000 89.000000 31.999633
183.000000 101.000000 -0.000397
190.000000 155.000000 -32.000059
141.000000 61.000000 -0.000261
122.000000 69.000000 31.999905
159.000000 239.000000 -31.999703
180.000000 156.000000 -16.000295
122.000000 186.000000 -32.000017
159.000000 16.000000 31.999811
111.000000 62.000000 0.000081
30.000000 73.000000 32.000406
40.000000 131.000000 -32.000022
185.000000 50.000000 47.999556
46.000000 121.000000 32.000010
15.000000 91.000000 15.999817
139.000000 243.000000 -15.999875
194.000000 110.000000 -15.999682
200.000000 221.000000 -16.000194
146.000000 183.000000 -32.000064
106.000000 191.000000 0.000436
182.000000 156.000000 -0.000125
201.000000 71.000000 -16.000001
127.000000 59.000000 0.000459
141.000000 242.000000 -32.000493
171.000000 235.000000 -31.999615
61.000000 176.000000 15.999908
151.000000 14.000000 31.999740
121.000000 185.000000 -16.000410
9.000000 110.000000 -0.000308
36.000000 124.000000 31.999681
162.000000 16.000000 16.000300
80.000000 234.000000 -16.000029
15.000000 164.000000 -15.999884
208.000000 72.000000 -16.000103
67.000000 114.000000 15.999868
120.000000 60.000000 0.000358
153.000000 24.000000 -0.000315
167.000000 77.000000 0.000084
88.000000 178.000000 -0.000296
178.000000 88.000000 31.999579
75.000000 99.000000 16.000467
151.000000 241.000000 -31.999550
47.000000 183.000000 15.999840
151.000000 180.000000 -15.999625
112.000000 230.000000 -47.999580
152.000000 60.000000 47.999920
145.000000 183.000000 -15.999679
62.000000 123.000000 -16.000320
228.000000 142.000000 -32.000272
106.000000 232.000000 0.000122
89.000000 33.000000 48.000060
118.000000 231.000000 -48.000438
162.000000 239.000000 -15.999565
196.000000 220.000000 -31.999656
189.000000 117.000000 15.999870
73.000000 46.000000 48.000414
193.000000 37.000000 0.000188
187.000000 221.000000 0.000304
61.000000 140.000000 15.999972
115.000000 184.000000 -15.999817
153.000000 231.000000 -0.000374
46.000000 134.000000 -31.999890
68.000000 201.000000 -47.999923
217.000000 55.000000 -0.000048
200.000000 34.000000 16.000119
152.000000 195.000000 -48.000153
146.000000 72.000000 32.000142
105.000000 242.000000 -15.999819
158.000000 69.000000 0.000177
145.000000 72.000000 15.999652
103.000000 73.000000 32.000330
246.000000 112.000000 -0.000307
243.000000 128.000000 16.000331
46.000000 48.000000 0.000354
99.000000 15.000000 31.999993
96.000000 70.000000 0.000313
192.000000 129.000000 15.999724
171.000000 36.000000 48.000142
56.000000 41.000000 -0.000237
87.000000 236.000000 -32.000264
110.000000 242.000000 -32.000440
90.000000 26.000000 0.000233
219.000000 176.000000 16.000414
196.000000 32.000000 15.999647
225.000000 119.000000 31.999763
168.000000 81.000000 31.999513
103.000000 182.000000 -31.999641
28.000000 192.000000 -16.000020
225.000000 136.000000 -32.000475
62.000000 117.000000 -15.999916
58.000000 182.000000 16.000479
94.000000 71.000000 0.000277
210.000000 43.000000 16.000458
238.000000 86.000000 -0.000143
186.000000 28.000000 32.000422
208.000000 46.000000 32.000427
99.000000 60.000000 47.999544
85.000000 36.000000 47.999560
14.000000 140.000000 16.000064
174.000000 91.000000 16.000080
72.000000 33.000000 0.000351
230.000000 95.000000 31.999702
153.000000 15.000000 31.999736
180.000000 44.000000 48.000142
147.000000 13.000000 16.000173
168.000000 27.000000 0.000135
16.000000 168.000000 -16.000330
12.000000 98.000000 0.000077
84.000000 88.000000 15.999770
175.000000 162.000000 -15.999729
122.000000 12.000000 31.999587
194.000000 145.000000 16.000214
245.000000 104.000000 0.000096
38.000000 50.000000 16.000261
102.000000 231.000000 -0.000273
120.000000 70.000000 32.000247
103.000000 241.000000 -15.999562
24.000000 73.000000 0.000059
153.000000 241.000000 -16.000022
80.000000 29.000000 -0.000425
73.000000 223.000000 0.000246
25.000000 91.000000 -15.999716
110.000000 13.000000 31.999612
142.000000 230.000000 -47.999894
23.000000 185.000000 -16.000220
226.000000 180.000000 -31.999881
230.000000 105.000000 32.000364
80.000000 169.000000 -31.999656
219.000000 203.000000 -16.000266
69.000000 142.000000 -0.000292
33.000000 61.000000 0.000446
66.000000 119.000000 15.999737
29.000000 178.000000 -31.999839
122.000000 195.000000 0.000250
95.000000 79.000000 15.999537
53.000000 141.000000 -32.000021
228.000000 113.000000 31.999506
110.000000 196.000000 -48.000009
84.000000 167.000000 -16.000145
221.000000 123.000000 32.000377
192.000000 126.000000 -16.000016
163.000000 237.000000 -32.000336
107.000000 73.000000 15.999636
30.000000 59.000000 15.999555
143.000000 233.000000 -0.000014
76.000000 233.000000 -16.000291
140.000000 24.000000 48.000373
13.000000 122.000000 -16.000396
119.000000 243.000000 -15.999928
219.000000 52.000000 15.999516
39.000000 207.000000 -16.000205
11.000000 153.000000 0.000400
153.000000 227.000000 -47.999632
197.000000 182.000000 15.999689
96.000000 15.000000 16.000408
189.000000 27.000000 16.000370
85.000000 173.000000 -32.000317
137.000000 185.000000 -15.999535
186.000000 113.000000 0.000316
47.000000 72.000000 -16.000307
26.000000 147.000000 -31.999760
34.000000 59.000000 0.000272
184.000000 191.000000 -47.999729
135.000000 195.000000 0.000041
137.000000 22.000000 0.000252
137.000000 70.000000 16.000342
25.000000 164.000000 16.000081
241.000000 162.000000 -16.000253
25.000000 91.000000 31.999907
204.000000 44.000000 -0.000409
110.000000 184.000000 -32.000070
71.000000 191.000000 -47.999714
186.000000 141.000000 -0.000049
112.000000 22.000000 -0.000413
27.000000 187.000000 -0.000197
28.000000 139.000000 -31.999749
155.000000 76.000000 16.000041
31.000000 135.000000 -31.999815
99.000000 240.000000 -32.000440
218.000000 59.000000 32.000098
240.000000 164.000000 -16.000179
186.000000 62.000000 48.000381
193.000000 120.000000 -15.999543
87.000000 19.000000 32.000031
185.000000 148.000000 -0.000396
187.000000 139.000000 -0.000262
194.000000 177.000000 15.999986
13.000000 133.000000 15.999525
217.000000 131.000000 -32.000238
73.000000 229.000000 -31.999844
218.000000 196.000000 -31.999779
62.000000 218.000000 -0.000483
131.000000 12.000000 16.000284
68.000000 136.000000 -0.000446
14.000000 94.000000 16.000185
112.000000 197.000000 -48.000241
223.000000 198.000000 -15.999801
71.000000 161.000000 -32.000219
86.000000 18.000000 16.000351
100.000000 227.000000 -47.999777
17.000000 169.000000 -0.000308
118.000000 24.000000 47.999953
190.000000 100.000000 31.999686
72.000000 103.000000 0.000019
214.000000 124.000000 32.000046
221.000000 132.000000 -32.000248
81.000000 217.000000 -48.000242
54.000000 71.000000 -16.000327
14.000000 161.000000 -16.000004
64.000000 31.000000 31.999705
196.000000 223.000000 -16.000117
114.000000 194.000000 0.000448
239.000000 109.000000 -15.999611
242.000000 155.000000 -15.999961
62.000000 138.000000 15.999829
155.000000 188.000000 -0.000170
12.000000 131.000000 15.999532
230.000000 150.000000 -31.999836
12.000000 124.000000 -15.999937
244.000000 137.000000 -15.999895
38.000000 200.000000 0.000110
175.000000 93.000000 16.000389
40.000000 124.000000 32.000203
129.000000 11.000000 15.999840
39.000000 48.000000 16.000091
23.000000 70.000000 15.999560
89.000000 222.000000 -47.999557
73.000000 26.000000 31.999999
242.000000 94.000000 -0.000065
229.000000 148.000000 -32.000276
86.000000 237.000000 -15.999800
229.000000 190.000000 -15.999638
115.000000 71.000000 15.999835
180.000000 95.000000 -0.000262
247.000000 137.000000 0.000076
130.000000 69.000000 31.999978
38.000000 205.000000 -15.999885
95.000000 238.000000 -31.999829
155.000000 179.000000 -16.000164
25.000000 153.000000 -32.000133
17.000000 106.000000 -15.999715
178.000000 167.000000 -31.999967
209.000000 207.000000 -0.000472
68.000000 34.000000 0.000071
239.000000 146.000000 15.999682
81.000000 38.000000 47.999976
110.000000 23.000000 -0.000396
27.000000 81.000000 31.999842
136.000000 70.000000 32.000427
145.000000 232.000000 0.000270
140.000000 231.000000 -47.999598
148.000000 196.000000 -48.000069
16.000000 111.000000 -16.000408
108.000000 14.000000 31.999518
240.000000 91.000000 16.000149
230.000000 160.000000 -32.000275
64.000000 123.000000 15.999728
16.000000 87.000000 15.999844
8.000000 141.000000 0.000100
222.000000 194.000000 -0.000178
160.000000 61.000000 48.000409
174.000000 20.000000 15.999672
171.000000 174.000000 0.000162
84.000000 81.000000 -0.000264
151.000000 75.000000 15.999741
36.000000 79.000000 -16.000373
163.000000 18.000000 31.999651
68.000000 116.000000 -0.000288
185.000000 205.000000 -48.000148
193.000000 135.000000 16.000057
187.000000 119.000000 0.000122
19.000000 80.000000 0.000444
173.000000 64.000000 47.999899
237.000000 82.000000 0.000371
212.000000 211.000000 -15.999928
229.000000 87.000000 31.999870
69.000000 114.000000 0.000236
97.000000 194.000000 -48.000360
36.000000 176.000000 15.999577
55.000000 213.000000 -0.000157
189.000000 228.000000 -15.999840
110.000000 192.000000 -0.000275
174.000000 235.000000 -15.999655
73.000000 99.000000 -0.000327
28.000000 116.000000 31.999974
229.000000 107.000000 31.999858
153.000000 14.000000 15.999576
103.000000 14.000000 16.000290
130.000000 186.000000 -31.999906
162.000000 62.000000 48.000005
75.000000 160.000000 0.000127
13.000000 161.000000 -0.000169
183.000000 222.000000 -0.000352
107.000000 182.000000 -15.999640
105.000000 13.000000 15.999856
50.000000 38.000000 16.000248
175.000000 86.000000 0.000015
30.000000 196.000000 -15.999867
51.000000 42.000000 31.999990
241.000000 93.000000 15.999799
131.000000 243.000000 -16.000487
243.000000 102.000000 15.999527
30.000000 182.000000 -32.000239
120.000000 185.000000 -31.999833
66.000000 136.000000 -16.000264
200.000000 42.000000 -0.000351
25.000000 102.000000 32.000231
176.000000 87.000000 32.000019
160.000000 194.000000 -47.999614
96.000000 240.000000 -16.000345
230.000000 91.000000 -15.999643
243.000000 157.000000 -0.000306
243.000000 153.000000 -16.000310
217.000000 124.000000 32.000136
188.000000 197.000000 -47.999767
121.000000 70.000000 15.999790
242.000000 134.000000 16.000201
165.000000 229.000000 -0.000410
102.000000 24.000000 -0.000139
230.000000 164.000000 16.000285
182.000000 32.000000 0.000135
247.000000 114.000000 -0.000002
43.000000 204.000000 -32.000367
210.000000 212.000000 -15.999682
37.000000 59.000000 32.000195
94.000000 16.000000 15.999830
112.000000 25.000000 48.000203
95.000000 17.000000 31.999534
171.000000 192.000000 -48.000241
125.000000 60.000000 0.000292
12.000000 151.000000 -15.999890
162.000000 193.000000 -48.000247
161.000000 184.000000 0.000343
70.000000 107.000000 -0.000360
31.000000 120.000000 32.000491
73.000000 209.000000 -47.999995
106.000000 73.000000 31.999769
145.000000 63.000000 -0.000340
183.000000 152.000000 0.000134
138.000000 197.000000 -47.999966
106.000000 182.000000 -32.000377
95.000000 176.000000 -15.999590
61.000000 115.000000 -16.000234
80.000000 169.000000 0.000431
149.000000 23.000000 0.000338
242.000000 121.000000 -16.000055
63.000000 130.000000 16.000208
229.000000 65.000000 15.999791
152.000000 73.000000 31.999837
9.000000 143.000000 -0.000190
13.000000 100.000000 15.999721
78.000000 89.000000 0.000382
175.000000 226.000000 -0.000207
79.000000 64.000000 47.999724
165.000000 83.000000 15.999635
173.000000 191.000000 -48.000118
67.000000 141.000000 -15.999508
149.000000 229.000000 -48.000104
75.000000 156.000000 -15.999668
13.000000 155.000000 -15.999930
110.000000 71.000000 32.000201

View File

@ -12,13 +12,12 @@ if(POLICY CMP0071)
cmake_policy(SET CMP0071 NEW) cmake_policy(SET CMP0071 NEW)
endif() endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core Qt5) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Core Qt6)
find_package(Qt5 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if (CGAL_Qt5_FOUND AND Qt5_FOUND) if (CGAL_Qt6_FOUND AND Qt6_FOUND)
include(${CGAL_USE_FILE})
add_compile_definitions(QT_NO_KEYWORDS) add_compile_definitions(QT_NO_KEYWORDS)
include_directories( BEFORE ./ ) set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Arrangement package includes # Arrangement package includes
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
@ -50,7 +49,7 @@ if (CGAL_Qt5_FOUND AND Qt5_FOUND)
endif() endif()
qt5_wrap_ui(arrangement_2_uis qt6_wrap_ui(arrangement_2_uis
ArrangementDemoWindow.ui ArrangementDemoWindow.ui
NewTabDialog.ui NewTabDialog.ui
OverlayDialog.ui OverlayDialog.ui
@ -58,7 +57,7 @@ if (CGAL_Qt5_FOUND AND Qt5_FOUND)
AlgebraicCurveInputDialog.ui AlgebraicCurveInputDialog.ui
RationalCurveInputDialog.ui) RationalCurveInputDialog.ui)
qt5_wrap_cpp(CGAL_Qt5_MOC_FILES qt6_wrap_cpp(CGAL_Qt6_MOC_FILES
ArrangementDemoWindow.h ArrangementDemoWindow.h
ArrangementDemoTab.h ArrangementDemoTab.h
GraphicsViewCurveInput.h GraphicsViewCurveInput.h
@ -70,7 +69,7 @@ if (CGAL_Qt5_FOUND AND Qt5_FOUND)
ColorItemEditor.h ColorItemEditor.h
PropertyValueDelegate.h) PropertyValueDelegate.h)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES Arrangement_on_surface_2.qrc) qt6_add_resources(CGAL_Qt6_RESOURCE_FILES Arrangement_on_surface_2.qrc)
add_executable(arrangement_2 add_executable(arrangement_2
arrangement_2.cpp arrangement_2.cpp
@ -107,11 +106,11 @@ if (CGAL_Qt5_FOUND AND Qt5_FOUND)
ArrangementIO.cpp ArrangementIO.cpp
${UTILS_COMPILE_FILES} ${UTILS_COMPILE_FILES}
${arrangement_2_uis} ${arrangement_2_uis}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt6_RESOURCE_FILES}
${CGAL_Qt5_MOC_FILES}) ${CGAL_Qt6_MOC_FILES})
target_link_libraries(arrangement_2 PRIVATE Qt5::Widgets) target_link_libraries(arrangement_2 PRIVATE Qt6::Widgets)
target_link_libraries(arrangement_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5) target_link_libraries(arrangement_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6)
if(CGAL_Core_FOUND) if(CGAL_Core_FOUND)
target_link_libraries(arrangement_2 PRIVATE CGAL::CGAL_Core) target_link_libraries(arrangement_2 PRIVATE CGAL::CGAL_Core)
endif() endif()
@ -124,11 +123,11 @@ if (CGAL_Qt5_FOUND AND Qt5_FOUND)
else() else()
set(MISSING_DEPS "") set(MISSING_DEPS "")
if(NOT CGAL_Qt5_FOUND) if(NOT CGAL_Qt6_FOUND)
set(MISSING_DEPS "the CGAL Qt5 library, ${MISSING_DEPS}") set(MISSING_DEPS "the CGAL Qt6 library, ${MISSING_DEPS}")
endif() endif()
if(NOT Qt5_FOUND) if(NOT Qt6_FOUND)
set(MISSING_DEPS "Qt5, ${MISSING_DEPS}") set(MISSING_DEPS "Qt6, ${MISSING_DEPS}")
endif() endif()
message("NOTICE: This demo requires ${MISSING_DEPS} and will not be compiled.") message("NOTICE: This demo requires ${MISSING_DEPS} and will not be compiled.")
endif() endif()

View File

@ -22,7 +22,7 @@ PropertyValueDelegate::PropertyValueDelegate( QObject* parent ):
QItemEditorFactory* factory = new QItemEditorFactory; QItemEditorFactory* factory = new QItemEditorFactory;
QItemEditorCreatorBase* creator = QItemEditorCreatorBase* creator =
new QStandardItemEditorCreator< PositiveSpinBox >( ); new QStandardItemEditorCreator< PositiveSpinBox >( );
factory->registerEditor( QVariant::UInt, creator ); factory->registerEditor( QMetaType::UInt, creator );
this->setItemEditorFactory( factory ); this->setItemEditorFactory( factory );
} }

View File

@ -19,7 +19,7 @@ int main(int argc, char* argv[])
QCoreApplication::setOrganizationName("CGAL"); QCoreApplication::setOrganizationName("CGAL");
QCoreApplication::setApplicationName("2D Arrangements Demo"); QCoreApplication::setApplicationName("2D Arrangements Demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
ArrangementDemoWindow demoWindow; ArrangementDemoWindow demoWindow;

View File

@ -6764,8 +6764,8 @@ An arrangement data structure can be visualized by calling the \link PkgArrangem
\cgalExample{Arrangement_on_surface_2/draw_arr.cpp} \cgalExample{Arrangement_on_surface_2/draw_arr.cpp}
This function requires `CGAL_Qt5`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is defined. This function requires `CGAL_Qt6`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is defined.
Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt5` and add the definition `CGAL_USE_BASIC_VIEWER`. Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt6` and add the definition `CGAL_USE_BASIC_VIEWER`.
\cgalFigureBegin{aos_fig-draw_arr,draw_arr.png} \cgalFigureBegin{aos_fig-draw_arr,draw_arr.png}
A snapshot of the window created by the program A snapshot of the window created by the program

View File

@ -28,9 +28,9 @@ namespace CGAL {
* opens a new window and draws `arr`, an instance of the `CGAL::Arrangement_2` * opens a new window and draws `arr`, an instance of the `CGAL::Arrangement_2`
* class template. A call to this function is blocking; that is, the program * class template. A call to this function is blocking; that is, the program
* continues only after the user closes the window. This function requires * continues only after the user closes the window. This function requires
* `CGAL_Qt5`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is * `CGAL_Qt6`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is
* defined. Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link * defined. Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link
* with `CGAL_Qt5` and add the definition `CGAL_USE_BASIC_VIEWER`. * with `CGAL_Qt6` and add the definition `CGAL_USE_BASIC_VIEWER`.
* *
* \tparam GeometryTraits_2 a geometry traits type, a model of a 2D arrangement * \tparam GeometryTraits_2 a geometry traits type, a model of a 2D arrangement
* traits concept. At this point it must be an instance of either * traits concept. At this point it must be an instance of either

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Arrangement_on_surface_2_Examples) project(Arrangement_on_surface_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt5) find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt6)
# create a target per cppfile # create a target per cppfile
file( file(
@ -15,7 +15,7 @@ foreach(cppfile ${cppfiles})
create_single_source_cgal_program("${cppfile}") create_single_source_cgal_program("${cppfile}")
endforeach() endforeach()
if(CGAL_Qt5_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_arr PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_arr PUBLIC CGAL::CGAL_Basic_viewer)
target_link_libraries(linear_conics PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(linear_conics PUBLIC CGAL::CGAL_Basic_viewer)
target_link_libraries(parabolas PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(parabolas PUBLIC CGAL::CGAL_Basic_viewer)

View File

@ -18,12 +18,12 @@ using Arrangement_2 = CGAL::Arrangement_2<Traits>;
* \param value Value component range: [0, 1] * \param value Value component range: [0, 1]
* \return tuple<red, green, blue>, where each component is in the range [0, 255] * \return tuple<red, green, blue>, where each component is in the range [0, 255]
*/ */
std::tuple<float, float, float> std::tuple<unsigned char, unsigned char, unsigned char>
hsv_to_rgb(float hue, float sat, float value) { hsv_to_rgb(float hue, float sat, float value) {
float red, green, blue; float red, green, blue;
float fc = value * sat; // Chroma float fc = value * sat; // Chroma
float hue_prime = fmod(hue / 60.0, 6); float hue_prime = fmod(hue / 60.0f, 6.f);
float fx = fc * (1.0 - fabs(fmod(hue_prime, 2) - 1.0)); float fx = fc * (1.0f - fabs(fmod(hue_prime, 2.f) - 1.f));
float fm = value - fc; float fm = value - fc;
if(0 <= hue_prime && hue_prime < 1) { if(0 <= hue_prime && hue_prime < 1) {
@ -69,7 +69,10 @@ hsv_to_rgb(float hue, float sat, float value) {
red *= 255; red *= 255;
green *= 255; green *= 255;
blue *= 255; blue *= 255;
return std::make_tuple(red, green, blue); unsigned char redc = (unsigned char)red;
unsigned char greenc = (unsigned char)green;
unsigned char bluec = (unsigned char)blue;
return std::make_tuple(redc, greenc, bluec);
} }
int main() { int main() {
@ -98,12 +101,11 @@ int main() {
std::size_t id(0); std::size_t id(0);
CGAL::draw(arr, [&] (Arrangement_2::Face_const_handle) -> CGAL::IO::Color { CGAL::draw(arr, [&] (Arrangement_2::Face_const_handle) -> CGAL::IO::Color {
float h = 360.0 * id++ / arr.number_of_faces(); float h = 360.0f * id++ / arr.number_of_faces();
float s = 0.5; float s = 0.5;
float v = 0.5; float v = 0.5;
float r, g, b; auto [r, g, b] = hsv_to_rgb(h, s, v);
std::tie(r, g, b) = hsv_to_rgb(h, s, v); return CGAL::IO::Color(r,g,b);
return CGAL::IO::Color(r, g, b);
}, "hsv colors", true); }, "hsv colors", true);
return EXIT_SUCCESS; return EXIT_SUCCESS;

View File

@ -8,7 +8,4 @@ enable_testing()
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)
include (${CGAL_USE_FILE})
# Since CMake-2.8.12: New CMake script, that defines the targets and
# the CTest test cases.
include(${CMAKE_CURRENT_SOURCE_DIR}/cgal_test.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/cgal_test.cmake)

View File

@ -3,8 +3,8 @@ namespace CGAL {
/*! /*!
\ingroup PkgDrawPolygonSet2 \ingroup PkgDrawPolygonSet2
opens a new window and draws `aps`, an instance of the `CGAL::Polygon_set_2` class. A call to this function is blocking, that is the program continues as soon as the user closes the window. This function requires `CGAL_Qt5`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is defined. opens a new window and draws `aps`, an instance of the `CGAL::Polygon_set_2` class. A call to this function is blocking, that is the program continues as soon as the user closes the window. This function requires `CGAL_Qt6`, and is only available if the macro `CGAL_USE_BASIC_VIEWER` is defined.
Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt5` and add the definition `CGAL_USE_BASIC_VIEWER`. Linking with the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt6` and add the definition `CGAL_USE_BASIC_VIEWER`.
\tparam PS an instance of the `CGAL::Polygon_set_2` class. \tparam PS an instance of the `CGAL::Polygon_set_2` class.
\param aps the polygon set to draw. \param aps the polygon set to draw.

View File

@ -4,7 +4,7 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Boolean_set_operations_2_Examples) project(Boolean_set_operations_2_Examples)
find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt5) find_package(CGAL REQUIRED COMPONENTS Core OPTIONAL_COMPONENTS Qt6)
# create a target per cppfile # create a target per cppfile
file( file(
@ -15,7 +15,7 @@ foreach(cppfile ${cppfiles})
create_single_source_cgal_program("${cppfile}") create_single_source_cgal_program("${cppfile}")
endforeach() endforeach()
if(CGAL_Qt5_FOUND) if(CGAL_Qt6_FOUND)
target_link_libraries(draw_polygon_set PUBLIC CGAL::CGAL_Basic_viewer) target_link_libraries(draw_polygon_set PUBLIC CGAL::CGAL_Basic_viewer)
else() else()
message(STATUS "NOTICE: The example 'draw_polygon_set' requires Qt and drawing will be disabled.") message(STATUS "NOTICE: The example 'draw_polygon_set' requires Qt and drawing will be disabled.")

View File

@ -27,9 +27,9 @@ namespace CGAL {
* *
* opens a new window and draws `aps`, an instance of the `CGAL::Polygon_set_2` * opens a new window and draws `aps`, an instance of the `CGAL::Polygon_set_2`
* class. A call to this function is blocking, that is the program continues as * class. A call to this function is blocking, that is the program continues as
* soon as the user closes the window. This function requires `CGAL_Qt5`, and is * soon as the user closes the window. This function requires `CGAL_Qt6`, and is
* only available if the macro `CGAL_USE_BASIC_VIEWER` is defined. Linking with * only available if the macro `CGAL_USE_BASIC_VIEWER` is defined. Linking with
* the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt5` and add * the cmake target `CGAL::CGAL_Basic_viewer` will link with `CGAL_Qt6` and add
* the definition `CGAL_USE_BASIC_VIEWER`. * the definition `CGAL_USE_BASIC_VIEWER`.
* \tparam PS an instance of the `CGAL::Polygon_set_2` class. * \tparam PS an instance of the `CGAL::Polygon_set_2` class.
* \param aps the polygon set to draw. * \param aps the polygon set to draw.

View File

@ -20,8 +20,6 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}")
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)
include(${CGAL_USE_FILE})
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater) find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(NOT TARGET CGAL::Eigen3_support) if(NOT TARGET CGAL::Eigen3_support)
@ -99,13 +97,13 @@ if(IPE_FOUND AND IPE_VERSION)
cgal_add_compilation_test(CGAL_${IPELET}) cgal_add_compilation_test(CGAL_${IPELET})
endforeach(IPELET) endforeach(IPELET)
if(CGAL_Core_FOUND) if(CGAL_Core_FOUND)
target_link_libraries(CGAL_cone_spanners PRIVATE CGAL::CGAL_Core target_link_libraries(CGAL_cone_spanners PRIVATE CGAL::CGAL CGAL::CGAL_Core
CGAL::Eigen3_support) CGAL::Eigen3_support)
endif() endif()
#example in doc not installed #example in doc not installed
add_library(simple_triangulation MODULE simple_triangulation.cpp) add_library(simple_triangulation MODULE simple_triangulation.cpp)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS simple_triangulation) add_to_cached_list(CGAL_EXECUTABLE_TARGETS simple_triangulation)
target_link_libraries(simple_triangulation CGAL::Eigen3_support target_link_libraries(simple_triangulation CGAL::CGAL CGAL::Eigen3_support
${IPE_LIBRARIES}) ${IPE_LIBRARIES})
target_include_directories(simple_triangulation BEFORE PRIVATE ${IPE_INCLUDE_DIR}) target_include_directories(simple_triangulation BEFORE PRIVATE ${IPE_INCLUDE_DIR})
if (WITH_IPE_7) if (WITH_IPE_7)

View File

@ -1,29 +1,18 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Circular_kernel_3_Demo) project(Circular_kernel_3_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets OpenGL)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets OpenGL) qt_add_executable(Circular_kernel_3 Circular_kernel_3.cpp Viewer.cpp)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_executable(
Circular_kernel_3 Circular_kernel_3.cpp Viewer.cpp
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Circular_kernel_3) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Circular_kernel_3)
target_link_libraries(Circular_kernel_3 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Circular_kernel_3 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets Qt5::OpenGL) Qt6::Widgets Qt6::OpenGL)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Circular_kernel_3) cgal_add_compilation_test(Circular_kernel_3)
@ -33,6 +22,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -23,7 +23,7 @@ If the parameter is not given, the script creates <B>one executable for each giv
source file</B>. source file</B>.
<DT><B>`-c com1:com2:...`</B><DD> Lists components ("com1", <DT><B>`-c com1:com2:...`</B><DD> Lists components ("com1",
"com2") of \cgal to which the executable(s) should be linked. Valid components are \cgal's "com2") of \cgal to which the executable(s) should be linked. Valid components are \cgal's
libraries (i.e.\ "Core", "ImageIO", and "Qt5"). An example is `-c Core`. libraries (i.e.\ "Core", "ImageIO", and "Qt6"). An example is `-c Core`.
<DT><B>`-b boost1:boost2:...`</B><DD> Lists components ("boost1", <DT><B>`-b boost1:boost2:...`</B><DD> Lists components ("boost1",
"boost2") of \boost to which the executable(s) should be "boost2") of \boost to which the executable(s) should be

View File

@ -25,22 +25,22 @@ the section \subpage thirdparty.
- `-frounding-math` with gcc - `-frounding-math` with gcc
- `/fp:strict /fp:except-` with MSVC - `/fp:strict /fp:except-` with MSVC
\section secexample Minimal Example Using Qt5 \section secexample Minimal Example Using Qt6
This section describes a minimal example of a program that uses \cgal and Qt5 for some GUI features. This section describes a minimal example of a program that uses \cgal and Qt6 for some GUI features.
\subsection subcmake CMakeLists.txt \subsection subcmake CMakeLists.txt
\dontinclude Surface_mesh/CMakeLists.txt \dontinclude Surface_mesh/CMakeLists.txt
\skip cmake_minimum_required \skip cmake_minimum_required
\until project \until project
\skip #CGAL_Qt5 is needed for the drawing. \skip #CGAL_Qt6 is needed for the drawing.
\until endif() \until endif()
\skip #create the executable of the application \skip #create the executable of the application
\until "draw_surface_mesh.cpp" \until "draw_surface_mesh.cpp"
\skip if(CGAL_Qt5_FOUND) \skip if(CGAL_Qt6_FOUND)
\until target_link_libraries(draw_surface_mesh PUBLIC CGAL::CGAL_Qt5) \until target_link_libraries(draw_surface_mesh PUBLIC CGAL::CGAL_Qt6)
\skip endif \skip endif
\until #end of the file \until #end of the file

View File

@ -77,7 +77,7 @@ we recommend that you define the environment variable
\subsection thirdpartyMPFR GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating-Point Reliably (MPFR) Libraries \subsection thirdpartyMPFR GNU Multiple Precision Arithmetic (GMP) and GNU Multiple Precision Floating-Point Reliably (MPFR) Libraries
<b>GMP Version 4.2 or later, MPFR Version 2.2.1 or later</b> <b>GMP Version 4.2 or later, MPFR Version 2.2.1 or later</b>
The components `libCGAL`, `libCGAL_Core`, and `libCGAL_Qt5` require The components `libCGAL`, `libCGAL_Core`, and `libCGAL_Qt6` require
\gmp and \mpfr which are libraries for multi precision integers and rational numbers, \gmp and \mpfr which are libraries for multi precision integers and rational numbers,
and for multi precision floating point numbers. and for multi precision floating point numbers.
@ -102,19 +102,19 @@ version shipped with \cgal.
The page \ref configurationvariables lists CMake and environment variables which can be used to specify The page \ref configurationvariables lists CMake and environment variables which can be used to specify
the location of third-party software during configuration. the location of third-party software during configuration.
\subsection thirdpartyQt Qt5 \subsection thirdpartyQt Qt6
<b>Version 5.9.0 or later</b> <b>Version 6.4 or later</b>
Qt is a cross-platform application and UI framework. Qt is a cross-platform application and UI framework.
The component libCGAL_Qt5 is essential to run the \cgal demos and basic viewers. The component libCGAL_Qt6 is essential to run the \cgal demos and basic viewers.
It requires \qt5 installed on your system. It requires \qt6 installed on your system.
In case \qt is not yet installed on your system, you can download In case \qt is not yet installed on your system, you can download
it from <A HREF="https://www.qt-project.org/">`https://www.qt-project.org/`</A>. it from <A HREF="https://www.qt-project.org/">`https://www.qt-project.org/`</A>.
The exhaustive list of \qt5 components used in demos is: The exhaustive list of \qt6 components used in demos is:
`Core`, `Gui`, `Help`, `OpenGL`, `Script`, `ScriptTools`, `Svg`, `Widgets`, `Core`, `Gui`, `Help`, `OpenGL`, `OpenGLWidgets`, `Qml`, `Svg`, `Widgets`,
`qcollectiongenerator` (with `sqlite` driver plugin), and `Xml`. `WebSockets`, `Network`, and `qcollectiongenerator` (with `sqlite` driver plugin).
\subsection thirdpartyEigen Eigen \subsection thirdpartyEigen Eigen
<b>Version 3.3.4 or later</b> <b>Version 3.3.4 or later</b>

View File

@ -161,17 +161,17 @@ if no debugging is intended. Users should thus run:
cd CGAL-\cgalReleaseNumber/examples/Triangulation_2 cd CGAL-\cgalReleaseNumber/examples/Triangulation_2
cmake -DCGAL_DIR=$HOME/CGAL-\cgalReleaseNumber -DCMAKE_BUILD_TYPE=Release . # we are here using a release tarball cmake -DCGAL_DIR=$HOME/CGAL-\cgalReleaseNumber -DCMAKE_BUILD_TYPE=Release . # we are here using a release tarball
The package Qt5 on brew is "keg-only", which means it is not "linked" with brew. The package Qt6 on brew is "keg-only", which means it is not "linked" with brew.
In order to link against Qt5, you need to run: In order to link against Qt6, you need to run:
brew link qt@5 brew link qt@6
After that, you will have to specify the Qt5_DIR by hand to cmake, using something like After that, you will have to specify the Qt6_DIR by hand to cmake, using something like
-DQt5_DIR=/usr/local/opt/qt5/lib/cmake/Qt5 -DQt6_DIR=/usr/local/opt/qt6/lib/cmake/Qt6
where `/usr/local/` is actually your current brew installation directory. Check this directory where `/usr/local/` is actually your current brew installation directory. Check this directory
to be sure where the Qt5 is placed on your machine. to be sure where the Qt6 is placed on your machine.
\subsection usage_configuring_cmake_gui Specifying Missing Dependencies \subsection usage_configuring_cmake_gui Specifying Missing Dependencies

View File

@ -27,7 +27,7 @@ configure and/or build. Their values can be ON or OFF.
| `WITH_examples` | OFF | | `WITH_examples` | OFF |
| `WITH_demos` | OFF | | `WITH_demos` | OFF |
| `WITH_CGAL_Core` | ON | | `WITH_CGAL_Core` | ON |
| `WITH_CGAL_Qt5` | ON | | `WITH_CGAL_Qt6` | ON |
| `WITH_CGAL_ImageIO` | ON | | `WITH_CGAL_ImageIO` | ON |
\subsection installation_flags Compiler and Linker Flags \subsection installation_flags Compiler and Linker Flags
@ -85,7 +85,7 @@ and will serverly limit performances.
| Variable | Description | Type | %Default Value | | Variable | Description | Type | %Default Value |
| :- | :- | :- | :- | | :- | :- | :- | :- |
| `CGAL_DIR` | Full-path to the binary directory where \cgal was configured |Either CMake or Environment | none | | `CGAL_DIR` | Full-path to the binary directory where \cgal was configured |Either CMake or Environment | none |
| `Qt5_DIR` | Full-path to the Qt cmake directory |CMake| platform-dependent| | `Qt6_DIR` | Full-path to the Qt cmake directory |CMake| platform-dependent|
\subsection installation_variables_third_party Variables Providing Information About 3rd-Party Libraries \subsection installation_variables_third_party Variables Providing Information About 3rd-Party Libraries
@ -178,11 +178,11 @@ Under Linux, the \gmpxx is also searched for, and you may specify the following
\subsection installation_qt5 Qt5 Library \subsection installation_qt6 Qt6 Library
You must set the cmake or environment variable `Qt5_DIR` to point to the path You must set the cmake or environment variable `Qt6_DIR` to point to the path
to the directory containing the file `Qt5Config.cmake` created by your \qt5 installation. If you are to the directory containing the file `Qt6Config.cmake` created by your \qt6 installation. If you are
using the open source edition it should be `<path>/qt-everywhere-opensource-src-<version>/qtbase/lib/cmake/Qt5`. using the open source edition it should be `<path>/qt-everywhere-opensource-src-<version>/qtbase/lib/cmake/Qt6`.
\subsection installation_leda LEDA Library \subsection installation_leda LEDA Library

View File

@ -61,7 +61,7 @@ See the page
| :-------- | :------------- | :------------ | :----------- | | :-------- | :------------- | :------------ | :----------- |
| \cgal | none | Main library | \gmp, \mpfr, \boost (headers) | | \cgal | none | Main library | \gmp, \mpfr, \boost (headers) |
| `CGAL_ImageIO` | `WITH_CGAL_ImageIO` | Utilities to read and write image files | \zlib, \vtk (optional) | | `CGAL_ImageIO` | `WITH_CGAL_ImageIO` | Utilities to read and write image files | \zlib, \vtk (optional) |
| `CGAL_Qt5` | `WITH_CGAL_Qt5` | `QGraphicsView` support for \qt5-based demos | \qt5 | | `CGAL_Qt6` | `WITH_CGAL_Qt6` | `QGraphicsView` support for \qt6-based demos | \qt6 |
\subsection installation_examples CGAL Examples and Demos \subsection installation_examples CGAL Examples and Demos

View File

@ -114,11 +114,11 @@ not depend on `Qt`. However, one of the examples in the Triangulation_2 package
for visualization purposes. If you already have `Qt` installed, you can simply fill in the requested for visualization purposes. If you already have `Qt` installed, you can simply fill in the requested
CMake variables and paths. Otherwise, you can also install it using `vcpkg`: CMake variables and paths. Otherwise, you can also install it using `vcpkg`:
C:\dev\vcpkg> .\vcpkg.exe install qt5 C:\dev\vcpkg> .\vcpkg.exe install qt6
Remember to specify `--triplet` or the related environment variable in case you target 64-bit applications. Remember to specify `--triplet` or the related environment variable in case you target 64-bit applications.
As Qt5 is modular and as the \cgal examples and demos use only some of these modules As Qt6 is modular and as the \cgal examples and demos use only some of these modules
you can save download and compilation time by specifying an *installation option*: you can save download and compilation time by specifying an *installation option*:
C:\dev\vcpkg> .\vcpkg.exe install cgal[qt] C:\dev\vcpkg> .\vcpkg.exe install cgal[qt]
@ -234,11 +234,10 @@ A typical `Qt` installation would consist of the following steps:
<ul> <ul>
<li> <li>
Download and install the Qt library for open source development package for your Visual Studio version at Download and install the Qt library for open source development package for your Visual Studio version at
<a href="https://www.qt.io/download">https://www.qt.io/download</a> <a href="https://www.qt.io/download-open-source#source">https://www.qt.io/download-open-source#source</a>.</li>
(here is the direct link to the <a href="https://www.qt.io/offline-installers">offline installers</a>).</li> <li>Add the environment variable `QTDIR` pointing to the place you installed Qt, e.g., `C:\dev\Qt\Qt6.13.1`,
<li>Add the environment variable `QTDIR` pointing to the place you installed Qt, e.g., `C:\dev\Qt\Qt5.13.1`,
as this will help `cmake` to find Qt.</li> as this will help `cmake` to find Qt.</li>
<li>Add the bin directory of Qt, e.g. add `C:\dev\Qt\Qt5.13.1\msvcXXXX_YY\bin` to `PATH`, where `XXXX_YY` is something like `vc2017_64`. <li>Add the bin directory of Qt, e.g. add `C:\dev\Qt\Qt6.13.1\msvcXXXX_YY\bin` to `PATH`, where `XXXX_YY` is something like `vc2017_64`.
To avoid any conflict with another dll with the same name from another folder, add this path as the first in the list.</li> To avoid any conflict with another dll with the same name from another folder, add this path as the first in the list.</li>
</ul> </ul>

View File

@ -3106,6 +3106,16 @@ pages = "207--221"
bibsource = {dblp computer science bibliography, https://dblp.org/} bibsource = {dblp computer science bibliography, https://dblp.org/}
} }
@inproceedings {dunyach2013curvRemesh,
booktitle = {Eurographics 2013 - Short Papers},
title = {{Adaptive Remeshing for Real-Time Mesh Deformation}},
author = {Dunyach, Marion and Vanderhaeghe, David and Barthe, Loïc and Botsch, Mario},
year = {2013},
publisher = {The Eurographics Association},
ISSN = {1017-4656},
DOI = {10.2312/conf/EG2013/short/029-032}
}
@book{botsch2010PMP, @book{botsch2010PMP,
title={Polygon mesh processing}, title={Polygon mesh processing},
author={M. Botsch and L. Kobbelt and M. Pauly and P. Alliez and B. L{\'e}vy}, author={M. Botsch and L. Kobbelt and M. Pauly and P. Alliez and B. L{\'e}vy},

View File

@ -87,7 +87,7 @@ ALIASES = "cgal=%CGAL" \
"gnu=GNU" \ "gnu=GNU" \
"ms=MS" \ "ms=MS" \
"qt=Qt" \ "qt=Qt" \
"qt5=Qt5" \ "qt6=Qt6" \
"eigen=Eigen" \ "eigen=Eigen" \
"opengr=OpenGR" \ "opengr=OpenGR" \
"libpointmatcher=libpointmatcher" \ "libpointmatcher=libpointmatcher" \

View File

@ -78,7 +78,7 @@ ALIASES = "cgal=%CGAL" \
"gnu=GNU" \ "gnu=GNU" \
"ms=MS" \ "ms=MS" \
"qt=Qt" \ "qt=Qt" \
"qt5=Qt5" \ "qt6=Qt6" \
"eigen=Eigen" \ "eigen=Eigen" \
"opengr=OpenGR" \ "opengr=OpenGR" \
"libpointmatcher=libpointmatcher" \ "libpointmatcher=libpointmatcher" \

View File

@ -87,7 +87,7 @@ ALIASES = "cgal=%CGAL" \
"gnu=GNU" \ "gnu=GNU" \
"ms=MS" \ "ms=MS" \
"qt=Qt" \ "qt=Qt" \
"qt5=Qt5" \ "qt6=Qt6" \
"eigen=Eigen" \ "eigen=Eigen" \
"opengr=OpenGR" \ "opengr=OpenGR" \
"libpointmatcher=libpointmatcher" \ "libpointmatcher=libpointmatcher" \

View File

@ -157,7 +157,7 @@ def protect_upper_case(title):
return title.replace("dD","{dD}").replace("2D","{2D}").replace("3D","{3D}").replace("CGAL","{CGAL}").replace("Qt","{Qt}").replace("Boost","{Boost}") return title.replace("dD","{dD}").replace("2D","{2D}").replace("3D","{3D}").replace("CGAL","{CGAL}").replace("Qt","{Qt}").replace("Boost","{Boost}")
def protect_accentuated_letters(authors): def protect_accentuated_letters(authors):
res=authors.replace("é",r"{\'e}").replace("è",r"{\`e}").replace("É",r"{\'E}").replace("ä",r"{\"a}").replace("ö",r"{\"o}").replace("ñ",r"{\~n}").replace("ã",r"{\~a}").replace("ë",r"{\"e}").replace("ı",r"{\i}").replace("Ş",r"{\c{S}}").replace("ş",r"{\c{s}}").replace("%","") res=authors.replace("é",r"{\'e}").replace("è",r"{\`e}").replace("É",r"{\'E}").replace("ä",r"{\"a}").replace("ö",r"{\"o}").replace("ñ",r"{\~n}").replace("ã",r"{\~a}").replace("ë",r"{\"e}").replace("ı",r"{\i}").replace("Ş",r"{\c{S}}").replace("ş",r"{\c{s}}").replace("%","").replace("đ",r"{\-d}")
try: try:
res.encode('ascii') res.encode('ascii')
except UnicodeEncodeError: except UnicodeEncodeError:

View File

@ -117,7 +117,7 @@ if [ "$HAS_REF" -ne "1" ]; then
if [ $IS_RELEASE = 0 ]; then if [ $IS_RELEASE = 0 ]; then
cd $ROOT cd $ROOT
mkdir -p ./build && cd ./build mkdir -p ./build && cd ./build
cmake -DWITH_CGAL_Core=false -DWITH_CGAL_ImageIO=false -DWITH_CGAL_Qt5=false .. 1>> ./build_logs cmake -DWITH_CGAL_Core=false -DWITH_CGAL_ImageIO=false -DWITH_CGAL_Qt6=false .. 1>> ./build_logs
CGAL_NAME="$(cat $PWD/VERSION)" CGAL_NAME="$(cat $PWD/VERSION)"
cd $ROOT cd $ROOT
rm -rf ./build rm -rf ./build

View File

@ -9,12 +9,10 @@ add_executable(bench_simple_comparisons bench_simple_comparisons.cpp)
find_package(CGAL REQUIRED COMPONENTS Core) find_package(CGAL REQUIRED COMPONENTS Core)
add_executable(bench_orientation_3 "orientation_3.cpp") add_executable(bench_orientation_3 "orientation_3.cpp")
target_link_libraries(bench_orientation_3 ${CGAL_LIBRARIES} target_link_libraries(bench_orientation_3 CGAL::CGAL_Core)
${CGAL_3RD_PARTY_LIBRARIES})
add_executable(bench_comparisons "orientation_3.cpp") add_executable(bench_comparisons "orientation_3.cpp")
target_link_libraries(bench_comparisons ${CGAL_LIBRARIES} target_link_libraries(bench_comparisons CGAL::CGAL_Core)
${CGAL_3RD_PARTY_LIBRARIES})
set_property( set_property(
TARGET bench_comparisons TARGET bench_comparisons
APPEND APPEND

View File

@ -1,11 +0,0 @@
Les inputs se sont seulement un simple mousePressEvent (pour un circle, il faut cliquer deux fois)
Pour le cercle, ça serait bien d'avoir la possibilité d'entrée un cercle par centre/rayon, ou deux points diamétraux, ou trois points.
Bloquer l'input sur un truc // aux axes (avec shift)
S'inspirer de ipe, en général.
Control: pour les navigations
Shift: pour // aux axes.
Affichage du (x,y) par rapport à l'origine de l'objet en cours.
Integrer src/CGALQt5 dans le build process de CGAL, avec CMake.

View File

@ -311,7 +311,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Alpha_shape_2 demo"); app.setApplicationName("Alpha_shape_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -4,40 +4,25 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Alpha_shapes_2_Demo) project(Alpha_shapes_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
include_directories(BEFORE ./include)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
# UI files (Qt Designer files) set(CMAKE_AUTORCC ON)
qt5_wrap_ui(DT_UI_FILES Alpha_shapes_2.ui)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Alpha_shapes_2.qrc)
# The executable itself. # The executable itself.
add_executable( qt_add_executable(
Alpha_shapes_2 Alpha_shapes_2.cpp ${DT_UI_FILES} ${CGAL_Qt5_RESOURCE_FILES} Alpha_shapes_2 Alpha_shapes_2.cpp Alpha_shapes_2.ui Alpha_shapes_2.qrc)
${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Alpha_shapes_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Alpha_shapes_2)
target_link_libraries(Alpha_shapes_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Alpha_shapes_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Alpha_shapes_2) cgal_add_compilation_test(Alpha_shapes_2)
@ -45,5 +30,5 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Alpha_shapes_2) cgal_add_compilation_test(Alpha_shapes_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -313,7 +313,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Apollonius_graph_2 demo"); app.setApplicationName("Apollonius_graph_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Apollonius_graph_2); Q_INIT_RESOURCE(Apollonius_graph_2);

View File

@ -4,41 +4,25 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Apollonius_graph_2_Demo) project(Apollonius_graph_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
#-------------------------------- set(CMAKE_AUTOUIC ON)
# UI files (Qt Designer files) set(CMAKE_AUTORCC ON)
qt5_wrap_ui(DT_UI_FILES Apollonius_graph_2.ui)
# qrc files (resources files, that contain icons, at least) qt_add_executable(
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Apollonius_graph_2.qrc) Apollonius_graph_2 Apollonius_graph_2.cpp Apollonius_graph_2.ui
Apollonius_graph_2.qrc)
# use the Qt MOC preprocessor on classes that derives from QObject
# The executable itself.
add_executable(
Apollonius_graph_2 Apollonius_graph_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Apollonius_graph_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Apollonius_graph_2)
target_link_libraries(Apollonius_graph_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Apollonius_graph_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Apollonius_graph_2) cgal_add_compilation_test(Apollonius_graph_2)
@ -46,5 +30,5 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Apollonius_graph_2) cgal_add_compilation_test(Apollonius_graph_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -573,7 +573,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Bounding_volumes demo"); app.setApplicationName("Bounding_volumes demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;

View File

@ -197,7 +197,7 @@
</property> </property>
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>icons/min_circle.png</normaloff>icons/min_circle.png</iconset> <normaloff>:/cgal/Actions/icons/min_circle.png</normaloff>:/cgal/Actions/icons/min_circle.png</iconset>
</property> </property>
<property name="text"> <property name="text">
<string>Minimum Enclosing &amp;Circle</string> <string>Minimum Enclosing &amp;Circle</string>

View File

@ -4,60 +4,40 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Bounding_volumes_Demo) project(Bounding_volumes_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5)
find_package(Qt5 QUIET COMPONENTS Widgets)
include_directories(BEFORE ./include)
find_package(Eigen3 3.1.91 QUIET) #(requires 3.1.91 or greater) find_package(Eigen3 3.1.91 QUIET) #(requires 3.1.91 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
if(TARGET CGAL::Eigen3_support) if(NOT TARGET CGAL::Eigen3_support)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) message("NOTICE: This demo requires CGAL and Eigen, and will not be compiled.")
return()
endif()
if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files) qt_add_executable(
qt5_wrap_ui(DT_UI_FILES Bounding_volumes.ui) Bounding_volumes Bounding_volumes.cpp Bounding_volumes.ui Bounding_volumes.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Bounding_volumes.qrc)
# use the Qt MOC preprocessor on classes that derives from QObject
# The executable itself.
add_executable(
Bounding_volumes Bounding_volumes.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Bounding_volumes) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Bounding_volumes)
target_link_libraries(Bounding_volumes PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Bounding_volumes PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets Qt6::Widgets
PUBLIC CGAL::Eigen3_support) CGAL::Eigen3_support)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Bounding_volumes)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Bounding_volumes) cgal_add_compilation_test(Bounding_volumes)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()
else()
message("NOTICE: This demo requires CGAL and Eigen, and will not be compiled.")
endif()

View File

@ -4,41 +4,24 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Circular_kernel_2_Demo) project(Circular_kernel_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files) qt_add_executable(
qt5_wrap_ui(DT_UI_FILES Circular_kernel_2.ui) Circular_kernel_2 Circular_kernel_2.cpp
Circular_kernel_2.ui Circular_kernel_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Circular_kernel_2.qrc)
# use the Qt MOC preprocessor on classes that derives from QObject
# The executable itself.
add_executable(
Circular_kernel_2 Circular_kernel_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Circular_kernel_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Circular_kernel_2)
target_link_libraries(Circular_kernel_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Circular_kernel_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Circular_kernel_2) cgal_add_compilation_test(Circular_kernel_2)
@ -48,6 +31,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -336,7 +336,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Circular_kernel_2 demo"); app.setApplicationName("Circular_kernel_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -3,45 +3,29 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Generator_Demo) project(Generator_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files) qt_add_executable(Generator_2 Generator_2.cpp
qt5_wrap_ui(DT_UI_FILES Generator_2.ui) Generator_2.ui Generator_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Generator_2.qrc)
# use the Qt MOC preprocessor on classes that derives from QObject
# The executable itself.
add_executable(Generator_2 Generator_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Generator_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Generator_2)
target_link_libraries(Generator_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 Qt5::Widgets) target_link_libraries(Generator_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Generator_2) cgal_add_compilation_test(Generator_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -338,7 +338,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Generator_2 demo"); app.setApplicationName("Generator_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Generator_2); Q_INIT_RESOURCE(Generator_2);

View File

@ -3,34 +3,25 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(GraphicsView_Demo) project(GraphicsView_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_executable(min min.cpp ${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES}) qt_add_executable(min min.cpp)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS min) add_to_cached_list(CGAL_EXECUTABLE_TARGETS min)
target_link_libraries(min PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 Qt5::Widgets) target_link_libraries(min PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(min) cgal_add_compilation_test(min)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -4,41 +4,28 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(L1_Voronoi_diagram_2_Demo) project(L1_Voronoi_diagram_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5)
find_package(Qt5 QUIET COMPONENTS Widgets)
include_directories(BEFORE ./include) include_directories(BEFORE ./include)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files)
qt5_wrap_ui(DT_UI_FILES L1_voronoi_diagram_2.ui)
# qrc files (resources files, that contain icons, at least) qt_add_executable(
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./L1_voronoi_diagram_2.qrc) L1_voronoi_diagram_2 L1_voronoi_diagram_2.cpp
L1_voronoi_diagram_2.ui L1_voronoi_diagram_2.qrc)
# The executable itself.
add_executable(
L1_voronoi_diagram_2 L1_voronoi_diagram_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS L1_voronoi_diagram_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS L1_voronoi_diagram_2)
target_link_libraries(L1_voronoi_diagram_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(L1_voronoi_diagram_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(L1_voronoi_diagram_2) cgal_add_compilation_test(L1_voronoi_diagram_2)
@ -48,6 +35,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -395,7 +395,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("L1 Voronoi diagram_2 demo"); app.setApplicationName("L1 Voronoi diagram_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -4,45 +4,32 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Largest_empty_rect_2_Demo) project(Largest_empty_rect_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files)
qt5_wrap_ui(DT_UI_FILES Largest_empty_rectangle_2.ui)
# qrc files (resources files, that contain icons, at least) qt_add_executable(
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Largest_empty_rectangle_2.qrc) Largest_empty_rectangle_2 Largest_empty_rectangle_2.cpp
Largest_empty_rectangle_2.ui Largest_empty_rectangle_2.qrc)
# The executable itself.
add_executable(
Largest_empty_rectangle_2 Largest_empty_rectangle_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Largest_empty_rectangle_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Largest_empty_rectangle_2)
target_link_libraries(Largest_empty_rectangle_2 target_link_libraries(Largest_empty_rectangle_2
PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 Qt5::Widgets) PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Largest_empty_rectangle_2) cgal_add_compilation_test(Largest_empty_rectangle_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -327,7 +327,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Largest_empty_rectangle_2 demo"); app.setApplicationName("Largest_empty_rectangle_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Largest_empty_rectangle_2); Q_INIT_RESOURCE(Largest_empty_rectangle_2);

View File

@ -1,31 +1,22 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Periodic_2_triangulation_2_Demo) project(Periodic_2_triangulation_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5)
find_package(Qt5 QUIET COMPONENTS Widgets)
include_directories(BEFORE ./include) include_directories(BEFORE ./include)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
# UI files (Qt Designer files) # UI files (Qt Designer files)
qt5_wrap_ui(DT_UI_FILES Periodic_2_triangulation_2.ui) qt6_wrap_ui(DT_UI_FILES Periodic_2_triangulation_2.ui)
# qrc files (resources files, that contain icons, at least) # qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Periodic_2_triangulation_2.qrc) qt6_add_resources(CGAL_Qt6_RESOURCE_FILES ./Periodic_2_triangulation_2.qrc)
# find header files for projects that can show them # find header files for projects that can show them
file(GLOB headers "*.h") file(GLOB headers "*.h")
@ -35,12 +26,12 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
source_group("QT" FILES ${QT_headers}) source_group("QT" FILES ${QT_headers})
# The executable itself. # The executable itself.
add_executable( qt_add_executable(
Periodic_2_Delaunay_triangulation_2 Periodic_2_Delaunay_triangulation_2
Periodic_2_Delaunay_triangulation_2.cpp Periodic_2_Delaunay_triangulation_2.cpp
${DT_UI_FILES} ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt6_RESOURCE_FILES}
${CGAL_Qt5_MOC_FILES} ${CGAL_Qt6_MOC_FILES}
${headers} ${headers}
${QT_headers} ${QT_headers}
${P2T2_headers}) ${P2T2_headers})
@ -49,12 +40,12 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
Periodic_2_Delaunay_triangulation_2) Periodic_2_Delaunay_triangulation_2)
target_link_libraries(Periodic_2_Delaunay_triangulation_2 target_link_libraries(Periodic_2_Delaunay_triangulation_2
PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 Qt5::Widgets) PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Periodic_2_Delaunay_triangulation_2) cgal_add_compilation_test(Periodic_2_Delaunay_triangulation_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -476,7 +476,7 @@ int main(int argc, char **argv)
app.setOrganizationName("Nico Kruithof"); app.setOrganizationName("Nico Kruithof");
app.setApplicationName("Periodic_2_Delaunay_triangulation_2 demo"); app.setApplicationName("Periodic_2_Delaunay_triangulation_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;

View File

@ -4,16 +4,7 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Polygon_Demo) project(Polygon_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6 Core)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5 Core)
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater) find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
include(CGAL_Eigen3_support) include(CGAL_Eigen3_support)
@ -22,37 +13,28 @@ if(NOT TARGET CGAL::Eigen3_support)
return() return()
endif() endif()
find_package(Qt5 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
include(${CGAL_USE_FILE})
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
if(CGAL_Core_FOUND) if(CGAL_Core_FOUND)
add_definitions(-DCGAL_USE_CORE) add_definitions(-DCGAL_USE_CORE)
endif() endif()
# UI files (Qt Designer files) qt_add_executable(Polygon_2 Polygon_2.cpp
qt5_wrap_ui(DT_UI_FILES Polygon_2.ui) Polygon_2.ui Polygon_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Polygon_2.qrc)
# add_library( CGAL SHARED IMPORTED )
# SET_PROPERTY(TARGET CGAL PROPERTY IMPORTED_LOCATION ${CGAL_LIBRARY} )
# The executable itself.
add_executable(Polygon_2 Polygon_2.cpp ${DT_UI_FILES} ${DT_RESOURCE_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Polygon_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Polygon_2)
target_link_libraries(Polygon_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Polygon_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
CGAL::Eigen3_support Qt5::Widgets) CGAL::Eigen3_support Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Polygon_2) cgal_add_compilation_test(Polygon_2)
else() else()
message("NOTICE: This demo requires CGAL, CGAL_Core, and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL, CGAL_Core, and Qt6, and will not be compiled.")
endif() endif()

View File

@ -596,7 +596,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Polygon_2 demo"); app.setApplicationName("Polygon_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Polygon_2); Q_INIT_RESOURCE(Polygon_2);

View File

@ -4,49 +4,31 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Segment_Delaunay_graph_2_Demo) project(Segment_Delaunay_graph_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6 Core)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5 Core) find_package(Qt6 QUIET COMPONENTS Widgets)
set(QT_USE_QTXML TRUE)
set(QT_USE_QTMAIN TRUE)
set(QT_USE_QTSCRIPT TRUE)
set(QT_USE_QTOPENGL TRUE)
find_package(Qt5 QUIET COMPONENTS Widgets)
include_directories(BEFORE ./include) include_directories(BEFORE ./include)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
include(${CGAL_USE_FILE})
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
# UI files (Qt Designer files)
qt5_wrap_ui(CDT_UI_FILES Segment_voronoi_2.ui)
# qrc files (resources files, that contain icons, at least) qt_add_executable(
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Segment_voronoi_2.qrc) Segment_voronoi_2 Segment_voronoi_2.cpp
Segment_voronoi_2.ui Segment_voronoi_2.qrc)
# The executable itself.
add_executable(
Segment_voronoi_2 Segment_voronoi_2.cpp ${CDT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Segment_voronoi_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Segment_voronoi_2)
target_link_libraries(Segment_voronoi_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Segment_voronoi_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Segment_voronoi_2) cgal_add_compilation_test(Segment_voronoi_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -426,7 +426,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Segment Voronoi 2 demo"); app.setApplicationName("Segment Voronoi 2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -4,48 +4,28 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Segment_Delaunay_graph_Linf_2_Demo) project(Segment_Delaunay_graph_Linf_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6 Core)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5 Core)
set(QT_USE_QTXML TRUE)
set(QT_USE_QTMAIN TRUE)
set(QT_USE_QTSCRIPT TRUE)
set(QT_USE_QTOPENGL TRUE)
find_package(Qt5 QUIET COMPONENTS Widgets)
include_directories(BEFORE ./include) include_directories(BEFORE ./include)
if(CGAL_Qt5_FOUND AND Qt5_FOUND) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
include(${CGAL_USE_FILE}) set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
# UI files (Qt Designer files) qt_add_executable(
qt5_wrap_ui(CDT_UI_FILES Segment_voronoi_2.ui) Segment_voronoi_linf_2 Segment_voronoi_linf_2.cpp
Segment_voronoi_2.ui Segment_voronoi_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Segment_voronoi_2.qrc)
# The executable itself.
add_executable(
Segment_voronoi_linf_2 Segment_voronoi_linf_2.cpp ${CDT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Segment_voronoi_linf_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Segment_voronoi_linf_2)
target_link_libraries(Segment_voronoi_linf_2 PRIVATE CGAL::CGAL target_link_libraries(Segment_voronoi_linf_2 PRIVATE CGAL::CGAL
CGAL::CGAL_Qt5 Qt5::Widgets) CGAL::CGAL_Qt6 Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Segment_voronoi_linf_2) cgal_add_compilation_test(Segment_voronoi_linf_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -522,7 +522,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Segment Voronoi 2 demo"); app.setApplicationName("Segment Voronoi 2 demo");
// Import resources from libCGAL (Qt5) // Import resources from libCGAL (Qt6)
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
if (argc == 2) { if (argc == 2) {

View File

@ -4,39 +4,24 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Snap_rounding_2_Demo) project(Snap_rounding_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# UI files (Qt Designer files) qt_add_executable(
qt5_wrap_ui(DT_UI_FILES Snap_rounding_2.ui) Snap_rounding_2 Snap_rounding_2.cpp
Snap_rounding_2.ui Snap_rounding_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Snap_rounding_2.qrc)
# The executable itself.
add_executable(
Snap_rounding_2 Snap_rounding_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Snap_rounding_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Snap_rounding_2)
target_link_libraries(Snap_rounding_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Snap_rounding_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Snap_rounding_2) cgal_add_compilation_test(Snap_rounding_2)
@ -44,5 +29,5 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Snap_rounding_2) cgal_add_compilation_test(Snap_rounding_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6<, and will not be compiled.")
endif() endif()

View File

@ -341,7 +341,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Snap_rounding_2 demo"); app.setApplicationName("Snap_rounding_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Snap_rounding_2); Q_INIT_RESOURCE(Snap_rounding_2);

View File

@ -1,8 +1,11 @@
<RCC> <RCC>
<qresource prefix="/cgal/Actions" > <qresource prefix="/cgal/Actions">
<file>icons/grid.png</file>
<file>icons/snapped.png</file>
<file>icons/unsnapped.png</file>
</qresource> </qresource>
<qresource prefix="/cgal/help" > <qresource prefix="/cgal/help">
<file alias="about_CGAL.html" >../resources/about_CGAL.html</file> <file alias="about_CGAL.html">../resources/about_CGAL.html</file>
<file>about_Snap_rounding_2.html</file> <file>about_Snap_rounding_2.html</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -4,45 +4,31 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Spatial_searching_2_Demo) project(Spatial_searching_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files) qt_add_executable(
qt5_wrap_ui(DT_UI_FILES Spatial_searching_2.ui) Spatial_searching_2 Spatial_searching_2.cpp
Spatial_searching_2.ui Spatial_searching_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Spatial_searching_2.qrc)
# The executable itself.
add_executable(
Spatial_searching_2 Spatial_searching_2.cpp ${DT_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Spatial_searching_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Spatial_searching_2)
target_link_libraries(Spatial_searching_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Spatial_searching_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Spatial_searching_2) cgal_add_compilation_test(Spatial_searching_2)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -302,7 +302,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Spatial_searching_2 demo"); app.setApplicationName("Spatial_searching_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Spatial_searching_2); Q_INIT_RESOURCE(Spatial_searching_2);

View File

@ -4,40 +4,26 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Stream_lines_2_Demo) project(Stream_lines_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning.
cmake_policy(SET CMP0053 OLD)
endif()
if(POLICY CMP0071) find_package(Qt6 QUIET COMPONENTS Widgets)
cmake_policy(SET CMP0071 NEW)
endif()
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) if(CGAL_Qt6_FOUND AND Qt6_FOUND)
find_package(Qt5 QUIET COMPONENTS Widgets)
if(CGAL_Qt5_FOUND AND Qt5_FOUND)
add_definitions(-DQT_NO_KEYWORDS) add_definitions(-DQT_NO_KEYWORDS)
set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
# UI files (Qt Designer files) qt_add_executable(
qt5_wrap_ui(DT_UI_FILES Stream_lines_2.ui) Stream_lines_2 Stream_lines_2.cpp
Stream_lines_2.ui Stream_lines_2.qrc)
# qrc files (resources files, that contain icons, at least)
qt5_add_resources(CGAL_Qt5_RESOURCE_FILES ./Stream_lines_2.qrc)
# The executable itself.
add_executable(
Stream_lines_2 Stream_lines_2.cpp ${DT_UI_FILES} ${CGAL_Qt5_RESOURCE_FILES}
${CGAL_Qt5_MOC_FILES})
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Stream_lines_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Stream_lines_2)
target_link_libraries(Stream_lines_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 target_link_libraries(Stream_lines_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Qt5::Widgets) Qt6::Widgets)
include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake) include(${CGAL_MODULES_DIR}/CGAL_add_test.cmake)
cgal_add_compilation_test(Stream_lines_2) cgal_add_compilation_test(Stream_lines_2)
@ -47,6 +33,6 @@ if(CGAL_Qt5_FOUND AND Qt5_FOUND)
else() else()
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
endif() endif()

View File

@ -279,7 +279,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Stream_lines_2 demo"); app.setApplicationName("Stream_lines_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
// See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE // See https://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
Q_INIT_RESOURCE(Stream_lines_2); Q_INIT_RESOURCE(Stream_lines_2);

View File

@ -4,23 +4,16 @@
cmake_minimum_required(VERSION 3.1...3.23) cmake_minimum_required(VERSION 3.1...3.23)
project(Triangulation_2_Demo) project(Triangulation_2_Demo)
if(NOT POLICY CMP0070 AND POLICY CMP0053) set(CMAKE_AUTOMOC ON)
# Only set CMP0053 to OLD with CMake<3.10, otherwise there is a warning. set(CMAKE_AUTOUIC ON)
cmake_policy(SET CMP0053 OLD) set(CMAKE_AUTORCC ON)
endif()
if(POLICY CMP0071)
cmake_policy(SET CMP0071 NEW)
endif()
set(CMAKE_AUTOMOC TRUE)
set(CMAKE_INCLUDE_CURRENT_DIR TRUE) set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt5) find_package(CGAL REQUIRED OPTIONAL_COMPONENTS Qt6)
find_package(Qt5 QUIET COMPONENTS Widgets) find_package(Qt6 QUIET COMPONENTS Widgets)
if(NOT CGAL_Qt5_FOUND OR NOT Qt5_FOUND) if(NOT CGAL_Qt6_FOUND OR NOT Qt6_FOUND)
message("NOTICE: This demo requires CGAL and Qt5, and will not be compiled.") message("NOTICE: This demo requires CGAL and Qt6, and will not be compiled.")
return() return()
endif() endif()
@ -31,15 +24,12 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
# The "constrained Delaunay" demo: Constrained_Delaunay_triangulation_2 # The "constrained Delaunay" demo: Constrained_Delaunay_triangulation_2
#-------------------------------- #--------------------------------
qt5_add_resources(CD_RES_FILE Constrained_Delaunay_triangulation_2.qrc) qt_add_executable(
qt5_wrap_ui(CD_UI_FILES Constrained_Delaunay_triangulation_2.ui)
# The executable itself.
add_executable(
Constrained_Delaunay_triangulation_2 Constrained_Delaunay_triangulation_2
Constrained_Delaunay_triangulation_2.cpp ${CD_UI_FILES} Constrained_Delaunay_triangulation_2.cpp
${CGAL_Qt5_RESOURCE_FILES} ${CD_RES_FILE}) Constrained_Delaunay_triangulation_2.ui Constrained_Delaunay_triangulation_2.qrc)
target_link_libraries(Constrained_Delaunay_triangulation_2 target_link_libraries(Constrained_Delaunay_triangulation_2
PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 Qt5::Widgets) PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets)
target_include_directories(Constrained_Delaunay_triangulation_2 target_include_directories(Constrained_Delaunay_triangulation_2
PRIVATE ./include) PRIVATE ./include)
@ -48,14 +38,11 @@ add_to_cached_list(CGAL_EXECUTABLE_TARGETS Constrained_Delaunay_triangulation_2)
#-------------------------------- #--------------------------------
# The "Delaunay" demo: Delaunay_triangulation_2 # The "Delaunay" demo: Delaunay_triangulation_2
#-------------------------------- #--------------------------------
qt5_wrap_ui(D_UI_FILES Delaunay_triangulation_2.ui) qt_add_executable(
qt5_add_resources(D_RES_FILE Delaunay_triangulation_2.qrc) Delaunay_triangulation_2 Delaunay_triangulation_2.cpp
# The executable itself. Delaunay_triangulation_2.ui Delaunay_triangulation_2.qrc)
add_executable(
Delaunay_triangulation_2 Delaunay_triangulation_2.cpp ${D_UI_FILES}
${CGAL_Qt5_RESOURCE_FILES} ${D_RES_FILE})
target_link_libraries(Delaunay_triangulation_2 target_link_libraries(Delaunay_triangulation_2
PRIVATE CGAL::CGAL CGAL::CGAL_Qt5 Qt5::Widgets) PRIVATE CGAL::CGAL CGAL::CGAL_Qt6 Qt6::Widgets)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Delaunay_triangulation_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Delaunay_triangulation_2)
@ -63,14 +50,11 @@ add_to_cached_list(CGAL_EXECUTABLE_TARGETS Delaunay_triangulation_2)
# The "Regular" demo: Regular_triangulation_2 # The "Regular" demo: Regular_triangulation_2
#-------------------------------- #--------------------------------
# The executable itself. qt_add_executable(
qt5_add_resources(R_RES_FILE Regular_triangulation_2.qrc) Regular_triangulation_2 Regular_triangulation_2.cpp
qt5_wrap_ui(R_UI_FILES Regular_triangulation_2.ui) Regular_triangulation_2.ui Regular_triangulation_2.qrc)
add_executable( target_link_libraries(Regular_triangulation_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt6
Regular_triangulation_2 Regular_triangulation_2.cpp ${R_UI_FILES} Qt6::Widgets)
${CGAL_Qt5_RESOURCE_FILES} ${R_RES_FILE})
target_link_libraries(Regular_triangulation_2 PRIVATE CGAL::CGAL CGAL::CGAL_Qt5
Qt5::Widgets)
add_to_cached_list(CGAL_EXECUTABLE_TARGETS Regular_triangulation_2) add_to_cached_list(CGAL_EXECUTABLE_TARGETS Regular_triangulation_2)

View File

@ -923,7 +923,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Constrained_Delaunay_triangulation_2 demo"); app.setApplicationName("Constrained_Delaunay_triangulation_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -412,7 +412,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Delaunay_triangulation_2 demo"); app.setApplicationName("Delaunay_triangulation_2 demo");
// Import resources from libCGAL (QT5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -334,7 +334,7 @@ int main(int argc, char **argv)
app.setOrganizationName("GeometryFactory"); app.setOrganizationName("GeometryFactory");
app.setApplicationName("Regular_triangulation_2 demo"); app.setApplicationName("Regular_triangulation_2 demo");
// Import resources from libCGAL (Qt5). // Import resources from libCGAL (Qt6).
CGAL_QT_INIT_RESOURCES; CGAL_QT_INIT_RESOURCES;
MainWindow mainWindow; MainWindow mainWindow;

View File

@ -34,7 +34,7 @@
#include <CGAL/Qt/manipulatedFrame.h> #include <CGAL/Qt/manipulatedFrame.h>
#include <QKeyEvent> #include <QKeyEvent>
#include <QOpenGLVertexArrayObject> #include <QOpenGLVertexArrayObject>
#include <QGLBuffer> #include <QOpenGLBuffer>
#include <QOpenGLShaderProgram> #include <QOpenGLShaderProgram>
#ifdef __GNUC__ #ifdef __GNUC__
@ -1779,7 +1779,7 @@ protected:
static const unsigned int NB_VBO_BUFFERS=(END_POS-BEGIN_POS)+ static const unsigned int NB_VBO_BUFFERS=(END_POS-BEGIN_POS)+
(END_COLOR-BEGIN_COLOR)+2; // +2 for 2 vectors of normals (END_COLOR-BEGIN_COLOR)+2; // +2 for 2 vectors of normals
QGLBuffer buffers[NB_VBO_BUFFERS]; QOpenGLBuffer buffers[NB_VBO_BUFFERS];
// The following enum gives the indices of the different vao. // The following enum gives the indices of the different vao.
enum enum

View File

@ -14,8 +14,8 @@
#include <QtCore/qglobal.h> #include <QtCore/qglobal.h>
#if defined(CGAL_Qt5_DLL) #if defined(CGAL_Qt6_DLL)
# if defined(CGAL_Qt5_EXPORTS) # if defined(CGAL_Qt6_EXPORTS)
# define CGAL_QT_EXPORT Q_DECL_EXPORT # define CGAL_QT_EXPORT Q_DECL_EXPORT
# else # else
# define CGAL_QT_EXPORT Q_DECL_IMPORT # define CGAL_QT_EXPORT Q_DECL_IMPORT

View File

@ -13,19 +13,18 @@
#define CGAL_QT_CREATE_OPENGL_CONTEXT_H #define CGAL_QT_CREATE_OPENGL_CONTEXT_H
#include <QOpenGLContext> #include <QOpenGLContext>
#include <QGLContext>
namespace CGAL{ namespace CGAL{
namespace Qt{ namespace Qt{
inline QGLContext* createOpenGLContext() inline QOpenGLContext* createOpenGLContext()
{ {
QOpenGLContext *context = new QOpenGLContext(); QOpenGLContext *context = new QOpenGLContext();
QSurfaceFormat format; QSurfaceFormat format;
format.setVersion(2,1); format.setVersion(2,1);
format.setProfile(QSurfaceFormat::CompatibilityProfile); format.setProfile(QSurfaceFormat::CompatibilityProfile);
context->setFormat(format); context->setFormat(format);
QGLContext *result = QGLContext::fromOpenGLContext(context); context->create();
result->create(); return context;
return result;
} }
} // namespace Qt } // namespace Qt
} // namespace CGAL } // namespace CGAL

View File

@ -89,7 +89,6 @@ protected:
protected Q_SLOTS: protected Q_SLOTS:
void setUseAntialiasing(bool checked); void setUseAntialiasing(bool checked);
void setUseOpenGL(bool checked);
void popupAboutCGAL(); void popupAboutCGAL();
void popupAboutDemo(); void popupAboutDemo();
@ -108,7 +107,6 @@ protected:
GraphicsViewNavigation* navigation; GraphicsViewNavigation* navigation;
QLabel* xycoord ; QLabel* xycoord ;
QAction *actionUse_OpenGL;
QAction *actionUse_Antialiasing; QAction *actionUse_Antialiasing;
QAction *actionAbout; QAction *actionAbout;
QAction *actionAboutCGAL; QAction *actionAboutCGAL;

View File

@ -32,17 +32,14 @@
#include <QMessageBox> #include <QMessageBox>
#include <QStatusBar> #include <QStatusBar>
#include <QGraphicsView> #include <QGraphicsView>
#include <QGLWidget>
#include <QTextStream> #include <QTextStream>
#include <QSettings> #include <QSettings>
#include <QUrl> #include <QUrl>
#include <QDesktopWidget> #include <QRegularExpression>
#include <QRegExp>
#if QT_SVG_LIB #if QT_SVG_LIB
# include <QSvgGenerator> # include <QSvgGenerator>
#endif #endif
#include <QtCore> #include <QtCore>
#include <QtOpenGL>
#include <CGAL/config.h> // needed to get CGAL_VERSION_STR #include <CGAL/config.h> // needed to get CGAL_VERSION_STR
#include <CGAL/Qt/DemosMainWindow.h> #include <CGAL/Qt/DemosMainWindow.h>
@ -63,13 +60,6 @@ DemosMainWindow::DemosMainWindow(QWidget * parent, ::Qt::WindowFlags flags)
xycoord->setMinimumSize(xycoord->sizeHint()); xycoord->setMinimumSize(xycoord->sizeHint());
xycoord->clear(); xycoord->clear();
actionUse_OpenGL = new QAction(this);
actionUse_OpenGL->setObjectName("actionUse_OpenGL");
actionUse_OpenGL->setCheckable(true);
actionUse_OpenGL->setText(tr("Use &OpenGL"));
actionUse_OpenGL->setStatusTip(tr("Make Qt use OpenGL to display the graphical items, instead of its native painting system."));
actionUse_OpenGL->setShortcut(tr("Ctrl+G"));
actionUse_Antialiasing = new QAction(this); actionUse_Antialiasing = new QAction(this);
actionUse_Antialiasing->setObjectName("actionUse_Antialiasing"); actionUse_Antialiasing->setObjectName("actionUse_Antialiasing");
actionUse_Antialiasing->setCheckable(true); actionUse_Antialiasing->setCheckable(true);
@ -152,12 +142,9 @@ DemosMainWindow::setupOptionsMenu(QMenu* menuOptions)
if(!menuOptions->isEmpty()) { if(!menuOptions->isEmpty()) {
menuOptions->addSeparator(); menuOptions->addSeparator();
} }
menuOptions->addAction(actionUse_OpenGL);
menuOptions->addAction(actionUse_Antialiasing); menuOptions->addAction(actionUse_Antialiasing);
connect(actionUse_Antialiasing, SIGNAL(toggled(bool)), connect(actionUse_Antialiasing, SIGNAL(toggled(bool)),
this, SLOT(setUseAntialiasing(bool))); this, SLOT(setUseAntialiasing(bool)));
connect(actionUse_OpenGL, SIGNAL(toggled(bool)),
this, SLOT(setUseOpenGL(bool)));
actionUse_Antialiasing->setChecked(true); actionUse_Antialiasing->setChecked(true);
} }
@ -204,31 +191,6 @@ DemosMainWindow::setUseAntialiasing(bool checked)
1000); 1000);
} }
CGAL_INLINE_FUNCTION
void
DemosMainWindow::setUseOpenGL(bool checked)
{
if(checked) {
QGLWidget* new_viewport = new QGLWidget;
// Setup the format to allow antialiasing with OpenGL:
// one need to activate the SampleBuffers, if the graphic driver allows
// this.
QGLFormat glformat = new_viewport->format();
glformat.setOption(QGL::SampleBuffers);
new_viewport->setFormat(glformat);
view->setViewport(new_viewport);
}
else {
view->setViewport(new QWidget);
}
statusBar()->showMessage(tr("OpenGL %1activated").arg(checked?"":"de-"),
1000);
view->viewport()->installEventFilter(navigation);
view->setFocus();
}
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
QMenu* QMenu*
DemosMainWindow::getMenu(QString objectName, QString title) DemosMainWindow::getMenu(QString objectName, QString title)
@ -453,13 +415,7 @@ void DemosMainWindow::readState(QString groupname, Options /*what_to_save*/)
resize(settings.value("size", this->size()).toSize()); resize(settings.value("size", this->size()).toSize());
QPoint pos = settings.value("pos", this->pos()).toPoint(); QPoint pos = settings.value("pos", this->pos()).toPoint();
#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
if(QGuiApplication::screenAt(pos)) { if(QGuiApplication::screenAt(pos)) {
#else
QDesktopWidget* desktop = qApp->desktop();
if(desktop->availableGeometry(pos).contains(pos)) {
#endif
move(pos); move(pos);
} }
settings.endGroup(); settings.endGroup();

View File

@ -23,7 +23,6 @@
#include <CGAL/Qt/debug.h> #include <CGAL/Qt/debug.h>
#include <QDir> #include <QDir>
#include <iostream> #include <iostream>
#include <QtOpenGL/qgl.h>
#include <qopenglfunctions.h> #include <qopenglfunctions.h>
namespace CGAL { namespace CGAL {
namespace Qt { namespace Qt {

View File

@ -193,7 +193,7 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
} }
case MOVE_FORWARD: { case MOVE_FORWARD: {
Quaternion rot = pitchYawQuaternion(event->x(), event->y(), camera); Quaternion rot = pitchYawQuaternion(event->position().x(), event->position().y(), camera);
rotate(rot); rotate(rot);
//#CONNECTION# wheelEvent MOVE_FORWARD case //#CONNECTION# wheelEvent MOVE_FORWARD case
// actual translation is made in flyUpdate(). // actual translation is made in flyUpdate().
@ -202,7 +202,7 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
} }
case MOVE_BACKWARD: { case MOVE_BACKWARD: {
Quaternion rot = pitchYawQuaternion(event->x(), event->y(), camera); Quaternion rot = pitchYawQuaternion(event->position().x(), event->position().y(), camera);
rotate(rot); rotate(rot);
// actual translation is made in flyUpdate(). // actual translation is made in flyUpdate().
// translate(inverseTransformOf(Vec(0.0, 0.0, flySpeed()))); // translate(inverseTransformOf(Vec(0.0, 0.0, flySpeed())));
@ -210,10 +210,10 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
} }
case DRIVE: { case DRIVE: {
Quaternion rot = turnQuaternion(event->x(), camera); Quaternion rot = turnQuaternion(event->position().x(), camera);
rotate(rot); rotate(rot);
// actual translation is made in flyUpdate(). // actual translation is made in flyUpdate().
driveSpeed_ = 0.01 * (event->y() - pressPos_.y()); driveSpeed_ = 0.01 * (event->position().y() - pressPos_.y());
break; break;
} }
@ -223,7 +223,7 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
} }
case LOOK_AROUND: { case LOOK_AROUND: {
Quaternion rot = pitchYawQuaternion(event->x(), event->y(), camera); Quaternion rot = pitchYawQuaternion(event->position().x(), event->position().y(), camera);
rotate(rot); rotate(rot);
break; break;
} }
@ -233,9 +233,9 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
if (rotatesAroundUpVector_) { if (rotatesAroundUpVector_) {
// Multiply by 2.0 to get on average about the same speed as with the // Multiply by 2.0 to get on average about the same speed as with the
// deformed ball // deformed ball
qreal dx = 2.0 * rotationSensitivity() * (prevPos_.x() - event->x()) / qreal dx = 2.0 * rotationSensitivity() * (prevPos_.x() - event->position().x()) /
camera->screenWidth(); camera->screenWidth();
qreal dy = 2.0 * rotationSensitivity() * (prevPos_.y() - event->y()) / qreal dy = 2.0 * rotationSensitivity() * (prevPos_.y() - event->position().y()) /
camera->screenHeight(); camera->screenHeight();
if (constrainedRotationIsReversed_) if (constrainedRotationIsReversed_)
dx = -dx; dx = -dx;
@ -243,7 +243,7 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
rot = Quaternion(verticalAxis, dx) * Quaternion(Vec(1.0, 0.0, 0.0), dy); rot = Quaternion(verticalAxis, dx) * Quaternion(Vec(1.0, 0.0, 0.0), dy);
} else { } else {
Vec trans = camera->projectedCoordinatesOf(pivotPoint()); Vec trans = camera->projectedCoordinatesOf(pivotPoint());
rot = deformedBallQuaternion(event->x(), event->y(), trans[0], trans[1], rot = deformedBallQuaternion(event->position().x(), event->position().y(), trans[0], trans[1],
camera); camera);
} }
//#CONNECTION# These two methods should go together (spinning detection and //#CONNECTION# These two methods should go together (spinning detection and
@ -257,7 +257,7 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
case SCREEN_ROTATE: { case SCREEN_ROTATE: {
Vec trans = camera->projectedCoordinatesOf(pivotPoint()); Vec trans = camera->projectedCoordinatesOf(pivotPoint());
const qreal angle = atan2(event->y() - trans[1], event->x() - trans[0]) - const qreal angle = atan2(event->position().y() - trans[1], event->position().x() - trans[0]) -
atan2(prevPos_.y() - trans[1], prevPos_.x() - trans[0]); atan2(prevPos_.y() - trans[1], prevPos_.x() - trans[0]);
Quaternion rot(Vec(0.0, 0.0, 1.0), angle); Quaternion rot(Vec(0.0, 0.0, 1.0), angle);
@ -272,7 +272,7 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
case ROLL: { case ROLL: {
const qreal angle = const qreal angle =
CGAL_PI * (event->x() - prevPos_.x()) / camera->screenWidth(); CGAL_PI * (event->position().x() - prevPos_.x()) / camera->screenWidth();
Quaternion rot(Vec(0.0, 0.0, 1.0), angle); Quaternion rot(Vec(0.0, 0.0, 1.0), angle);
rotate(rot); rotate(rot);
setSpinningQuaternion(rot); setSpinningQuaternion(rot);
@ -284,9 +284,9 @@ void ManipulatedCameraFrame::mouseMoveEvent(QMouseEvent *const event,
Vec trans; Vec trans;
int dir = mouseOriginalDirection(event); int dir = mouseOriginalDirection(event);
if (dir == 1) if (dir == 1)
trans.setValue(prevPos_.x() - event->x(), 0.0, 0.0); trans.setValue(prevPos_.x() - event->position().x(), 0.0, 0.0);
else if (dir == -1) else if (dir == -1)
trans.setValue(0.0, event->y() - prevPos_.y(), 0.0); trans.setValue(0.0, event->position().y() - prevPos_.y(), 0.0);
switch (camera->type()) { switch (camera->type()) {
case Camera::PERSPECTIVE: case Camera::PERSPECTIVE:

View File

@ -93,10 +93,10 @@ illustration. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
void ManipulatedFrame::checkIfGrabsMouse(int x, int y, void ManipulatedFrame::checkIfGrabsMouse(int x, int y,
const Camera *const camera) { const Camera *const camera) {
const int thresold = 10; const int threshold = 10;
const Vec proj = camera->projectedCoordinatesOf(position()); const Vec proj = camera->projectedCoordinatesOf(position());
setGrabsMouse(keepsGrabbingMouse_ || ((fabs(x - proj.x) < thresold) && setGrabsMouse(keepsGrabbingMouse_ || ((fabs(x - proj.x) < threshold) &&
(fabs(y - proj.y) < thresold))); (fabs(y - proj.y) < threshold)));
} }
@ -219,8 +219,8 @@ int ManipulatedFrame::mouseOriginalDirection(const QMouseEvent *const e) {
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
qreal ManipulatedFrame::deltaWithPrevPos(QMouseEvent *const event, qreal ManipulatedFrame::deltaWithPrevPos(QMouseEvent *const event,
Camera *const camera) const { Camera *const camera) const {
qreal dx = qreal(event->x() - prevPos_.x()) / camera->screenWidth(); qreal dx = qreal(event->position().x() - prevPos_.x()) / camera->screenWidth();
qreal dy = qreal(event->y() - prevPos_.y()) / camera->screenHeight(); qreal dy = qreal(event->position().y() - prevPos_.y()) / camera->screenHeight();
qreal value = fabs(dx) > fabs(dy) ? dx : dy; qreal value = fabs(dx) > fabs(dy) ? dx : dy;
return value * zoomSensitivity(); return value * zoomSensitivity();
@ -319,7 +319,7 @@ void ManipulatedFrame::mouseMoveEvent(QMouseEvent *const event,
const qreal prev_angle = const qreal prev_angle =
atan2(prevPos_.y() - trans[1], prevPos_.x() - trans[0]); atan2(prevPos_.y() - trans[1], prevPos_.x() - trans[0]);
const qreal angle = atan2(event->y() - trans[1], event->x() - trans[0]); const qreal angle = atan2(event->position().y() - trans[1], event->position().x() - trans[0]);
const Vec axis = const Vec axis =
transformOf(camera->frame()->inverseTransformOf(Vec(0.0, 0.0, -1.0))); transformOf(camera->frame()->inverseTransformOf(Vec(0.0, 0.0, -1.0)));
@ -336,9 +336,9 @@ void ManipulatedFrame::mouseMoveEvent(QMouseEvent *const event,
Vec trans; Vec trans;
int dir = mouseOriginalDirection(event); int dir = mouseOriginalDirection(event);
if (dir == 1) if (dir == 1)
trans.setValue(event->x() - prevPos_.x(), 0.0, 0.0); trans.setValue(event->position().x() - prevPos_.x(), 0.0, 0.0);
else if (dir == -1) else if (dir == -1)
trans.setValue(0.0, prevPos_.y() - event->y(), 0.0); trans.setValue(0.0, prevPos_.y() - event->position().y(), 0.0);
switch (camera->type()) { switch (camera->type()) {
case Camera::PERSPECTIVE: case Camera::PERSPECTIVE:
@ -367,7 +367,7 @@ void ManipulatedFrame::mouseMoveEvent(QMouseEvent *const event,
case ROTATE: { case ROTATE: {
Vec trans = camera->projectedCoordinatesOf(position()); Vec trans = camera->projectedCoordinatesOf(position());
Quaternion rot = deformedBallQuaternion(event->x(), event->y(), trans[0], Quaternion rot = deformedBallQuaternion(event->position().x(), event->position().y(), trans[0],
trans[1], camera); trans[1], camera);
trans = Vec(-rot[0], -rot[1], -rot[2]); trans = Vec(-rot[0], -rot[1], -rot[2]);
trans = camera->frame()->orientation().rotate(trans); trans = camera->frame()->orientation().rotate(trans);

View File

@ -30,10 +30,9 @@
#include <QVector> #include <QVector>
#include <QElapsedTimer> #include <QElapsedTimer>
#include <QTimer> #include <QTimer>
#include <QGLContext>
#include <QOpenGLWidget> #include <QOpenGLWidget>
#include <QMouseEvent> #include <QMouseEvent>
#include <QKeyCombination>
class QTabWidget; class QTabWidget;
class QImage; class QImage;
@ -71,9 +70,6 @@ class CGAL_QT_EXPORT QGLViewer : public QOpenGLWidget, public QOpenGLFunctions {
Q_OBJECT Q_OBJECT
public: public:
//todo check if this is used. If not remove it
explicit QGLViewer(QGLContext* context, QWidget *parent = nullptr,
::Qt::WindowFlags flags = ::Qt::WindowType(0));
explicit QGLViewer(QOpenGLContext* context, QWidget *parent = nullptr, explicit QGLViewer(QOpenGLContext* context, QWidget *parent = nullptr,
::Qt::WindowFlags flags = ::Qt::WindowType(0)); ::Qt::WindowFlags flags = ::Qt::WindowType(0));
explicit QGLViewer(QWidget *parent = nullptr, explicit QGLViewer(QWidget *parent = nullptr,
@ -841,33 +837,27 @@ compatible with raster mode): use \c glRasterPos3fv() instead. */
/*! @name Keyboard customization */ /*! @name Keyboard customization */
//@{ //@{
public: public:
unsigned int shortcut(qglviewer::KeyboardAction action) const; QKeyCombination shortcut(qglviewer::KeyboardAction action) const;
::Qt::Key pathKey(unsigned int index) const; ::Qt::Key pathKey(unsigned int index) const;
::Qt::KeyboardModifiers addKeyFrameKeyboardModifiers() const; ::Qt::KeyboardModifiers addKeyFrameKeyboardModifiers() const;
::Qt::KeyboardModifiers playPathKeyboardModifiers() const; ::Qt::KeyboardModifiers playPathKeyboardModifiers() const;
public Q_SLOTS: public Q_SLOTS:
void setShortcut(qglviewer::KeyboardAction action, unsigned int key); void setShortcut(qglviewer::KeyboardAction action, QKeyCombination key);
void setShortcut(qglviewer::KeyboardAction action, ::Qt::Modifier modifier, ::Qt::Key key) void setShortcut(qglviewer::KeyboardAction action, ::Qt::Modifier modifier, ::Qt::Key key)
{ {
setShortcut(action, setShortcut(action, QKeyCombination{modifier, key});
static_cast<unsigned int>(modifier)+
static_cast<unsigned int>(key));
} }
void setKeyDescription(unsigned int key, QString description); void setKeyDescription(QKeyCombination key, QString description);
void setKeyDescription(::Qt::KeyboardModifier modifier, ::Qt::Key key, QString description) void setKeyDescription(::Qt::KeyboardModifier modifier, ::Qt::Key key, QString description)
{ {
setKeyDescription(static_cast<unsigned int>(modifier) + setKeyDescription(QKeyCombination{modifier, key}, description);
static_cast<unsigned int>(key),
description);
} }
void setKeyDescription(::Qt::Modifier modifier, ::Qt::Key key, QString description) void setKeyDescription(::Qt::Modifier modifier, ::Qt::Key key, QString description)
{ {
setKeyDescription(static_cast<unsigned int>(modifier) + setKeyDescription(QKeyCombination{modifier, key}, description);
static_cast<unsigned int>(key),
description);
} }
void clearShortcuts(); void clearShortcuts();
@ -1077,8 +1067,8 @@ protected:
void setDefaultShortcuts(); void setDefaultShortcuts();
QString cameraPathKeysString() const; QString cameraPathKeysString() const;
QMap<qglviewer::KeyboardAction, QString> keyboardActionDescription_; QMap<qglviewer::KeyboardAction, QString> keyboardActionDescription_;
QMap<qglviewer::KeyboardAction, unsigned int> keyboardBinding_; QMap<qglviewer::KeyboardAction, QKeyCombination> keyboardBinding_;
QMap<unsigned int, QString> keyDescription_; QHash<QKeyCombination, QString> keyDescription_;
// K e y F r a m e s s h o r t c u t s // K e y F r a m e s s h o r t c u t s
QMap< ::Qt::Key, unsigned int> pathIndex_; QMap< ::Qt::Key, unsigned int> pathIndex_;
@ -1158,7 +1148,7 @@ protected:
return modifiers < cbp.modifiers; return modifiers < cbp.modifiers;
if (button != cbp.button) if (button != cbp.button)
return button < cbp.button; return button < cbp.button;
return doubleClick != cbp.doubleClick; return doubleClick < cbp.doubleClick;
} }
}; };
#endif #endif

View File

@ -31,10 +31,11 @@
#include <QDateTime> #include <QDateTime>
#include <QDir> #include <QDir>
#include <QFileInfo> #include <QFileInfo>
#include <QGLContext> #include <QOpenGLContext>
#include <QImage> #include <QImage>
#include <QMessageBox> #include <QMessageBox>
#include <QMouseEvent> #include <QMouseEvent>
#include <QPainter>
#include <QPushButton> #include <QPushButton>
#include <QTabWidget> #include <QTabWidget>
#include <QTextEdit> #include <QTextEdit>
@ -185,6 +186,7 @@ CGAL::QGLViewer::~QGLViewer() {
helpWidget()->close(); helpWidget()->close();
delete helpWidget_; delete helpWidget_;
} }
disconnect(context(), &QOpenGLContext::aboutToBeDestroyed, this, &CGAL::QGLViewer::contextIsDestroyed);
} }
@ -1202,7 +1204,7 @@ CGAL_INLINE_FUNCTION
void Viewer::mouseMoveEvent(QMouseEvent *e) void Viewer::mouseMoveEvent(QMouseEvent *e)
{ {
if (myMouseBehavior) if (myMouseBehavior)
// Use e->x() and e->y() as you want... // Use e->position().x() and e->position().y() as you want...
else else
CGAL::QGLViewer::mouseMoveEvent(e); CGAL::QGLViewer::mouseMoveEvent(e);
} }
@ -1219,7 +1221,7 @@ else
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
void CGAL::QGLViewer::mouseMoveEvent(QMouseEvent *e) { void CGAL::QGLViewer::mouseMoveEvent(QMouseEvent *e) {
if (mouseGrabber()) { if (mouseGrabber()) {
mouseGrabber()->checkIfGrabsMouse(e->x(), e->y(), camera()); mouseGrabber()->checkIfGrabsMouse(e->position().x(), e->position().y(), camera());
if (mouseGrabber()->grabsMouse()) if (mouseGrabber()->grabsMouse())
if (mouseGrabberIsAManipulatedCameraFrame_) if (mouseGrabberIsAManipulatedCameraFrame_)
(dynamic_cast<qglviewer::ManipulatedFrame *>(mouseGrabber())) (dynamic_cast<qglviewer::ManipulatedFrame *>(mouseGrabber()))
@ -1247,7 +1249,7 @@ void CGAL::QGLViewer::mouseMoveEvent(QMouseEvent *e) {
manipulatedFrame()->mouseMoveEvent(e, camera()); manipulatedFrame()->mouseMoveEvent(e, camera());
else if (hasMouseTracking()) { else if (hasMouseTracking()) {
Q_FOREACH (qglviewer::MouseGrabber *mg, qglviewer::MouseGrabber::MouseGrabberPool()) { Q_FOREACH (qglviewer::MouseGrabber *mg, qglviewer::MouseGrabber::MouseGrabberPool()) {
mg->checkIfGrabsMouse(e->x(), e->y(), camera()); mg->checkIfGrabsMouse(e->position().x(), e->position().y(), camera());
if (mg->grabsMouse()) { if (mg->grabsMouse()) {
setMouseGrabber(mg); setMouseGrabber(mg);
// Check that MouseGrabber is not disabled // Check that MouseGrabber is not disabled
@ -1276,7 +1278,7 @@ void CGAL::QGLViewer::mouseReleaseEvent(QMouseEvent *e) {
->qglviewer::ManipulatedFrame::mouseReleaseEvent(e, camera()); ->qglviewer::ManipulatedFrame::mouseReleaseEvent(e, camera());
else else
mouseGrabber()->mouseReleaseEvent(e, camera()); mouseGrabber()->mouseReleaseEvent(e, camera());
mouseGrabber()->checkIfGrabsMouse(e->x(), e->y(), camera()); mouseGrabber()->checkIfGrabsMouse(e->position().x(), e->position().y(), camera());
if (!(mouseGrabber()->grabsMouse())) if (!(mouseGrabber()->grabsMouse()))
setMouseGrabber(nullptr); setMouseGrabber(nullptr);
// update(); // update();
@ -1508,18 +1510,14 @@ QString CGAL::QGLViewer::clickActionString(CGAL::qglviewer::ClickAction ca) {
return QString(); return QString();
} }
static QString keyString(unsigned int key) { static QString keyString(QKeyCombination key) {
#if QT_VERSION >= 0x040100 return QKeySequence(key).toString(QKeySequence::NativeText);
return QKeySequence(int(key)).toString(QKeySequence::NativeText);
#else
return QString(QKeySequence(key));
#endif
} }
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
QString CGAL::QGLViewer::formatClickActionPrivate(ClickBindingPrivate cbp) { QString CGAL::QGLViewer::formatClickActionPrivate(ClickBindingPrivate cbp) {
bool buttonsBefore = cbp.buttonsBefore != ::Qt::NoButton; bool buttonsBefore = cbp.buttonsBefore != ::Qt::NoButton;
QString keyModifierString = keyString(cbp.modifiers + cbp.key); QString keyModifierString = keyString(QKeyCombination(cbp.modifiers, cbp.key));
if (!keyModifierString.isEmpty()) { if (!keyModifierString.isEmpty()) {
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
// modifiers never has a '+' sign. Add one space to clearly separate // modifiers never has a '+' sign. Add one space to clearly separate
@ -1765,7 +1763,7 @@ QString CGAL::QGLViewer::mouseString() const {
/*! Defines a custom keyboard shortcut description, that will be displayed in /*! Defines a custom keyboard shortcut description, that will be displayed in
the help() window \c Keyboard tab. the help() window \c Keyboard tab.
The \p key definition is given as an \c int using Qt enumerated values. Set an The \p key definition is given as an \c QKeyCombination using Qt enumerated values. Set an
empty \p description to remove a shortcut description: \code empty \p description to remove a shortcut description: \code
setKeyDescription(::Qt::Key_W, "Toggles wireframe display"); setKeyDescription(::Qt::Key_W, "Toggles wireframe display");
setKeyDescription(::Qt::CTRL+::Qt::Key_L, "Loads a new scene"); setKeyDescription(::Qt::CTRL+::Qt::Key_L, "Loads a new scene");
@ -1777,7 +1775,7 @@ See the <a href="../examples/keyboardAndMouse.html">keyboardAndMouse example</a>
for illustration and the <a href="../keyboard.html">keyboard page</a> for for illustration and the <a href="../keyboard.html">keyboard page</a> for
details. */ details. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
void CGAL::QGLViewer::setKeyDescription(unsigned int key, QString description) { void CGAL::QGLViewer::setKeyDescription(QKeyCombination key, QString description) {
if (description.isEmpty()) if (description.isEmpty())
keyDescription_.remove(key); keyDescription_.remove(key);
else else
@ -1869,17 +1867,15 @@ QString CGAL::QGLViewer::keyboardString() const {
"Description", "Description",
"Description column header in help window mouse tab")); "Description column header in help window mouse tab"));
QMap<unsigned int, QString> keyDescription; QHash<QKeyCombination, QString> keyDescription;
// 1 - User defined key descriptions // 1 - User defined key descriptions
for (QMap<unsigned int, QString>::ConstIterator kd = keyDescription_.begin(), for (auto kd = keyDescription_.begin(), kdend = keyDescription_.end();
kdend = keyDescription_.end();
kd != kdend; ++kd) kd != kdend; ++kd)
keyDescription[kd.key()] = kd.value(); keyDescription[kd.key()] = kd.value();
// Add to text in sorted order // Add to text in sorted order
for (QMap<unsigned int, QString>::ConstIterator kb = keyDescription.begin(), for (auto kb = keyDescription.begin(), endb = keyDescription.end();
endb = keyDescription.end();
kb != endb; ++kb) kb != endb; ++kb)
text += tableLine(keyString(kb.key()), kb.value()); text += tableLine(keyString(kb.key()), kb.value());
@ -1892,18 +1888,15 @@ QString CGAL::QGLViewer::keyboardString() const {
} }
// 3 - KeyboardAction bindings description // 3 - KeyboardAction bindings description
for (QMap<qglviewer::KeyboardAction, unsigned int>::ConstIterator for (auto it = keyboardBinding_.begin(), end = keyboardBinding_.end();
it = keyboardBinding_.begin(),
end = keyboardBinding_.end();
it != end; ++it) it != end; ++it)
if ((it.value() != 0) && if ((it.value() != QKeyCombination{}) &&
((!cameraIsInRotateMode()) || ((!cameraIsInRotateMode()) ||
((it.key() != qglviewer::INCREASE_FLYSPEED) && (it.key() != qglviewer::DECREASE_FLYSPEED)))) ((it.key() != qglviewer::INCREASE_FLYSPEED) && (it.key() != qglviewer::DECREASE_FLYSPEED))))
keyDescription[it.value()] = keyboardActionDescription_[it.key()]; keyDescription[it.value()] = keyboardActionDescription_[it.key()];
// Add to text in sorted order // Add to text in sorted order
for (QMap<unsigned int, QString>::ConstIterator kb2 = keyDescription.begin(), for (auto kb2 = keyDescription.begin(), endb2 = keyDescription.end();
endb2 = keyDescription.end();
kb2 != endb2; ++kb2) kb2 != endb2; ++kb2)
text += tableLine(keyString(kb2.key()), kb2.value()); text += tableLine(keyString(kb2.key()), kb2.value());
@ -1917,15 +1910,15 @@ QString CGAL::QGLViewer::keyboardString() const {
.arg(cpks) + .arg(cpks) +
"</td></tr>\n"; "</td></tr>\n";
text += tableLine( text += tableLine(
keyString(playPathKeyboardModifiers()) + "<i>" + keyString(QKeyCombination(playPathKeyboardModifiers())) + "<i>" +
CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>", CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>",
CGAL::QGLViewer::tr("Plays path (or resets saved position)")); CGAL::QGLViewer::tr("Plays path (or resets saved position)"));
text += tableLine( text += tableLine(
keyString(addKeyFrameKeyboardModifiers()) + "<i>" + keyString(QKeyCombination(addKeyFrameKeyboardModifiers())) + "<i>" +
CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>", CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>",
CGAL::QGLViewer::tr("Adds a key frame to path (or defines a position)")); CGAL::QGLViewer::tr("Adds a key frame to path (or defines a position)"));
text += tableLine( text += tableLine(
keyString(addKeyFrameKeyboardModifiers()) + "<i>" + keyString(QKeyCombination(addKeyFrameKeyboardModifiers())) + "<i>" +
CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>+<i>" + CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>+<i>" +
CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>", CGAL::QGLViewer::tr("Fx", "Generic function key (F1..F12)") + "</i>",
CGAL::QGLViewer::tr("Deletes path (or saved position)")); CGAL::QGLViewer::tr("Deletes path (or saved position)"));
@ -2069,11 +2062,8 @@ void CGAL::QGLViewer::keyPressEvent(QKeyEvent *e) {
_first_tick = true; _first_tick = true;
} }
const ::Qt::KeyboardModifiers modifiers = e->modifiers(); const ::Qt::KeyboardModifiers modifiers = e->modifiers();
QMap<qglviewer::KeyboardAction, unsigned int>::ConstIterator it = keyboardBinding_ auto it = keyboardBinding_.begin(), end = keyboardBinding_.end();
.begin(), const QKeyCombination target{modifiers, key};
end =
keyboardBinding_.end();
const unsigned int target = key | modifiers;
while ((it != end) && (it.value() != target)) while ((it != end) && (it.value() != target))
++it; ++it;
@ -2236,17 +2226,17 @@ Here are some examples:
setShortcut(EXIT_VIEWER, ::Qt::Key_Q); setShortcut(EXIT_VIEWER, ::Qt::Key_Q);
// Alt+M toggles camera mode // Alt+M toggles camera mode
setShortcut(CAMERA_MODE, ::Qt::ALT + ::Qt::Key_M); setShortcut(CAMERA_MODE, ::Qt::ALT | ::Qt::Key_M);
// The DISPLAY_FPS action is disabled // The DISPLAY_FPS action is disabled
setShortcut(DISPLAY_FPS, 0); setShortcut(DISPLAY_FPS, 0);
\endcode \endcode
Only one shortcut can be assigned to a given CGAL::QGLViewer::KeyboardAction (new Only one shortcut can be assigned to a given CGAL::QGLViewer::KeyboardAction (new
bindings replace previous ones). If several KeyboardAction are binded to the bindings replace previous ones). If several KeyboardAction are bound to the
same shortcut, only one of them is active. */ same shortcut, only one of them is active. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
void CGAL::QGLViewer::setShortcut(qglviewer::KeyboardAction action, unsigned int key) { void CGAL::QGLViewer::setShortcut(qglviewer::KeyboardAction action, QKeyCombination key) {
keyboardBinding_[action] = key; keyboardBinding_[action] = key;
} }
@ -2268,11 +2258,11 @@ See the <a href="../keyboard.html">keyboard page</a> for details and default
values and the <a href="../examples/keyboardAndMouse.html">keyboardAndMouse</a> values and the <a href="../examples/keyboardAndMouse.html">keyboardAndMouse</a>
example for a practical illustration. */ example for a practical illustration. */
CGAL_INLINE_FUNCTION CGAL_INLINE_FUNCTION
unsigned int CGAL::QGLViewer::shortcut(qglviewer::KeyboardAction action) const { QKeyCombination CGAL::QGLViewer::shortcut(qglviewer::KeyboardAction action) const {
if (keyboardBinding_.contains(action)) if (keyboardBinding_.contains(action))
return keyboardBinding_[action]; return keyboardBinding_[action];
else else
return 0; return {};
} }

View File

@ -16,13 +16,13 @@
#include <QtCore/qglobal.h> #include <QtCore/qglobal.h>
#if (! defined (CGAL_NO_AUTOLINK_QT)) #if (! defined (CGAL_NO_AUTOLINK_QT))
#if ( ! defined( CGAL_EXPORTS ) && (! defined ( CGAL_Qt5_EXPORTS ))) #if ( ! defined( CGAL_EXPORTS ) && (! defined ( CGAL_Qt6_EXPORTS )))
// If CGAL_EXPORTS is defined it means that we are building the CGAL // If CGAL_EXPORTS is defined it means that we are building the CGAL
// library as a DLL. The CGAL.dll does not really depend on CGAL_Qt, // library as a DLL. The CGAL.dll does not really depend on CGAL_Qt,
// whatever the header inclusion graph says. // whatever the header inclusion graph says.
#define CGAL_LIB_NAME CGAL_Qt5 #define CGAL_LIB_NAME CGAL_Qt6
#include <CGAL/auto_link/auto_link.h> #include <CGAL/auto_link/auto_link.h>

Some files were not shown because too many files have changed in this diff Show More