Commit Graph

693 Commits

Author SHA1 Message Date
Andreas Fabri d63921027a Only compile when Qt4 is found 2008-10-01 09:52:43 +00:00
Andreas Fabri 7ad693501b Add the necessary to allow persistence between calls 2008-10-01 09:17:07 +00:00
Andreas Fabri a828d949cc forgot resource file 2008-10-01 08:22:31 +00:00
Andreas Fabri d1499114e3 Added cmake_minimum_required 2008-10-01 05:23:00 +00:00
Andreas Fabri 1cd15aa6b4 2D regular triangulation demo 2008-09-30 16:33:11 +00:00
Andreas Fabri c823377874 2D regular triangulation demo 2008-09-30 16:30:44 +00:00
Andreas Fabri ba7fcaa5f2 Renamed actionExit to actionQuit 2008-09-30 14:45:34 +00:00
Andreas Fabri 8b1ce4bdc8 find resources and rename actionExit to actionQuit 2008-09-30 12:56:38 +00:00
Andreas Fabri 544bf786a9 find resources and rename actionExit to actionQuit 2008-09-30 12:56:32 +00:00
Laurent Rineau f7fbbd939a Detail: add a separator before actionQuit (in menuFile). 2008-09-29 21:53:05 +00:00
Laurent Rineau bd0d9a5f1e Promote Viewer to QGLViewer 2008-09-29 21:49:49 +00:00
Laurent Rineau 6f0d6698e3 connect the slider and the spinbox values 2008-09-29 21:31:08 +00:00
Laurent Rineau 86f008b6cf connect the slider and the spinbox values 2008-09-29 21:30:13 +00:00
Laurent Rineau 489ea92424 Use light model=TWO_SIDE. 2008-09-29 20:38:48 +00:00
Laurent Rineau 879e9b7c1a - Fix CMakeLists.txt for non-Windows platforms.
- Fill svn:ignore.
2008-09-29 19:12:33 +00:00
Andreas Fabri 61a6ca195f Qt4 based alpha shape demo 2008-09-29 19:02:37 +00:00
Laurent Rineau 8a2a1f9902 - New icons for the two Triangulation_2 demos (Andreas: remember that we demo
about regular).
- Constrained_Delaunay_triangulation_2 can now optionnaly show the mesh
  domain.
