Commit Graph

339 Commits

Author SHA1 Message Date
Andreas Fabri 4094ca645b When the polyline is closed we duplicate the first point 2008-07-29 20:47:43 +00:00
Laurent Rineau b9fa91e06a make_array is in CGALi... 2008-07-28 14:27:05 +00:00
Laurent Rineau 8939e4d897 Use boost::array (and <CGAL/array.h> instead of CGAL::Triple
That code is currently not tested!
2008-07-28 14:11:50 +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 fb894e0f08 Add signal modelChanged for inout handlers that modify a model 2008-07-09 15:02:52 +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
Andreas Fabri e165edec50 Add Polygon Demo 2008-07-08 21:44:43 +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
Laurent Rineau cfe37f831c Use \ccAnchor instead of a construction with \ccTexHtml 2008-07-02 12:51:34 +00:00
Laurent Rineau 4fc594a562 Fix compilation error in doc_tex/. 2008-07-02 12:41:37 +00:00
Andreas Fabri 806dcfd607 small improvements of the reference manual pages 2008-07-02 12:25:52 +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
Andreas Fabri fce1726039 Added links to the Qt online documentation 2008-07-02 09:08:36 +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 1143bf9543 Missing ":". 2008-07-01 13:34:08 +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 4d6d9b314c Fix compilation error in VoronoiGraphicsItem<DT>. 2008-06-27 10:42:50 +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 a42a3d4cb3 Use T::Geom_traits instead of K 2008-06-26 13:07:40 +00:00
Andreas Fabri 834ca71ffa more low level conversion and drawing 2008-06-26 12:46:19 +00:00
Laurent Rineau bbaa078d3f Fix compilation errors. 2008-06-26 11:52:39 +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
Andreas Fabri 710f73f806 Added GraphicsViewIsoRectangleInput.tex 2008-06-26 11:40:37 +00:00
Andreas Fabri 67ec2f0a80 Added PainterOstream.tex 2008-06-26 11:29:39 +00:00
Andreas Fabri 5cd6426480 Renamed file of Converter 2008-06-26 11:27:20 +00:00
Andreas Fabri f5f98c4263 Added the PainterOstream 2008-06-26 11:25:55 +00:00
Laurent Rineau 13d8e38b82 Fix some compilations errors. 2008-06-26 10:28: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 bfbcddd90e Added nested namespace 2008-06-26 10:19:08 +00:00
Andreas Fabri 993092d7b2 Put the clipping in the Converter 2008-06-26 10:18:11 +00:00
Andreas Fabri 48b005732f Put the clipping in the Converter 2008-06-26 10:17:51 +00:00
Andreas Fabri de4fc60cff Updated UML diagram 2008-06-26 08:46:54 +00:00
Andreas Fabri dd5c5074a0 Added pen 2008-06-26 08:39:36 +00:00
Andreas Fabri afa8fce2cb Added circle input 2008-06-26 08:38:59 +00:00
Andreas Fabri e54fcaa58c Reorganize classes in a namespace and directory called Qt 2008-06-26 08:07:36 +00:00
Andreas Fabri 52a9d39037 after presentation at Inria 2008-06-25 20:32:32 +00:00
Andreas Fabri 00b45e977d after presentation at Inria 2008-06-25 20:16:44 +00:00
Andreas Fabri 4a92e20e15 after presentation at Inria 2008-06-25 20:08:32 +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
Andreas Fabri 132153d513 after presentation at Inria 2008-06-25 19:41:13 +00:00
Andreas Fabri 08847b08b0 after presentation at Inria 2008-06-25 19:24:33 +00:00
Andreas Fabri 2370b885cb after presentation at Inria 2008-06-25 19:10:50 +00:00
Laurent Rineau 47bce71dcf New feature in QtNavigation: Ctrl+Shirt+RightButton moves the point under
mouse to the center of the viewport.
2008-06-24 14:32:59 +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
Andreas Fabri 23392f37b6 Short presentation 2008-06-24 13:57:55 +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 a162192fe8 bool drawEdges() was not used by QtConstrainedTriangulationGraphicsItem 2008-06-24 12:29:41 +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 7e40e00fa4 Fix again the previous commit. I forgot to commit <CGAL/IO/QtInput.h>.
Sorry for the spam.
(QObjects must have parents!)
2008-06-20 15:50:24 +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 0fb2c81d53 Update the TODO file. 2008-06-20 12:54:01 +00:00
Laurent Rineau 6f66801b11 Small updates to the documentation: fix typos, small corrections, add
headings where needed.
2008-06-20 12:46:38 +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 e2ba21fd83 Fix typos.
Add a html link to the Qt web page, at Trolltech.

I think that, in the HTML version, we should put links to the Qt
documentation.
2008-06-20 09:44:16 +00:00
Andreas Fabri d7bb6d8884 yet another round of renaming 2008-06-19 13:13:04 +00:00
Andreas Fabri 61d95e05e5 Better names 2008-06-19 12:52:23 +00:00
Andreas Fabri 189177144d Better names 2008-06-19 12:51:01 +00:00
Andreas Fabri 8d1d113622 more compact diagram 2008-06-19 12:38:11 +00:00
Laurent Rineau bcee0b3e5c Scale the huge picture to the width of the page. 2008-06-19 12:34:47 +00:00
Laurent Rineau 13d1e11489 Fix a typo. 2008-06-19 12:34:25 +00:00
Andreas Fabri 446d25d897 diagram as eps 2008-06-19 12:29:08 +00:00
Andreas Fabri 6e99dcc17f diagram as eps 2008-06-19 12:28:51 +00:00
Andreas Fabri 54509a4b85 Added UML diagram 2008-06-19 12:26:02 +00:00
Andreas Fabri 0b0490e398 Added user manual text 2008-06-19 12:25:11 +00:00
Andreas Fabri f8cbccc776 A preliminary version 2008-06-18 16:19:11 +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 acbe95abee Make QtPolylineInput_non_templated_base have a protected constructor. An
object of that class cannot be constructed directly (use QtPolylineInput<K>
instead).
2008-06-18 13:36:40 +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 c6f6f71b9f Add items (in french) in the todo list. 2008-06-12 14:16:03 +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