Commit Graph

389 Commits

Author SHA1 Message Date
Pierre Alliez d79f377307 solve one bug in kernel 2008-09-30 13:47:08 +00:00
Laurent Rineau a04928195d Use QApplication::restoreOverrideCursor() instead of
QApplication::setOverrideCursor(Qt::ArrowCursor).
2008-09-28 16:23:39 +00:00
Laurent Rineau 7db0035b21 Renam main.cpp to Polyhedron_3.cpp, to please cgal_test_with_cmake. 2008-09-26 13:23:02 +00:00
Laurent Rineau 27c49feaee typos 2008-09-25 16:10:55 +00:00
Pierre Alliez 417b5e2cc1 improve texturing for parameterization
added few comments and code cleanups
2008-09-23 14:56:31 +00:00
Laurent Rineau db59488a8a Link with TAUCS... 2008-09-22 21:58:25 +00:00
Laurent Rineau 029aff845e Fix display of textured polyhedra. 2008-09-22 14:32:50 +00:00
Laurent Rineau 5404612493 Fix TAUCS support in this demo. 2008-09-22 14:32:17 +00:00
Laurent Rineau 48d7197304 Followup: attempt to restore the forward declarations and separate
compilation. Still does not compile.
2008-09-22 10:53:23 +00:00
Laurent Rineau d901641bdd - Fix the CMakeLists.txt\
- Make TAUCS optionnal
- Attempt to restore the forward declarations and separate compilation.
2008-09-22 10:28:09 +00:00
Pierre Alliez 14e4557741 Polyhedron demo: another attempt to get the texture mapping to work 2008-09-11 21:16:43 +00:00
Pierre Alliez 19cffe7d29 Polyhedron demo:
- added textured polyhedron 
- rendering with texture mapping does not work yet
2008-09-11 15:45:30 +00:00
Laurent Rineau 643ba800db Fix linking. 2008-09-11 13:58:08 +00:00
Laurent Rineau 0580aafa81 Use <CGAL/gl.h> instead of <CGAL/gl.h>! 2008-09-11 13:53:56 +00:00
Andreas Fabri d183040bbe fixed link 2008-09-10 06:54:10 +00:00
Andreas Fabri 8e2a281432 Fixed link 2008-09-09 07:36:57 +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 82a9645ba7 Fix VCisms: add "typename" and "this->" where required. 2008-09-05 08:03:49 +00:00
Pierre Alliez 31b2cd5b79 added incremental builder to copy a basic polyhedron into a textured one. 2008-09-04 15:42:58 +00:00
Pierre Alliez a3e70b5fa3 Demo polyhedron: commented addition of tex polyhedron and indentation. 2008-09-04 13:16:44 +00:00
Pierre Alliez 7033da91c9 rename Tex_polyhedron into Textured_polyhedron
link with TAUCS
2008-09-04 11:54:39 +00:00
Laurent Rineau b01af5dbdf Fix a use of CGAL::to_double: the generic CGAL::to_double is not able to
select the right Real_embeddable_traits (see the comments i have inserted).
2008-09-04 11:11:37 +00:00
Laurent Rineau 05982bcde8 Add typenames where needed. 2008-09-04 11:10:49 +00:00
Laurent Rineau 8fd0c93dc0 Fix a header name: Windows is case-insensitive but others OSs are! 2008-09-04 11:10:27 +00:00
Laurent Rineau a1bdd10ba6 Remove unused Windows-isms. 2008-09-04 11:09:47 +00:00
Pierre Alliez cd208c2715 Polyhedron demo: another attempt to compile - I get the messages
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(38) : error C2144: erreur de syntaxe : 'int' doit être précédé de ';'
2>        D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(44) : voir la référence à l'instanciation de la classe modèle 'CGAL::Fourtuple<T>' en cours de compilation
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(38) : error C2059: erreur de syntaxe : '{'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(38) : error C2334: jetons inattendus avant '{' ; corps apparent de la fonction ignoré
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(41) : error C2144: erreur de syntaxe : 'int' doit être précédé de ';'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2327: 'CGAL::Fourtuple<T>::e0' : n'est pas un nom de type, un membre static, ni un énumérateur
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2065: 'a0' : identificateur non déclaré
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C3861: 'e0' : identificateur introuvable
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2061: erreur de syntaxe : identificateur 'a1'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2365: 'CGAL::Fourtuple<T>::e1' : redéfinition ; la précédente définition était 'données membres'
2>        D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(36) : voir la déclaration de 'CGAL::Fourtuple<T>::e1'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2061: erreur de syntaxe : identificateur 'a2'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2365: 'CGAL::Fourtuple<T>::e2' : redéfinition ; la précédente définition était 'données membres'
2>        D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(36) : voir la déclaration de 'CGAL::Fourtuple<T>::e2'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(42) : error C2061: erreur de syntaxe : identificateur 'a3'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(43) : error C4430: spécificateur de type manquant - int est pris en compte par défaut. Remarque : C++ ne prend pas en charge int par défaut
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(43) : error C2365: 'CGAL::Fourtuple<T>::e3' : redéfinition ; la précédente définition était 'données membres'
2>        D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(36) : voir la déclaration de 'CGAL::Fourtuple<T>::e3'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(43) : error C2143: erreur de syntaxe : absence de ';' avant '{'
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(43) : error C2334: jetons inattendus avant '{' ; corps apparent de la fonction ignoré
2>D:\pierre\src\cgal\CGALI\trunk\Polyhedron\demo\Polyhedron\..\..\..\STL_Extension\include\CGAL/Fourtuple.h(44) : fatal error C1075: fin de fichier rencontrée avant que l'élément accola
2008-09-04 08:31:57 +00:00
Pierre Alliez 8da0a517c0 remove DemosMainWindow from CmakeList - sorry for confusion 2008-09-04 08:15:14 +00:00
Pierre Alliez 0e128620c1 one attempt to fix comilation issue but I get this message:e2>D:\pierre\src\cgal\CGALI\trunk\Surface_mesher\include\CGAL/Robust_circumcenter_traits_3.h(29) : fatal error C1083: Impossible d'ouvrir le fichier include : 'CGAL/Robust_construction.h' : No such file or directory 2008-09-03 15:29:23 +00:00
Pierre Alliez 7b2e24f25c polyedron demo: added man model (it self intersects) 2008-09-03 11:48:33 +00:00
Pierre Alliez df111d3d66 added textured polyhedron.
note: does not compile - need to fix this.
2008-08-25 08:08:28 +00:00
Laurent Rineau e2e9488943 "dont submit" the biggest off files 2008-08-19 11:55:03 +00:00
Pierre Alliez dd41e4f2cf one attempt to texture mapping 2008-08-14 05:44:55 +00:00
Pierre Alliez add2be5b29 conformal parameterization. 2008-08-14 04:43:39 +00:00
Pierre Alliez 8f351ebd66 more on parameterization demo. 2008-08-14 03:37:29 +00:00
Pierre Alliez ae31d1071a added mushroom model 2008-08-13 16:09:34 +00:00
Pierre Alliez 13bf035e08 added a few models for testing. 2008-08-13 15:46:29 +00:00
Pierre Alliez b8cb058fc6 small update on parameterization 2008-08-13 07:35:32 +00:00
Pierre Alliez 33f63f15fe added parameterization (no visualization yet) 2008-08-13 03:28:27 +00:00
Pierre Alliez e4f3b7afdc nef polyhedra rendered with black edges. 2008-08-12 02:08:42 +00:00
Pierre Alliez 35ebf94041 added 2 models for the polyhedron demo 2008-08-11 22:40:57 +00:00
Pierre Alliez 766cd4e567 more wait cursors and console outputs.
now render edges in black
2008-08-11 18:43:21 +00:00
Pierre Alliez 93793fe21b fix remeshing conversion bug - the AABB tree now goes even faster. 2008-08-11 15:59:50 +00:00
Laurent Rineau 16486bc4cb Fix the columns widths. 2008-08-03 22:20:40 +00:00
Laurent Rineau 7427e45138 Stave and restore the dockwidget geometry. 2008-08-03 21:30:10 +00:00
Laurent Rineau b715656df3 Allow boolean operations that take one or two *nef* polyhedron as input.
(With previous revision, nef polyhedra could only be displayed.)
2008-08-01 18:59:03 +00:00
Laurent Rineau 5a27d45492 Remove verbose degugging of gluTess callbacks. 2008-08-01 18:57:55 +00:00
Laurent Rineau a3b2fc48bc - Fix erase: previous revision made it a no-op if the selected entry was a
Nef_polyhedron.
- Fix duplicate: previous revision make it a copy of pointers, instead of a
  deap copy.