2008-09-29 17:42:10 +00:00
Laurent Rineau 1ddcec5471 Fix compilation error: header missing. 2008-09-29 17:39:05 +00:00
Laurent Rineau b7ad8da9ea Fix CMakeLists.txt: add cmake_minimum_required. 2008-09-29 17:27:28 +00:00
Laurent Rineau a04928195d Use QApplication::restoreOverrideCursor() instead of
QApplication::setOverrideCursor(Qt::ArrowCursor).
2008-09-28 16:23:39 +00:00
Laurent Rineau 451268657e Make the cancel button of the "insert random points" dialog work. 2008-09-28 15:56:32 +00:00
Laurent Rineau 77582cfe07 Change default Windows sizes. 2008-09-26 17:13:52 +00:00
Laurent Rineau e5c3e6d552 Fix a MSVCism: needed typename. 2008-09-26 17:10:37 +00:00
Andreas Fabri a53755d379 A show too much 2008-09-26 16:49:37 +00:00
Andreas Fabri f42e4df167 Added partition 2008-09-26 16:27:55 +00:00
Andreas Fabri a54674e4e3 Added visualization of conflict zone 2008-09-26 16:08:57 +00:00
Laurent Rineau 1ca86be74c Rename Load/save entries. 2008-09-26 14:30:47 +00:00
Laurent Rineau f2d3b0ecb4 Add a copy of demo/Mesh_2/data/ (that directory will be soon dont_submitted). 2008-09-26 13:35:46 +00:00
Andreas Fabri 683fcfed36 reindentation 2008-09-26 12:47:01 +00:00
Andreas Fabri 59f5bc3c89 Random points in the screen and not the unit cube 2008-09-26 12:46:16 +00:00
Andreas Fabri 068b7cc61e Added marker for boundary nesting level 2008-09-26 12:45:09 +00:00
Andreas Fabri 7af1c89e97 require Qt4 2008-09-24 12:58:10 +00:00
Andreas Fabri bfdb6cdd09 Add resource file 2008-09-24 12:57:37 +00:00
Andreas Fabri 27160bcce5 A Qt4 based demo of the Circular Kernel 2008-09-23 13:46:15 +00:00
Laurent Rineau 6b15cdb91e New header <CGAL/Qt/utility.h> that contains miscellaneous global
functions.
2008-09-23 12:16:00 +00:00
Laurent Rineau f1b56f9a11 Fix some CMakeLists.txt (that use Qt3 or Qt4). 2008-09-22 11:59:21 +00:00
Andreas Fabri d1bae6f176 fix minimal demo 2008-09-22 09:21:24 +00:00
Laurent Rineau b4adefbf2f Use "modern" find_package(CGAL). That simplifies a lot! 2008-09-11 13:56:30 +00:00
Laurent Rineau 5558487cad Fix: remove an unused non-commited but included header. 2008-09-10 18:41:33 +00:00
Andreas Fabri 6c0a6612be cleanup 2008-09-08 10:48:01 +00:00
Laurent Rineau 1266312e32 Followup of previous commit ("Add auto-link to libCGALQt4 files.").
Now use auto-link in demos that use CGAL Qt4 support.
2008-09-05 16:04:07 +00:00
Laurent Rineau 3c337d4aea fix the minimalist GraphicsView application: min 2008-09-01 15:14:50 +00:00
Andreas Fabri b9f817ff9a Added CGAL logo 2008-09-01 14:53:30 +00:00
Laurent Rineau e613317c65 Fix VCisms. 2008-09-01 14:01:19 +00:00
Andreas Fabri b4538d15a5 Incorporated reviewers remarks 2008-09-01 13:52:30 +00:00
Laurent Rineau 4e43b40207 Fix three VC++-ismes (wrong uses of typenames, again). 2008-08-18 15:18:17 +00:00
Laurent Rineau c711f07c2d Change previoux revision 44999: QGraphicsView::matrix returns a *copy* of
its matrix! Hopefully, QGraphicsView has a member function scale(), similar
to the one of QMatrix.
2008-08-18 15:16:34 +00:00
Laurent Rineau dd033c1748 revert revision 44882: the matrix is modified in place, by its member function scale(). 2008-08-18 15:08:55 +00:00
Andreas Fabri 246f8230df We have to set the matrix and not only to modify a copy 2008-08-11 15:52:58 +00:00
Andreas Fabri c7b95de6af Added Lipschitz sizing field 2008-08-11 12:21:18 +00:00
Laurent Rineau f13d5d2a25 Update for cmake-2.6: moc files must be in source files. 2008-08-01 07:53:35 +00:00
Laurent Rineau 3d0c1d9937 One can now drop files on the Constrained_Delaunay_triangulation_2 window. 2008-07-30 18:28:58 +00:00
Laurent Rineau 9ad27e6e6e Add recent files from CGAL::Qt::DemosMainWindow. 2008-07-30 18:14:23 +00:00
Laurent Rineau 1bca78d94e Update the qrc location. 2008-07-30 08:02:44 +00:00
Andreas Fabri 3ffb9d44d7 Add Delaunay mesh action with a size half the average constraint length 2008-07-29 21:31:11 +00:00
Andreas Fabri 49360f302c Plugged delaunay meshing on the ConformGabriel action, but it doesnt refine. What's wrong 2008-07-22 15:27:18 +00:00
Andreas Fabri 5860d40b43 Removed the moving point stuf from the constrained demo 2008-07-22 14:58:05 +00:00
Andreas Fabri e6370bee48 Tried to make insertion of constraints faster, but it isn't yet 2008-07-22 14:45:59 +00:00
Andreas Fabri 584a21d2e7 Use the statusbar and not std::cout 2008-07-22 12:07:03 +00:00
Andreas Fabri 04670bc9b7 Accelerated insertion and added conforming actions 2008-07-22 11:18:27 +00:00
Laurent Rineau b6dae9c417 - Change svn:ignore of the directory (files generated by CMake).
- Change the horizontalStretch of the two central widgets (2/3, 1/3).
2008-07-11 13:25:51 +00:00
Laurent Rineau 14ca3447e5 Fix: Logos.qrc no longer exists. Use CGAL.qrc instead. 2008-07-11 13:09:58 +00:00
Andreas Fabri d70aceb7bc Add vertex removal 2008-07-09 15:01:09 +00:00
Laurent Rineau 470f608687 Activate anti-aliasing by default in GraphicsView demos. 2008-07-09 13:49:47 +00:00
Andreas Fabri 6bd3e07953 Add Polygon Demo 2008-07-08 21:48:06 +00:00
Laurent Rineau 275b3e5ccd - Add a new icons for zoom-fit-best, taken from Qt.
- Add a license.txt that says four icons come from Qt.
2008-07-08 12:36:56 +00:00
Laurent Rineau 9f2384e77d - Remove demo/icons/Logos.qrc, replaced by demo/resources/CGAL.qrc, that
also contains :/cgal/help/about_CGAL.html
- Add include/CGAL/Qt/debug.h and src/CGALQt/debug.cpp, that will contain
  debug tools/functions. For the moment, they just define:
      void traverse_resources(const QString& name);
  that must be used like that:
      CGAL::Qt:traverse_resources(":/cgal"); // view CGAL resources
  or
      CGAL::Qt:traverse_resources(":"); // view all resources
  and displays the resources tree on std::cerr.
2008-07-04 13:10:02 +00:00
Laurent Rineau 95af17375f Call graphicsView->setMouseTracking(true). It seems to be on by default,
but the documentation does not say so.
2008-07-02 13:36:11 +00:00
Laurent Rineau be4a3ad225 Call graphicsView->setMouseTracking(true). It seems to be on by default,
but the documentation does not say so.
2008-07-02 13:35:45 +00:00
Laurent Rineau ad6dbd0209 Remove setMouseTracking. It seems to be on by default. 2008-07-02 13:32:49 +00:00
Laurent Rineau 8c017c943c Rename Constrained_delaunay_triangulation_2 into
Constrained_Delaunay_triangulation_2 (with capitalized "Delaunay", as in
the class name).
2008-07-02 13:31:42 +00:00
Andreas Fabri f2431c2d74 robustification 2008-07-02 11:21:51 +00:00
Andreas Fabri 36a8de6cf4 robustification 2008-07-02 09:10:59 +00:00
Laurent Rineau d1501f3c71 Polish the two demos.
Add a PNG file for "zoom-best-fit".
2008-07-01 21:59:46 +00:00
Laurent Rineau 5ddfd30c93 In src/CGALQt4:
- add the class CGAL::Qt::DemosMainWindow in libCGALQt4,
  - compile moc generated files separately

In demo/
  - new sub-directory demo/resources/ that contains, for now,
  about_CGAL.html
  - move the two triangulation demos from demo/GraphicsView to
  demo/Triangulation_2 (to prepare the inclusion in CGAL internal release).
  - For each demo, merge all .h and .cpp files. Each demo now has a ui
  file, a cpp file and a qrc file (and a html file for the "About demo..."
  menu entry).
  - rename the demos to Delaunay_triangulation_2(.exe) and
  Constrained_Delaunay_triangulation_2(.exe)
2008-07-01 13:18:39 +00:00
Laurent Rineau 4e9791b602 (Leftover of revision 43782.)
Remove toolBar2, that was added during the presentation at Inria, and
commited by error.
2008-06-28 09:29:55 +00:00
Laurent Rineau 0571512148 Polished demos.
- added an icons "insertPoint.png",
  - added a new html file for the about dialog of Delaunay triangulation,
  - the Voronoi diagram is now painted in blue,
  - add the button for Voronoi,
  - general cleaning of the code.
2008-06-27 13:20:55 +00:00
Laurent Rineau ec42da4230 Delaunay-voronoi demo. Not yet polished, but still. 2008-06-27 10:45:04 +00:00
Laurent Rineau bed7194768 Rename "delaunay" to "constrained_delaunay_triangulation" and "MainWindow"
to "Constrained_Delaunay_triangulation_MainWindow".
2008-06-26 16:22:45 +00:00
Laurent Rineau b731d74096 CGAL::Qt::GraphicsViewNavigation is no longer constructed from a
QGraphicsView*. It is now able to handle several graphics view at the same
time (just install several event filters).