2008-08-01 18:55:59 +00:00
Laurent Rineau 09fc087073 - Restore forward declarations and multiple compilation units.
- That is controled by a CMake option, ENABLE_FORWARD_DECL, which is OFF by
  default.

Tested in both cases (ON and OFF)...
2008-08-01 18:25:20 +00:00
Laurent Rineau 90637a6159 - Add tooltips for Nef_polyhedron.
- Scene::bbox() is moved to Scene_nef_and_polyhedron_operations.cpp
- Fix display of Nef_polyhedron entries.
  Details:
    - no longer use <CGAL/Nef_3/OGL_helper.h>
    - Scene::gl_render_nef_facets(Nef_polyhedron*) has been written from
      scratch (inspired by pieces of OGL_helper).
    - Use model light FRONT_AND_BACK for Nef_polyhedron entries, because
      Nef_polyhedron does not have the inside_out operation.
2008-08-01 18:24:14 +00:00
Laurent Rineau 701b3c05c9 Missing includes. 2008-08-01 18:14:01 +00:00
Laurent Rineau 3e92d2feeb Missing includes. 2008-08-01 18:13:34 +00:00
Laurent Rineau 6ef7b8a934 Fix onePolygonIsSelected(), so that it returns false if the selected
polyhedron is a Nef_polyhedron.
2008-08-01 18:12:56 +00:00
Laurent Rineau 9c79f2741e Add missing includes. 2008-08-01 18:11:32 +00:00
Laurent Rineau 52499951fa Add full support for Nef_3 in Polyhedron demo.
The Nef_3 rendering is still buggy (one just see the vertices). I do not
know why.
2008-08-01 11:15:31 +00:00
Laurent Rineau 265f382c05 Use support for recent files from CGAL::Qt::DemosMainWindow. 2008-07-30 18:04:59 +00:00
Laurent Rineau 796a0ee86e Use best OpenGL anti-aliasing, when anti-aliasing is opted. 2008-07-29 10:44:16 +00:00
Pierre Alliez add457ea96 a bit of cleanup in remeshing 2008-07-28 21:46:00 +00:00
Laurent Rineau 12e0e4ecc8 Add the output of remeshing to a new polyhedron. 2008-07-28 19:59:22 +00:00
Pierre Alliez bf572511a8 one unsuccessful attempt to mix kernel (I tried AABB tree with Cartesian, the rest with filtered kernel) 2008-07-28 19:30:23 +00:00
Pierre Alliez 6ef5a5d693 more on collision detection 2008-07-28 18:58:50 +00:00
Pierre Alliez bc8e6fd1e2 replace furthest intersection test by first_intersection 2008-07-28 18:16:38 +00:00
Laurent Rineau d4a2f1cb63 Fix compilation errors with GNU C++ compiler:
- add typename where needed and remove some where they were forbidden,
  - move up some function definitions, before they are used.