New class CGAL::Qt::DemosMainWindow. That class has several protected
methods:
  void setupStatusBar();
  void addNavigation(QGraphicsView*);
  void setupOptionsMenu(QMenu* menu  = NULL);
  void addAboutCGAL(QMenu* menu  = NULL);
  void addAboutDemo(QString htmlResourceName, QMenu* menu  = NULL);

setupStatusBar() adds a label in the statusBar(), that is connected to the
navigation class, and shows the position of the mouse.

addNavigation(QGraphicsView* v) adds a navigation class to the view v.

setupOptionsMenu(QMenu* m  = NULL) adds two options "Use OpenGL" and
"Use antialiasing" to the menu m. If m==0, a menu named "Options" is searched
for, or created if it does not exists.

addAboutCGAL(QMenu* m  = NULL) adds an entry "About CGAL..." to the menu
m. If m==0, a "Help" menu is searched for or created.

addAboutDemo(QString htmlResourceName, QMenu* m  = NULL) adds an entre
"About the demo...", to the menu m. If m==0, a "Help" menu is searched for
or created. If the entry is clicked, a popup dialog shows the content of
the resource/file whose name is in htmlResourceName.
Example:
  addAboutDemo(":/cgal/help/about_triangulation.html")
2008-06-26 15:19:44 +00:00
Laurent Rineau 1740edf306 - Anti-aliasing is quite slow (but in OpenGL mode). It is deactivated by
default.

- Add a temp message in the status bar when the aliasing mode is changed.
2008-06-26 11:47:21 +00:00
Laurent Rineau cb540abc20 - Remove actionToto and actionDisplay_Nearest_Neighbor (added during the
presentation at Inria, and commited by error).
- Add actionUse_Antialiasing in the Options menu.
2008-06-26 10:22:14 +00:00
Laurent Rineau 0d62ce2202 Exclude the "min demo" from "make all". 2008-06-26 10:19:33 +00:00
Andreas Fabri e54fcaa58c Reorganize classes in a namespace and directory called Qt 2008-06-26 08:07:36 +00:00
Andreas Fabri d159174d2c after presentation at Inria 2008-06-25 20:03:48 +00:00
Andreas Fabri 153144ab17 after presentation at Inria 2008-06-25 19:55:27 +00:00
Andreas Fabri 2d3816ec73 after presentation at Inria 2008-06-25 19:54:33 +00:00
Laurent Rineau 519cb27584 A QtInput must be constructed with a parent (that can be 0).
Thus a QtPolylineInput must also be constructed with a parent!
2008-06-24 14:32:03 +00:00
Laurent Rineau 44e8f0fdc1 Remove Delaunay-Voronoi stuff. 2008-06-24 14:16:39 +00:00
Laurent Rineau c8b36d6419 I had switched left and right by error! 2008-06-24 14:16:22 +00:00
Laurent Rineau a1892acb54 Minor modifications:
- clear the mouse coordinates QLabel, at the very beginning,
  - turn the vertical axe upside down.
2008-06-24 13:55:41 +00:00
Laurent Rineau 52c828657c - Store a Vertex_handle, as the hint, instead of a Face_handle: Vertex_handle
survive to insert(), Face_handle do not.
- vh->face() is used as the Face_handle hint, if vh!=Vertex_handle().
2008-06-24 12:52:27 +00:00
Laurent Rineau 7d811a656b Display circumcircles even if the triangulation is contrained. 2008-06-24 12:26:31 +00:00
Laurent Rineau 0b1d985e33 Code review in MainWindow:
- Add dgi and vgi at the beginning, and use show()/hide() instead of
    addItem/removeItem.
  - Merge connectActions() into MainWindow's constructor. That is clearer
    like that.
  - Add comments in the constructor.
  - Rewrite the two action handlers aboutCGAL and aboutDemo: use html file
    in a resource. That works! The "About CGAL" dialog now has a big shiny
    CGAL logo! :-)
2008-06-20 16:52:41 +00:00
Laurent Rineau 819de032cc Partially revert revision 43718:
once an item is added to a scene, the scene is responsible for its
  deletion!
2008-06-20 16:26:35 +00:00
Laurent Rineau 32a5519e5f (Fix the previous commit.)
QObjects must have parents!
2008-06-20 15:49:27 +00:00
Laurent Rineau e51aa26320 QObjects must have parents! 2008-06-20 15:46:40 +00:00
Laurent Rineau f7eb596370 Do not eat the move event! 2008-06-20 15:41:46 +00:00
Laurent Rineau c115427e74 Code review:
- add a destructor to destroyed circle, which is not a QObject
  - use fh as a hint.
2008-06-20 15:39:18 +00:00
Laurent Rineau af51cec326 Code review:
- Use fh as an hint, to avoid to localize the moving point without hint
    each time it moves.
  - Code factorisation between mousePressEvent and mouseMoveEvent.
2008-06-20 15:03:49 +00:00
Laurent Rineau 78dffac531 - Merge/Move QtPolylineInput_non_templated_base.* files into
QtPolylineInput.*

  The need to split QtPolylineInput into a templated class and a
  non-template base class exists, but there is not need to split the header
  into two headers. QtPolylineInput_non_templated_base can be seen as an
  auxiliary class of QtPolylineInput.

- Turn Point_2<K> into K::Point_2 in <CGAL/IO/QtConverter.h>, to avoid the
  inclusion of <CGAL/Point_2.h>.

- Put most Qt Resource files into the CGALQt4 library, instead of linking
  them into the demo.
2008-06-20 10:10:44 +00:00
Laurent Rineau b873a87c96 - Move two cpp file into src/CGALQt4/
- Build a library "CGAL-Qt4".

I do not now yet how to include that library into the set of libraries of
CGAL.
2008-06-18 14:38:38 +00:00
Laurent Rineau 87e1ef1427 Remove the almost empty .cpp wrappers around .moc files. The moc-generated
files are now compiled directly.
2008-06-18 13:35:08 +00:00
Laurent Rineau 899630711b Remove MainWindow.rcc, which is a generated file. 2008-06-18 11:00:45 +00:00
Laurent Rineau 40f5ba9ec6 Move some header to include/CGAL/IO/, and rename the corresponding classes:
- "Qt" as prefix, instead of a simple "Q",
  - no "_2" suffix.

(Next commit will be the move of some .cpp files to src/CGALQt4/ and the
creation of a new CGAL library.)
2008-06-18 10:57:39 +00:00
Laurent Rineau dcd3efa221 - QNavigation2 is merge into QNavigation.
- QTriangulationVerticesGraphicsItem_2 is merged into
  QTriangulationGraphicsItem_2.
- Better event filtering in QNavigation.
- Remove QDatastructure. MainWindow is now responsible for inserting
  objects (points, polylines) into the triangulation.
- In MainWindow.h: include less headers. Use forward declarations when
  possible.
- In MainWindow.cpp and MainWindow.ui: 
     - add a "Recenter" action, that allows to center and scale the
       viewport on the triangulation,
     - add shortcuts and mnemonic to actions.
- Allow the use of the OpenGL QPaintEngine, instead of the traditional one.
2008-06-18 09:45:36 +00:00
Andreas Fabri 734d550728 Circle input handler 2008-06-16 21:40:18 +00:00
Laurent Rineau 06189aeaa4 Correct the bug that i introduced in QPolylineInput_2<K> with
revision 43589.
2008-06-13 16:48:28 +00:00
Laurent Rineau 620539ee4e The "Zoom rectangle" is implemented (as an experiment in min.cpp).
Not the nice transparent "CGAL yellow" color. :-)
2008-06-13 16:36:10 +00:00
Laurent Rineau 5cd6938492 Updated version of the minimal test demo:
- The arrow keys (up, down, left, right) work as expected, now. When they
  are used, the sceneRect of the view if extended.