2008-07-28 13:45:30 +00:00
Pierre Alliez 7358b5e14c stripped off collision model for getting the demo compile on Linux 2008-07-28 11:36:44 +00:00
Pierre Alliez a99528a897 update models 2008-07-27 08:12:36 +00:00
Pierre Alliez 2f8b64315f fix cursor for remeshing 2008-07-27 07:28:25 +00:00
Pierre Alliez 835bd072f9 remeshing parameters using input dialog 2008-07-27 07:23:41 +00:00
Pierre Alliez e733fef1fe added lucy statue with finer resolution. 2008-07-26 22:06:58 +00:00
Pierre Alliez 09a9c58abc added timing for remeshing 2008-07-26 22:01:56 +00:00
Pierre Alliez e375a5bdb8 First running version of remeshing using AABB tree (needs cleaning) 2008-07-26 21:34:40 +00:00
Pierre Alliez 7032b35789 AABB tree now linked to oracle 2008-07-26 20:15:38 +00:00
Pierre Alliez dfab7987ac more on AABB tree for surface remeshing 2008-07-26 19:59:19 +00:00
Pierre Alliez c259f9dd4e surface remeshing now compiles fine - it remains to connect with the AABBtree collision model. 2008-07-26 19:08:44 +00:00
Pierre Alliez 94f71be161 1-line toolbar 2008-07-26 16:12:12 +00:00
Pierre Alliez afee4ab133 move colllision model into a separate folder. 2008-07-26 14:37:18 +00:00
Pierre Alliez 91c7c4f562 move all intersection tests into a separate folder. 2008-07-26 14:36:21 +00:00
Pierre Alliez 001f880410 initial work on remeshing 2008-07-26 14:34:32 +00:00
Pierre Alliez 976a501b9e uncomment subdivision functions as they now compile fine. 2008-07-26 10:34:56 +00:00
Andreas Fabri 2bf2b4ff3e No need to include <CGAL/basic.h> 2008-07-25 21:21:02 +00:00
Andreas Fabri d65736ebf4 Fix such that subdivision operations compile with VC7. Forward declaration needs some rework by Laurent 2008-07-25 21:19:22 +00:00
Pierre Alliez 20ca98dab6 removed icons.
fix cursors.
2008-07-24 20:52:49 +00:00
Sylvain Pion dc3bf72707 Remove changes.txt files. 2008-07-24 17:47:16 +00:00
Pierre Alliez fa9b69fafe added tripod model to debug the kernel 2008-07-22 21:39:06 +00:00
Pierre Alliez b268ca8b0e added inside out operation
fixed kernel
2008-07-22 15:25:45 +00:00
Pierre Alliez 427fb2b74f added menu inside out - need to write the code 2008-07-22 13:44:29 +00:00
Pierre Alliez 0bd6adbc43 a bit of cleanup on scene Bbox computation. 2008-07-20 14:34:49 +00:00
Pierre Alliez 39b907c461 global cleanup of mesh operations.
Laurent: I cannot understand why the icons specified and visible in the designer are not visible in the exec.
Also, I was unable to compile the subdivision functions.
2008-07-20 14:15:48 +00:00
Pierre Alliez ca0b136bbd icons for Boolean operations.
weird: they look fine in the designer but are not shown in the exec.
2008-07-18 20:30:57 +00:00
Laurent Rineau 35af0d054a "Erase all" now work.
"Erase' now has the Delete key as shortcut.
2008-07-18 16:23:06 +00:00
Laurent Rineau acf4ea73d5 Let the application remember in which directory lies the last open file.
That directory is used to load new files.
2008-07-18 13:49:02 +00:00
Laurent Rineau 7e60068d60 Fix the crash if arguments.isEmpty().
Add various checks.
2008-07-17 23:17:40 +00:00
Laurent Rineau e8f7a4917a Fix the crash if arguments.isEmpty(). 2008-07-17 23:17:23 +00:00
Pierre Alliez 672daa420b added translate for polyhedron kernel 2008-07-17 15:17:24 +00:00
Laurent Rineau 70add34bae Allow the use of Meta instead of Alt, for the paths edition of QGLViewer. 2008-07-16 23:37:11 +00:00
Laurent Rineau 7c4e6dd0b8 Add Viewer::drawWithNames() and Viewer::postSelection(): that implements
the feature "selection with mouse" (Shift+LeftButton simple click).

Scene::draw now has a boolean parameter (draw with name or not).
2008-07-16 22:29:34 +00:00
Laurent Rineau c99aa4d8cc Add alpha channel to icons. 2008-07-16 22:04:55 +00:00
Laurent Rineau cf3e194f55 Add action, with shortcuts, to:
- activate a polyhedron (Ctrl+Space)
  - put polyhedron as selection A (Ctrl+A)
  - put polyhedron as selection B (Ctrl+B)
2008-07-16 22:04:32 +00:00
Pierre Alliez 125b698c13 fix indent for kernel 2008-07-16 21:42:02 +00:00
Pierre Alliez 08d544bab7 more on polyhedron kernel using LP solver
remains to implement translate<Polyhedron>
2008-07-16 21:23:04 +00:00
Pierre Alliez 21bba71a11 started adding some icons - but could not figure out how to specify transparency 2008-07-16 20:30:03 +00:00
Laurent Rineau d72c431eb3 Add a global preference "View edges", which is a QAction in the View menu.
Update: rename it "Superimpose edges".
2008-07-16 18:33:47 +00:00
Laurent Rineau a872041a55 Add a global preference "View edges", which is a QAction in the View menu. 2008-07-16 18:32:15 +00:00
Laurent Rineau fb91fc9f90 New icons for the checkmark in treeView. 2008-07-16 18:31:32 +00:00
Laurent Rineau 0c53947443 Add toolbars. We need icons. 2008-07-16 17:47:09 +00:00
Laurent Rineau 9ddb771a75 To reduce inter-dependancies, and thus compilation time, MainWindow no
longer derives from Ui::MainWindow. Instead, MainWindow now has a member:

         Ui::MainWindow* ui;