2008-06-13 13:48:33 +00:00
Laurent Rineau c827149db8 Cosmetic changes (add a comment, modify another one, add a one-line block
after an "if")
2008-06-13 09:43:16 +00:00
Laurent Rineau 069aa9beab I forgot the moc file! 2008-06-13 08:56:11 +00:00
Laurent Rineau 7d86267ea0 - Add a minimal demo: min.cpp
- Make CGAL required, and not optional!
2008-06-13 08:49:27 +00:00
Andreas Fabri aecb9992cd A small program to test graphics view features 2008-06-13 08:15:57 +00:00
Andreas Fabri a11e64b39e got rid of the wrappers of the CGAL datastructures 2008-06-12 20:33:06 +00:00
Andreas Fabri 2b3d38dd9e These proxies were an overkill 2008-06-12 20:20:08 +00:00
Laurent Rineau b7fcecee65 Update the UI (add shortcuts). 2008-06-12 10:52:33 +00:00
Laurent Rineau d6618da2dc Split CGAL::QPolylineInput_2<K> into two classes:
- CGAL::QPolylineInput_2_non_templated_base contains all the non
    templated code,
  - CGAL::QPolylineInput_2<K> contains the four lines of code that need the
    template parameter.

Most of the old file QPolylineInput_2.h is not in a separate compilation
unit compilationQPolylineInput_2_non_templated_base.cpp.

That speeds up the recompilation of that class!
2008-06-12 09:22:11 +00:00
Laurent Rineau f038508508 Remove the svn:executable property of C++ files. 2008-06-12 08:32:51 +00:00
Laurent Rineau 211ecbed2f - Escape, Backspace, and Delete are now equilavent, in QPolylineInput
(I personnaly prefere Escape, and Backspace is more standard).

- If a modifier is pressed, the mouse button will do nothing.
2008-06-11 18:57:57 +00:00
Laurent Rineau 030e06c311 Zoom quicker if Shift or Control is pressed. 2008-06-11 18:54:20 +00:00
Laurent Rineau 4403df2d3f QGraphicsEllipseItem derives from QObject.
Never create a QObject as a member: create it on the heap, instead.

The reason is that a Qt objects are destroyed when their parent is
destroyed. If class has a QObject member, then the destructor will try a
double-free (which triggers a segfault).
2008-06-11 15:54:37 +00:00
Laurent Rineau be5a057a52 Remove a temp file from svn. 2008-06-11 13:56:54 +00:00
Laurent Rineau c6f90ef934 Fix compilation errors (hopfully one day g++ and VC++ will accept the same
language).
2008-06-11 13:53:30 +00:00
Laurent Rineau 07f7f697aa Link the demo with libCGAL (mandatory if auto-link is not availlable). 2008-06-11 13:52:19 +00:00
Laurent Rineau c02122c328 - Fix a typo (in a signal name).
- Check the action showDelaunay by default.
2008-06-11 13:51:42 +00:00
Andreas Fabri 4bea3db56c A demo specific icon 2008-06-11 12:37:54 +00:00
Laurent Rineau 24341620af The qt4 package is named "Qt4", and not "QT4". 2008-06-11 12:32:43 +00:00
Laurent Rineau 5722033165 Remove generated files. 2008-06-11 12:31:20 +00:00
Andreas Fabri 4869a501e2 Regroup icons in ressource files 2008-06-11 11:47:31 +00:00
Andreas Fabri c5dbd53956 switching to cmake 2008-06-11 07:02:28 +00:00
Andreas Fabri 94f7136a09 simplifications 2008-06-10 20:48:58 +00:00
Andreas Fabri b0c6da79fe Renaming 2008-06-10 19:40:13 +00:00
Andreas Fabri 6f579b1f91 minor changes 2008-06-10 19:26:15 +00:00
Andreas Fabri 0812395bca before renaming 2008-06-10 19:02:45 +00:00
Andreas Fabri 1db0ab9a03 before renaming 2008-06-10 19:02:18 +00:00
Andreas Fabri e4d316018e moving and renaming of icons 2008-06-09 09:25:02 +00:00
Andreas Fabri 62ed59508f moving and renaming of icons 2008-06-09 09:24:16 +00:00
Andreas Fabri d95d45d552 moving and renaming of icons 2008-06-09 09:23:41 +00:00
Andreas Fabri d93de42123 moving and renaming of icons 2008-06-09 09:22:02 +00:00
Andreas Fabri 97c3d66e3f moving and renaming of icons 2008-06-09 09:21:27 +00:00
Andreas Fabri 4860429330 icons directory for sharing them across demos 2008-06-09 09:15:30 +00:00
Andreas Fabri 6c437ebfc3 A proof of concept for the GraphicsView as foundation of 2D demos 2008-05-10 20:59:28 +00:00