That way, a single change in MainWindow.ui will no longer trigger the
recompilation of all .cpp that depend on MainWindow.h
2008-07-16 17:21:03 +00:00
Laurent Rineau 6ae6c2f660 Add tooltips to the Scene. Viewed in the treeView. 2008-07-16 17:07:22 +00:00
Laurent Rineau 96a79fccf5 Fix drawing of edges. 2008-07-16 16:39:19 +00:00
Laurent Rineau d47ab0f489 Reindent. 2008-07-16 16:21:04 +00:00
Pierre Alliez 930db7897a display lists - faster but not simpler 2008-07-16 15:16:29 +00:00
Laurent Rineau 1a6d8a5dbc Add a toolbar. 2008-07-16 14:54:55 +00:00
Laurent Rineau 2841cf29ee Fix a compilation error: Scene.cpp no longer includes the complete
definition of the type Polyhedron. You must use Scene::destroy instead of
"delete".
2008-07-16 14:50:50 +00:00
Laurent Rineau e550425440 New function:
template <class Poly_A, class Poly_B>
  void copy_to(const Poly_A& poly_a, Poly_B& poly_b)
to avoid the ugly hack using a temp file in
MainWindow_boolean_operations.cpp.

Maybe that function should be in CGAL, actually.
2008-07-16 14:48:15 +00:00
Pierre Alliez 6d6e98bb08 update TODO list 2008-07-16 14:41:48 +00:00
Pierre Alliez 069b83759b more cleanup on simplify 2008-07-16 14:20:38 +00:00
Pierre Alliez 1a4079f2f8 simplification: added timer and output 2008-07-16 14:02:22 +00:00
Laurent Rineau b98175b4f2 Updated todo: we need to disable several menu items. 2008-07-16 13:51:08 +00:00
Laurent Rineau 7ef44188a8 Attempt to fix a compilation error under Windows. 2008-07-16 13:49:50 +00:00
Laurent Rineau 8f569aa382 Use QInputDialog::getInteger to get the parameter for the simplification
algorithm.
2008-07-16 13:48:26 +00:00
Laurent Rineau a30e08123b Fix two warnings under Windows. 2008-07-16 13:16:48 +00:00
Pierre Alliez 592921e134 fix compilation issue 2008-07-16 13:01:55 +00:00
Pierre Alliez 69f346a20d tried fixing compilation issues 2008-07-16 12:30:27 +00:00
Laurent Rineau 7273f1997c Add a struct Scene::Bbox to avoid the inclusion of any CGAL header in
Scene.h. That should reduce compilation times.
2008-07-16 11:18:29 +00:00
Laurent Rineau c5654c95e3 - Rename several actions, to remove all "_" in their names.
- Add several "&" in action texts.

- NEW files:
   - "Polyhedron_type.h" defines the Kernel and Polyhedron types,
   - "Polyhedron_type_fwd.h" can be used for a forward declaration of the
     type "Polyhedron".

- New functions in Scene:
    int selectionAndex();
    int selectionBindex();
  Boolean operations now use those functions to get the indices of the
  polyhedra.

- The Exact_polyhedron is now only defined in
  MainWindow_boolean_operations.cp, to reduce compilation times.

- The min/max problem is handled better, in MainWindow_pca.cpp (quote the
  macros with () instead of using #undef).

- MainWindow_simplify.cpp now works!!

- Scene.h and Scene.cpp has been splitted in several parts, to decrease
  compilation times:
    - Scene_rendering.h declares:
        void gl_render_facets(Polyhedron* poly);
        void gl_render_edges(Polyhedron *poly);
    - Scene_rendering.cpp defines those two functions by using
      <CGAL/gl_render.h>
    - Scene_polyhedron_operations.cpp contains operations that
      create/delete/load/save polyhedra.
  That way, Scene.h and Scene.cpp are CGAL-agnostic.
2008-07-16 11:08:06 +00:00
Pierre Alliez 792bc2eea8 a bit of cleanup on Scene 2008-07-16 08:41:43 +00:00
Pierre Alliez 66130f35a6 removed menu "Selections" - we'll see this for later 2008-07-16 08:33:00 +00:00
Pierre Alliez d9a9f58477 fix std::cerr output when reading a file 2008-07-16 08:24:28 +00:00
Pierre Alliez 0023b1bce4 normalize models for Boolean operations 2008-07-16 08:20:06 +00:00
Pierre Alliez 62a8260dc9 add timer for Boolean operations 2008-07-16 08:17:03 +00:00
Pierre Alliez 2fc0cfe1dc pca/boolean/self-intersect -> a bit of cleanup 2008-07-16 08:07:44 +00:00
Pierre Alliez 3b5ec29388 cleanup and reduce model sizes 2008-07-16 07:57:03 +00:00
Pierre Alliez 39a19c21cf another attempt to simplify 2008-07-16 07:31:48 +00:00
Pierre Alliez cc9ee7e489 another fix on curvature estimation 2008-07-16 07:25:21 +00:00
Pierre Alliez 1e6b97be68 monge form now complies with vertex normal - thanks Marc! 2008-07-15 13:19:23 +00:00
Pierre Alliez a0a049cbcd solve compilation bug on windows 2008-07-15 13:13:36 +00:00
Laurent Rineau aab17114a3 Fix compilation errors. 2008-07-15 10:25:35 +00:00
Pierre Alliez 79eeb66f5b curvature estimation: fix normal orientation bug 2008-07-15 09:55:38 +00:00
Pierre Alliez 78683b0ee6 now compiles in debug mode but refuses to exec. 2008-07-14 20:51:18 +00:00
Pierre Alliez 9b20194dba more on curvature estimation
removed enriched polyhedron
removed make_quad (the soup is more generic)
separate compute_normal
2008-07-14 20:09:22 +00:00
Pierre Alliez 879088c116 more on curvature estimation
need to fix the normal orientation
2008-07-14 19:40:27 +00:00
Pierre Alliez 17688b2e03 curvature estimation - remains to represent result as a polyhedron 2008-07-14 16:49:17 +00:00
Pierre Alliez b44dd2ba46 another attempt to get the mesh simplification compile on Windows. 2008-07-14 14:00:10 +00:00
Pierre Alliez 43be43d690 rename self-intersect
pca fit and self-intersect to red by default
2008-07-14 13:53:42 +00:00
Pierre Alliez 7626528ed1 tmp renaming to fix capitals 2008-07-14 13:47:16 +00:00
Pierre Alliez e968a67d1c ooops - forgot to add self intersection menu file 2008-07-14 13:27:58 +00:00
Pierre Alliez 0a8289a411 added self-intersection (needs a bit of cleanup)
PS: the (added) cow model self-interects
2008-07-14 13:27:09 +00:00
Pierre Alliez 5ed155720b added menu save as... (save selected polyhedron)
remains to implement save all, and save (all selected polyhedra to their original filename)

normalized 3D models
cleanup boolean operations
2008-07-14 12:58:50 +00:00
Pierre Alliez 6df756e150 Added Boolean operations
Laurent: please take a look - you may have a cleaner solution for converting from inexact to exact polyhedron
2008-07-14 12:25:35 +00:00
Pierre Alliez 6c429f7ddf PCAPCA plane fitting - the best fit line is added as a bar polyhedron 2008-07-14 10:20:38 +00:00
Pierre Alliez 5992d3ae35 PCA plane fitting - the best fit plane is added as a quad polyhedron 2008-07-14 06:59:50 +00:00
Pierre Alliez 36eb748188 added Loop subdivision 2008-07-13 20:27:19 +00:00
Pierre Alliez e1c2d60890 more on polyhedron kernel computation using LP solver 2008-07-12 20:36:33 +00:00
Pierre Alliez 0c94d8efc0 render edges 2008-07-12 19:57:22 +00:00
Laurent Rineau dbcbf05acb Fix two compilation errors. 2008-07-12 17:07:02 +00:00
Pierre Alliez c31d6713bd added rendering file
another attempt to simplify a polyhedron (the basic one this time) but it does not compile...
2008-07-12 09:48:23 +00:00
Pierre Alliez af6368c5db drop the enriched polyhedron - rendering by calling a templated function instead. 2008-07-12 09:39:10 +00:00
Laurent Rineau d3d6a5c1eb - Store the MainWindow position/size in a QSetting.
- Added column A/B to Scene and SceneDelegate.
2008-07-11 16:23:59 +00:00
Pierre Alliez 387084df22 cleanup interface and viewer 2008-07-11 15:46:51 +00:00
Laurent Rineau da771637ac Un-inline Viewer::setAntiAliasing(bool). That decrease the readability of
the code.
2008-07-11 15:08:50 +00:00
Laurent Rineau 021767168f Move convex_hull into MainWindow_convex_hull.cpp
and simplify into MainWindow_simplify.cpp
2008-07-11 14:55:20 +00:00
Andreas Fabri e58b0960d6 Added find_package for OPENGL 2008-07-11 14:50:20 +00:00
Laurent Rineau 912bf47dbb - Add two slots in Scene:
void Scene::polyhedronChanged(int i);
    void Scene::polyhedronChanged(Polyhedron*);
  That way, one no longer call viewer->updateGL() but
  scene->polyhedronChanged, and the code is ready for one document with
  multiple views (one just has to connect SIGNAL(Scene::dataChanged(..)) to
  updateGL() of all viewers.

- Add accessors in Scene:
    Polyhedron* polyhedron(int i);
    QColor polyhedronColor(int);
    QString polyhedronName(int);
    bool isPolyhedronActivated(int);
    RenderingMode polyhedronRenderingMode(int);

- Remove Scene::simplify and Scene::convex_hull: MainWindow does the joob
  itself.
2008-07-11 14:24:22 +00:00
Laurent Rineau 337d4cbc9c Scene::duplicate now uses Scene::addPolyhedron... 2008-07-11 13:55:46 +00:00
Laurent Rineau a286206697 - Add a "static const QColor defaultColor;" to Scene,
- Add in Scene:
      void addPolyhedron(Polyhedron* p,
                         QString name,
                         QColor color = defaultColor,
                         bool activated = true,
                         RenderingMode mode = Fill);
- Modify Scene::open to use addPolyhedron.
2008-07-11 13:53:51 +00:00
Laurent Rineau 1432cbb62f Do not use inlined function in Scene (it does not make sens). 2008-07-11 13:30:58 +00:00
Laurent Rineau f9f27d9e2a Remove another todo entry! 2008-07-11 12:33:27 +00:00
Laurent Rineau c5b91d2f33 Use "::Qt" for the Qt namespace, instead of "Qt" (because CGAL::Qt now
exists).
2008-07-11 12:19:46 +00:00
Laurent Rineau d74cb9bac9 Scene::draw() now use the rendering mode. 2008-07-11 12:12:30 +00:00
Laurent Rineau 91b1ba8bed (Add an attribue rendering_mode in Polyhedron_entry.)
The treeView now displays it.

The Scene::draw() does not use it, yet.
2008-07-11 12:05:48 +00:00
Laurent Rineau ad787d98c0 Add an attribue rendering_mode in Polyhedron_entry. 2008-07-11 11:19:52 +00:00
Laurent Rineau b91a56535c Setup the treeview's columns widths and streching. 2008-07-11 09:58:00 +00:00
Laurent Rineau 89e61e3809 Delegation for the Color column: one left click pops up the QColorDialog. 2008-07-11 09:57:20 +00:00
Pierre Alliez 9fce504387 cleanup on convex hull 2008-07-10 21:10:51 +00:00
Laurent Rineau 4fb74af216 Minor improvements in the feature "last opened files". 2008-07-10 16:58:57 +00:00
Laurent Rineau 35a9309b87 - Update TODO.txt
- Last opened polyedron is selected.
- A duplicated polyhedron is selected.
- When a polyhedron is erase, select another one (the previous one if any).
2008-07-10 16:51:11 +00:00
Laurent Rineau 00e87cf498 - Remove Scene and Camera menu.
- Move Load/Erase/Duplicate into the File menu.
2008-07-10 15:49:13 +00:00
Laurent Rineau 7e9278f677 Handle recent files in the File menu. 2008-07-10 15:48:29 +00:00
Pierre Alliez 0e1b8e8ca9 attempt to simplify an enriched polyhedron but fails at compile time (we should ask Fernando some help!) 2008-07-10 15:29:21 +00:00
Laurent Rineau d011d7ffc2 New title for MainWindow: "Polyhedron demo". 2008-07-10 15:05:33 +00:00
Pierre Alliez 1a682c6e71 resources into a separate folder
added data folder with toy meshes
2008-07-10 14:11:15 +00:00
Laurent Rineau 78a3a69d55 Update the scene delegate. 2008-07-10 14:08:10 +00:00
Laurent Rineau b41991af69 - Rename "on_treeView_itemSelectionChanged()" to "selectionChanged()" to
avoid an auto-connection attempt.
- Activate anti-aliasing by default.
2008-07-10 14:07:07 +00:00
Laurent Rineau 30a92b28b4 More todo entries. 2008-07-10 13:59:38 +00:00
Pierre Alliez 121477b70f enriched todo list 2008-07-10 13:58:22 +00:00
Laurent Rineau fd228fea1f Add a TODO file 2008-07-10 13:55:20 +00:00
Pierre Alliez abaa8e6f51 convex hull added! 2008-07-10 13:49:13 +00:00
Laurent Rineau 00de2764fc Switch back to QGLViewer as base class of 'Viewer'. 2008-07-10 13:00:44 +00:00
Pierre Alliez d9ad075d4d Better handling of relative paths. That fixes errors with CMake under Windows. 2008-07-10 12:10:35 +00:00
Pierre Alliez 5dc4729fd7 Include qgl.h from Qt, to fix compilation errors related to GL/gl.h (under Windows, windows.h must be included first). (lrineau) 2008-07-10 12:09:38 +00:00
Pierre Alliez bffb220a35 Fix a compilation error with Visual (need to protect std::min from nasty macros). (lrineau) 2008-07-10 12:08:31 +00:00
Pierre Alliez 0796a642a7 First a warning with Visual (lrineau) 2008-07-10 12:07:39 +00:00
Laurent Rineau aebde5a069 Attempt to fix compilation errors on Windows. 2008-07-10 11:45:43 +00:00
Pierre Alliez b5a5b2e914 added menu convex hull 2008-07-10 11:18:32 +00:00
Pierre Alliez ca272d25a3 fix windows compilation issue with HDS 2008-07-10 09:58:39 +00:00
Laurent Rineau 44e4421af1 Use -I./include. 2008-07-10 09:50:18 +00:00
Laurent Rineau 1b8c973eb7 commit the enriched polyhedron 2008-07-10 09:49:13 +00:00
Laurent Rineau 46836fc913 Add a "delegate" for the QTreeView that displays the scene. For the moment,
that delegate only handles the "Activated" column: it displays a green
checkmark iff the polyhedron is activated.
2008-07-10 08:13:42 +00:00
Laurent Rineau 89faa7f11f - Add an action "Anti-aliasing" in the view menu. Off by default. Scene has
a setAntiAliasing fucntion.
- One can now drag-drop several files at once. Scene::open(QString) is
  called for each.
- In Scene.cpp, Scene::open() displays a warning dialog when the file is
  not an OFF file.
- The polyhedra list is now in a QDockWidget, on the left by default. That
  way the list can be moved in the user interface (like other dock
  widgets). The "View" menu has an option to show/hide the dock widget.
- Subdivision methods now call viewer-updateGL(), so that the viewer
  repaint itself after a polygon is modified.
2008-07-09 14:41:09 +00:00
Laurent Rineau 105ccbab53 - The Scene now reacts to the selection by highlighting the selected
polyhedron.
- One can open several OFF files at one (use QFileDialog::getOpenFileNames
  instead of QFileDialog::getOpenFileName).
- Added two subdivision methods.
2008-07-09 11:06:31 +00:00
Laurent Rineau 88f7f33c5f First version of Polyhedron demo with Qt4. 2008-07-08 14:18:33 +00:00
Andreas Fabri d856f80d79 fixed typo in documentation 2008-06-24 19:00:46 +00:00
Fernando Cacciola f93437ca22 Removed *unmodified* auto-generated CMakeLists.txt (now created by create_internal_release) 2008-05-05 14:01:55 +00:00