Commit Graph

478 Commits

Author SHA1 Message Date
Guillaume Damiand 0bd9088b5a Remove all include( ) and include( CGAL_CreateSingleSourceCGALProgram ) in CMakeLists.txt; they are no more required. 2018-10-17 14:17:08 +02:00
Guillaume Damiand 7f09308d33 Remove all include_directories(BEFORE ../../include) in CMakeLists.txt 2018-10-17 13:07:22 +02:00
Laurent Rineau a7c5c92f2f Check for CMakeLists.txt also in demos 2018-10-16 12:42:49 +02:00
Laurent Rineau 727cb4336c Create an "empty" CMakeLists.txt to fix the testsuite 2018-10-16 12:32:11 +02:00
Maxime Gimeno 73291165a1 Remove virtual. 2018-10-11 13:53:55 +02:00
Maxime Gimeno 0d376fa5eb Add an action to save a scene 2018-10-11 13:39:16 +02:00
Maxime Gimeno 7a146d415c Fix conflicts 2018-10-09 15:30:21 +02:00
Maxime Gimeno 81a08465d3 Fix conflicts 2018-10-09 10:59:54 +02:00
Maxime Gimeno 278600266d Add external plugin to AABB_tree for do_intersect demo. 2018-10-09 10:28:42 +02:00
Maxime Gimeno 32de514dd8 Fix printIds and zoomtoid now applies to the currentViewer. 2018-10-08 15:55:44 +02:00
Maxime Gimeno b0bf4e371f Remove wrong permissions 2018-10-08 12:07:26 +02:00
Sébastien Loriot ea240cfac5 use \PkgXXX instead of \PkgXXXSummary 2018-10-08 10:28:44 +02:00
Sébastien Loriot a2e8a1c68f add the suffix Ref to doxygen link to reference 2018-10-08 10:26:56 +02:00
Maxime Gimeno ad1a1b3321 fix contextmenu after estimate normals 2018-09-28 16:39:53 +02:00
Maxime Gimeno 4c42612690 Display_properties and incorporate getActiveViewer in Three.h 2018-09-28 11:27:42 +02:00
Maxime Gimeno bfce2fb06e clipping_box_plugin 2018-09-27 10:52:56 +02:00
Maxime Gimeno 6d54163bbd Edit_sphere_item 2018-09-25 12:13:37 +02:00
Maxime Gimeno 665c25886a Done textured_item and selection_item 2018-09-20 15:11:43 +02:00
Maxime Gimeno 3ec39c1d08 WIP image_item. Working scene_image_item. 2018-09-19 10:58:18 +02:00
Maxime Gimeno 871603a05c Done implicit_function_item 2018-09-18 13:34:43 +02:00
Maxime Gimeno 59bf7cbd69 Fix spheres_item 2018-09-18 09:53:13 +02:00
Maxime Gimeno a05e0f5fa2 WIP 2018-09-14 15:35:01 +02:00
Maxime Gimeno 382a89eb9d Fix removeViewer not called and do Scene_plane_item 2018-09-13 13:55:25 +02:00
Maxime Gimeno fd27bd9c09 Share VBOs between viewers. 2018-09-11 13:06:02 +02:00
Maxime Gimeno 9fe814e8d3 WIP: Scene_points_with_normal done. Probably. 2018-09-06 17:55:55 +02:00
Maxime Gimeno 06ce5dddca WIP : trying to figure out why the items are not drawn. 2018-09-03 10:51:01 +02:00
Maxime Gimeno daac3e124d WIP: integrate is_sharing in qglviewer 2018-09-03 09:21:09 +02:00
Maxime Gimeno 29dcdc424f Fix Warnings and Conflicts 2018-08-23 16:29:52 +02:00
Maxime Gimeno 949f93ab80 Add Default Rendering Mode for Surface_mesh and Point_set items to the settings. 2018-08-21 17:21:51 +02:00
Maxime Gimeno efc2579f4c 2 things :
- Add a function to Scene_item to enable specific default save name and use it for selection item in order to remove a possible (selection) from the name.
- Fix the defaultSaveDir property to remove the extension, using all possible extensions leading to a surface_mesh_item.
2018-08-21 11:12:28 +02:00
Maxime Gimeno 7e1b43c62f Add new item and new program for heat intensity display. 2018-08-01 15:47:37 +02:00
Maxime Gimeno 9b776fa516 Fix behaviour when loading an empty file. 2018-07-16 14:10:55 +02:00
Maxime Gimeno f80f318503 WIP Shader fixes 2018-07-03 13:53:57 +02:00
Maxime Gimeno 441f2b8da6 Applying new Edges and fix buggy items. 2018-07-02 16:40:45 +02:00
Maxime Gimeno 2dbbca18b3 Restore point size 2018-07-02 11:09:48 +02:00
Maxime Gimeno 54e0e16167 Restore 4.3 context 2018-07-02 10:04:40 +02:00
Jane 93d9e8e227 Remove problematic gl calls 2018-06-29 18:40:25 +02:00
Laurent Rineau 742dd907ed Merge pull request #3074 from maxGimeno/Demo-Add_transparency-GF
Polyhedron demo: add Depth-peeling and Rendering Helpers
2018-06-28 16:04:12 +02:00
Maxime Gimeno 5b4cf6304d Add missing dummy useless doc for getters and setters 2018-06-26 14:57:44 +02:00
Laurent Rineau ffd78e296e Workaround a strange error from g++
There was a warning:
```
[100%] Building CXX object demo/Polyhedron/CMakeFiles/polyhedron_demo.dir/MainWindow.cpp.o
/home/lrineau/Git/cgal/Polyhedron/demo/Polyhedron/MainWindow.cpp: In constructor ‘MainWindow::MainWindow(bool, QWidget*)’:
/home/lrineau/Git/cgal/Polyhedron/demo/Polyhedron/MainWindow.cpp:312:11: error: request for member ‘addDockWidget’ is ambiguous
     this->addDockWidget(Qt::BottomDockWidgetArea, dock);
           ^~~~~~~~~~~~~
In file included from /home/lrineau/Git/cgal/Polyhedron/demo/Polyhedron/MainWindow.h:8:0,
                 from /home/lrineau/Git/cgal/Polyhedron/demo/Polyhedron/MainWindow.cpp:4:
/home/lrineau/Git/cgal/Three/include/CGAL/Three/Three.h:54:8: note: candidates are: void CGAL::Three::Three::addDockWidget(QDockWidget*)
   void addDockWidget(QDockWidget* dock_widget);
        ^~~~~~~~~~~~~
In file included from /usr/include/qt5/QtWidgets/QMainWindow:1:0,
                 from /home/lrineau/Git/cgal/GraphicsView/include/CGAL/Qt/DemosMainWindow.h:31,
                 from /home/lrineau/Git/cgal/Polyhedron/demo/Polyhedron/MainWindow.h:7,
                 from /home/lrineau/Git/cgal/Polyhedron/demo/Polyhedron/MainWindow.cpp:4:
/usr/include/qt5/QtWidgets/qmainwindow.h:166:10: note:                 void QMainWindow::addDockWidget(Qt::DockWidgetArea, QDockWidget*, Qt::Orientation)
     void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget,
          ^~~~~~~~~~~~~
/usr/include/qt5/QtWidgets/qmainwindow.h:165:10: note:                 void QMainWindow::addDockWidget(Qt::DockWidgetArea, QDockWidget*)
     void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget);
          ^~~~~~~~~~~~~
```

That is strange, because the call is not ambiguous at all: all three
candidates have different numbers of parameters!

Anyway, the workaround is an explicit qualified call to
`QMainWindow::addDockWidget`.
2018-06-13 10:45:33 +02:00
Maxime Gimeno 6b5a162d1d Fix doc 2018-06-13 09:35:47 +02:00
Maxime Gimeno 6bcf2fe30e Use ::Point_d 2018-06-13 09:32:24 +02:00
Maxime Gimeno 0a14aec59e Add misisng license header 2018-06-08 09:11:29 +02:00
Maxime Gimeno c9c3fbc702 Add license to the new file 2018-06-05 09:28:00 +02:00
Maxime Gimeno 6d60cd99ba Add static functions to gain access to the mainwindow and the scene.
Use it to automatically decide which selection_io_plugin should be used.
2018-06-04 12:27:22 +02:00
Maxime Gimeno e144852e25 Add dependencies to Three 2018-06-04 12:00:22 +02:00
Maxime Gimeno 21359581c4 Add viewer's modifications to CGAL_Qt5 2018-06-04 12:00:22 +02:00
Maxime Gimeno 99582b35f7 Update license files 2018-06-04 12:00:21 +02:00
Maxime Gimeno 12ba1084ad Add classes and functions to factorize and facilitate rendering an item.
Make Surface_mesh_item use them.
2018-06-04 12:00:21 +02:00
Maxime Gimeno 0add845fae Fix snapshot with alpha. 2018-06-04 12:00:21 +02:00
Maxime Gimeno c8d5453a31 Fix c3t3 and add action to viewer to set total number of passes 2018-06-04 12:00:21 +02:00
Maxime Gimeno 1882658a94 Add depth-peeling to the scene. 2018-06-04 12:00:20 +02:00
Maxime Gimeno f22c2864a0 Put qglviewer in the namespace CGAL 2018-05-17 10:20:56 +02:00
Maxime Gimeno 50c471253a Move context creation to qglviewer. Replace initializeGL() by init()in demo viewer 2018-05-17 10:20:55 +02:00
Maxime Gimeno 39a0b8a8d5 Restore pivot point drawing 2018-05-17 10:20:55 +02:00
Maxime Gimeno 6584abd90b Use integrated qglviewer for 3D demos 2018-05-17 10:20:55 +02:00
Laurent Rineau 0a74393dcf Commit all new dependencies files 2018-03-06 18:44:48 +01:00
Laurent Rineau f092c04180 Merge pull request #2607 from maxGimeno/Selection_plugin_fix-GF
Polyhedron demo: Fixes for QGLViewer 2.7 and remove GlSplat
2018-03-06 16:23:58 +01:00
Maxime Gimeno 9db54327db conflict resolution 2018-03-01 08:48:02 +01:00
Maxime Gimeno 3c770e07df Fix 2d painting for selection 2018-03-01 08:40:26 +01:00
Maxime Gimeno b50fddc9d8 Add a function to decide which filter should be the default when saving. 2018-02-14 13:56:00 +01:00
Maxime Gimeno 78bda89857 Add a function to the group_item that specifies which of its children are selected along with it.
This allows the c3t3_item to override it and return an empty list, so it ignores the selection behavior of the group and keeps it possible to apply an operation only to the c3t3 when it has children like visible tets.
2018-01-23 09:26:11 +01:00
Laurent Rineau 65f4e42acc Merge pull request #2606 from sloriot/CGAL-create_release_with_cmake
Add script to create release with cmake
2017-12-05 18:24:58 +01:00
Laurent Rineau 3c6640bf59 Merge pull request #1436 from lrineau/CGAL-new_cmake-GF
Renewal of CMake scripts: header-only, ctest, CMake>=3.1

# Conflicts:
#	Installation/config/testfiles/CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.cpp
2017-12-05 18:20:05 +01:00
Laurent Rineau 3466eb83f0 Polyhedron demo: do not use the OpenGL API directly 2017-11-28 17:54:38 +01:00
Maxime Gimeno cba9061d81 Fix warning 2017-11-23 11:19:23 +01:00
Sébastien Loriot 700351d093 remove useless files 2017-11-16 16:50:52 +01:00
Laurent Rineau a9365554c9 Merge pull request #2550 from sloriot/CGAL-add_SPDX_tags
Add SPDX License Identifier
2017-11-15 16:48:27 +01:00
Laurent Rineau 3ff09bc549 Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-15 16:47:42 +01:00
Laurent Rineau 86fb40832a Merge pull request #2580 from lrineau/CGAL-Support_CMake_3.10-GF
Renew the handle of policies, for CMake-3.10
2017-11-13 12:01:39 +01:00
Sébastien Loriot ee57fc2d6c add SPDX identifier for files under the GPL-3+ license 2017-11-12 10:17:51 +01:00
Laurent Rineau 62c70d41ca Renew the handle of policies, for CMake-3.10
Now that we require CMake>=3.1, we can forget a lot of old CMake policies.

`CMP0053` `OLD` behavior is still needed, because of a bug in Qt5 CMake files, but it will
not be set with CMake>=3.10. Let's assume that a recent CMake version means
a recent Qt5 version.
2017-11-06 14:58:36 +01:00
Maxime Gimeno 91d5ee0247 Remove parentGroup()'s child in group's removeChild() 2017-10-19 14:10:43 +02:00
Laurent Rineau edac6aaa5a Merge pull request #2454 from maxGimeno/Mesh_3_plugin_fix-GF
Polyhedron demo: Fix tets rendering on Windows
2017-10-13 16:53:26 +02:00
Maxime Gimeno 53829630ec Darken the intersection color and avoid the Z-fighting. 2017-09-22 15:12:02 +02:00
Maxime Gimeno c723e97e20 Add missing override in code and doc example. 2017-09-18 12:38:02 +02:00
Laurent Rineau 6f5f5af785 Merge pull request #2070 from maxGimeno/Polyhedron_demo-Use_modern_context-GF
Polyhedron_demo: Use a recent OpenGL context if possible
2017-09-07 17:19:58 +02:00
Laurent Rineau f002ab7d3c Merge pull request #2254 from maxGimeno/Output_surface_facets_to_facegraph-GF
Surface_mesher: Output Surface Facets To Facegraph
2017-09-04 15:09:44 +02:00
Maxime Gimeno 92814e8858 Rename recentFunctions; 2017-08-30 10:27:00 +02:00
Maxime Gimeno bca74e4a8e Rename isRecent into isOpenGL_4_3 2017-08-30 10:26:59 +02:00
Maxime Gimeno 71a8c1c178 Use GS in modern openGL for an optimal flat shading. 2017-08-30 10:26:58 +02:00
Maxime Gimeno 6393d0bc3e Sets an OpenGL 4.3 format if possible and create a QOpenGLFunctions_4_3_Compatibility in that case. 2017-08-30 10:25:05 +02:00
Maxime Gimeno d57be1d856 Add documentation and update changes.html 2017-08-09 10:31:04 +02:00
Maxime Gimeno 04649a598a Rebase and doc. 2017-08-01 14:59:58 +02:00
Maxime Gimeno 599fd8322b Add an interface for transparent items so there faces are always drawn after the rest of the scene. This way their position in the scene entries does not affect the display of other items. 2017-08-01 14:59:58 +02:00
Maxime Gimeno 484e03570f - add clipping planes management in main shaders. (with and without lights, flat and no_selection)
- Add plugin for use of a clipping box
2017-08-01 14:59:58 +02:00
Maxime Gimeno 13723a704f Targeting and ID now displays a zone of Ids.
This zone is affected by vertex/edge/face printing or not.
ZoomToId displays a zone around the targeted Id.
2017-07-25 10:02:07 +02:00
Maxime Gimeno ee93ab34dd Selection_items keep displaying their polyhedron_items ids and zoomToId doesn't override the sceneCenterPoint anymore. 2017-07-25 10:01:28 +02:00
Maxime Gimeno 3c08937edb Fix display all. 2017-07-25 10:01:28 +02:00
Maxime Gimeno 49818ae489 Split the display into vertices, edges and faces text lists. Add an option for each in the contextMenu. 2017-07-25 10:01:28 +02:00
Laurent Rineau e0f7e1ff2c Merge pull request #2229 from maxGimeno/Fix_clipping_bug-GF
Polyhedron_demo: Fix clipping bug
2017-07-10 15:35:30 +02:00
Maxime Gimeno ced658ce82 typo 2017-07-04 15:51:31 +02:00
Maxime Gimeno 4454047702 Add a signal and slots to avoid clipping bugs when playing with items visibility and RenceterScene. 2017-07-04 14:14:49 +02:00
Maxime Gimeno b889359928 FIx Polyhedron_demo for QGLViewer v2.7.0 2017-07-03 09:35:14 +02:00
Maxime Gimeno 2e506fe18d Add Q_DECL_OVERRIDE in the examples 2017-05-30 15:17:12 +02:00
Maxime Gimeno b04c1e1a96 Change name for UI so it matches the naming convention. 2017-05-30 15:17:12 +02:00
Maxime Gimeno a84acd367d Add the misisng interface file 2017-05-30 15:17:12 +02:00
Maxime Gimeno 4132b2d55d Finish updating the doc 2017-05-30 15:17:12 +02:00
Maxime Gimeno c60acf58c4 Update example plugins 2017-05-30 15:17:12 +02:00
Maxime Gimeno f85a6a52aa Finish updating the in code doc. 2017-05-30 15:17:12 +02:00
Maxime Gimeno 2570bd3a53 Explicitates the TextRenderer's doc. 2017-05-30 15:15:55 +02:00
Maxime Gimeno 05126f0971 Enhancements :
- Explicitate the doc
- Make the Scnee_print_item_interface a real interface
2017-05-30 15:15:54 +02:00
Maxime Gimeno 965e6f545d Make Viewer_interface more interface-like. 2017-05-30 15:12:31 +02:00
Laurent Rineau 7efcc76430 Merge pull request #1954 from maxGimeno/Polyhedron_demo-Update_SM_item_visu-GF
Polyhedron_demo: Update Scene_surface_mesh_item
2017-05-29 11:16:32 +02:00
Laurent Rineau 7e651b6b78 Merge branch 'releases/CGAL-4.10-branch'
Merges two pull-requests:

- 9384ff4 Merge pull request #2133 from maxGimeno/Fix_cmake_warning_CMP0053-GF
- 0005d61 Merge pull request #2132 from sloriot/Kernel-use_CGAL_compare
2017-05-24 17:45:58 +02:00
Maxime Gimeno 5ae96fc2aa Explicitely set the policy of CMP0053 to OLD to silent the warning when it is not found. 2017-05-23 16:12:56 +02:00
Maxime Gimeno 38a991006b Use dynamic properties to determine isPolyhedronMode() 2017-05-19 14:07:06 +02:00
Maxime Gimeno 92c7f227a7 - Clarify doc
- make the indices map local
- make the Polyhedron Mode a setting in the preference dialog
2017-05-19 14:06:34 +02:00
Maxime Gimeno e07e19271d Add a toggle to specify if we are in Polyhedron_mode(default) or Surface_mesh mode, in the Edit menu. This value is accessible from a Scene_interface object under the name isPolyhedronMode(). 2017-05-19 14:05:01 +02:00
Maxime Gimeno 7e87b88762 Make a zoomToPosition function for the Scene_polyhedron_item 2017-05-12 09:24:18 +02:00
Maxime Gimeno a732bb3c66 Don't use signals/slots system but override itemAboutToBeDestroyed 2017-03-24 12:10:22 +01:00
Maxime Gimeno d5fc592135 clean the surface_mesh_item, point-set_item and c3t3_item as well 2017-03-24 12:10:01 +01:00
Maxime Gimeno 0632a86970 Factorize program declaration and use special shader for flat shading without pre computing the normals. 2017-02-21 15:20:33 +01:00
Maxime Gimeno ebfa4a7ea5 Add a shrinking possibility to the facets of the c3t3_item.
To apply it, either use the slider in the item's menu, or use + and - when the item is selected.
2017-02-08 11:42:15 +01:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Maxime Gimeno ec4deace20 Update ids when invalidateOpenGLBuffers() is called 2017-01-12 12:05:39 +01:00
Laurent Rineau a5e254f0d8 Merge pull request #1737 from maxGimeno/Polyhedron_demo-Fix_large_coordinates_bug-GF
Polyhedron_demo: Fix display bugs when the scene is greatly offsetted
2017-01-12 11:10:11 +01:00
Laurent Rineau ba6a05a134 Fix -Wconversion warnings 2016-12-30 16:44:08 +01:00
Maxime Gimeno 1c55bef931 Update the doc forthe group_items and the plugins. 2016-12-15 13:26:38 +01:00
Laurent Rineau 847906e2e4 Extend --no-try-catch to catching of C++ exceptions in Qt scripts 2016-12-02 13:05:43 +01:00
Maxime Gimeno ca5ea47e48 Add an offset vector to the viewer. 2016-12-02 12:03:46 +01:00
Laurent Rineau 5e38a93815 At least return a Boolean
When the wrapped function return type is `void`, the return type of
`wrap_a_call_to_cpp` is now `bool`.
2016-11-04 12:10:19 +01:00
Laurent Rineau 690c5f6623 Fix a compilation error 2016-11-04 12:10:16 +01:00
Laurent Rineau 54dbab9d3c fixup! Better exception handling (with Qt Script) 2016-10-27 18:11:33 +02:00
Laurent Rineau 418fbdef69 Better exception handling (with Qt Script)
- Uncaught Qt Script exception are now converted to a C++ exception of
  type `CGAL::Three::Script_exception`.

- With `<CGAL/Three/exceptions.h>` and the use of `QScriptable` and
  `CGAL::Three::wrap_a_call_to_cpp`, if a C++ exception is thrown by a C++
  piece of code that was called from a script, then a Javascript
  exception is thrown, so that a script can have a chance to catch it.

- Add a method `throw_exception()` in the `trivial_plugin`, as well as
  test scripts in `javascript/tests/`, to test that new set of features
  in C++/QtScript exceptions handling.
2016-10-26 18:39:06 +02:00
Laurent Rineau e7b2920315 Merge pull request #1579 from maxGimeno/Polyhedron_demo-save_c3t3_state_when_reload-GF
Polyhedron_demo : Keep the c3t3_item's state when reloading
2016-10-20 09:47:32 +02:00
Maxime Gimeno 3ba5277d97 Clean-up 2016-10-17 09:36:44 +02:00
Maxime Gimeno 29d7a375bc Restore the spheres, grid, intersections and CNC state when reloading a c3t3_item. 2016-10-14 16:58:20 +02:00
Maxime Gimeno ff25c2bac6 Move ShadedPoints in the enum to preserve some of the binary compatibility. 2016-08-09 15:05:23 +02:00
Maxime Gimeno e99655ab87 Add a renderingMode to distinguish between ShadedPoints and regular Points. 2016-08-02 11:52:27 +02:00
Maxime Gimeno a3ed36ee25 Externalize the triangulation code for the facets in items
- Use an external class to triangulate the facets in Polyhedron_item, Surface_mesh_item, Polygon_soup_item and Polyhedron_selection_item.
2016-06-06 16:12:18 +02:00
Maxime Gimeno 060377f231 Add a function to get the diagonal of an item's Bbox. 2016-06-03 11:16:11 +02:00
Maxime Gimeno 56a75095ad Merge branch 'Polyhedron_demo-Use_d_pointers-GF-old' into Polyhedron_demo-Use_d_pointers-GF
Conflicts:
	Polyhedron/demo/Polyhedron/Scene_image_item.cpp
	Polyhedron/demo/Polyhedron/Scene_image_item.h
	Polyhedron/demo/Polyhedron/Scene_polyhedron_selection_item.h
	Polyhedron/demo/Polyhedron/Scene_polylines_item.cpp
2016-06-03 10:38:05 +02:00
Maxime Gimeno b5ef4c2938 Merge branch 'Polyhedron_demo-Use_d_pointers-GF-old' into Polyhedron_demo-Use_d_pointers-GF
Conflicts:
	Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polyhedron_item.h
2016-05-31 11:51:59 +02:00
Sébastien Loriot d9a0ef25e3 change init order 2016-05-30 18:04:46 +02:00
Maxime Gimeno 084662ea87 Print the information on screen. 2016-05-27 17:02:08 +02:00
Sébastien Loriot 11b8eb428b Merge pull request #558 from maxGimeno/Polyhedron_demo-display_indices_of_primitives-GF
Display indices of Polyhedron_item primitives in Polyhedron_demo
2016-05-26 17:09:23 +02:00
Sébastien Loriot cea729de5a fix header 2016-05-26 17:05:34 +02:00
Maxime Gimeno 84a32d2685 Merge branch 'Polyhedron_demo-Use_d_pointers-GF-old' into Polyhedron_demo-Use_d_pointers-GF
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/Surface_mesh_deformation/Scene_edit_polyhedron_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polygon_soup_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polygon_soup_item.h
	Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polyhedron_item.h
	Three/include/CGAL/Three/Scene_group_item.h
2016-05-26 10:42:23 +02:00
Maxime Gimeno 9abe59c917 Fix the bug of single textItems on multiple scene_items. 2016-05-25 17:02:26 +02:00
Sebastien Loriot 1127725c11 Merge pull request #1013 from maxGimeno/Polyhedron_demo-OFF_with_color-GF
Polyhedron demo : OFF with colors
2016-05-23 11:28:19 +02:00
Maxime Gimeno 7fde6ef3a2 Fix plugins with disconnected actions. 2016-05-13 16:13:15 +02:00
Maxime Gimeno 775732dcf9 Surface_mesh_item drawing functions 2016-05-12 17:09:43 +02:00
Maxime Gimeno f294d4cade Update example plugins init() functions 2016-05-11 10:55:58 +02:00
Maxime Gimeno 473c92c00c Remove the init() function without Messages_interface from the plugins API 2016-05-10 17:10:59 +02:00
Maxime Gimeno 57a5a91ccf Clean-up 2016-05-09 15:15:05 +02:00
Maxime Gimeno 7900079127 D-pointer for the nef_polyhedron_item and the Scene_plane_item 2016-05-09 09:19:11 +02:00
Maxime Gimeno ce279e9cda Merge branch 'Three_doc_for_review_rebase-GF' into Polyhedron_demo-Use_d_pointers-GF
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/Operations_on_polyhedra/Scene_combinatorial_map_item.cpp
	Polyhedron/demo/Polyhedron/Plugins/Operations_on_polyhedra/Scene_combinatorial_map_item.h
	Polyhedron/demo/Polyhedron/Plugins/PCA/Scene_polyhedron_transform_item.cpp
	Polyhedron/demo/Polyhedron/Plugins/PCA/Scene_polyhedron_transform_item.h
	Polyhedron/demo/Polyhedron/Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.cpp
	Polyhedron/demo/Polyhedron/Plugins/Surface_mesh/Scene_polyhedron_shortest_path_item.h
	Polyhedron/demo/Polyhedron/Scene_implicit_function_item.cpp
	Polyhedron/demo/Polyhedron/Scene_implicit_function_item.h
	Polyhedron/demo/Polyhedron/Scene_polyhedron_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polyhedron_item.h
	Three/include/CGAL/Three/Scene_item.h
2016-05-06 16:03:30 +02:00
Maxime Gimeno 96c9d2eb70 Fix the rebase 2016-05-06 12:15:04 +02:00
Maxime Gimeno 92e86c50a8 WIP clean-up 2016-05-06 11:12:10 +02:00
Maxime Gimeno caed1cd153 Bug fix
- Fixes the exported targets namespace and a bug in the example_plugin.
2016-05-06 11:12:10 +02:00
Maxime Gimeno 221c91b0d7 Fix typos and add info about the add_item macro 2016-05-06 11:12:09 +02:00
Maxime Gimeno 49388baae5 Correction 2016-05-06 11:12:09 +02:00
Maxime Gimeno 3f0f27a5ac Plugin API made in CamelCase 2016-05-06 11:12:09 +02:00
Maxime Gimeno 4dadba77c4 Clean-up the plugin helper 2016-05-06 10:51:59 +02:00
Maxime Gimeno 633b8d09d5 Fixed the doc mainpage 2016-05-06 10:51:58 +02:00
Maxime Gimeno b4229241ba Removes the hardcoded actions in Operations 2016-05-06 10:51:58 +02:00
Maxime Gimeno 542ee48ddb Finished doc update and replaced BBox by CGAL::BBox_3 2016-05-06 10:50:50 +02:00
Maxime Gimeno e7c5ff1dbe Adding the missing doc files 2016-05-06 10:50:49 +02:00
Maxime Gimeno 111f3b666b Fix removeChild 2016-05-06 10:50:49 +02:00
Maxime Gimeno 21f5c82990 WIP Correct the doc 2016-05-06 10:46:21 +02:00
Maxime Gimeno 1bf3af124a Removes is_monochrome from Scene_item and put it in the Scene_polyhedron_item's d-pointer. 2016-04-28 09:57:32 +02:00
Maxime Gimeno 9fb5702610 debugging the rebase and externalizing the TextRender
- Avoids the #include "Viewer.h" in Scene_polyhedron_item.h"
2016-04-27 15:17:27 +02:00
Maxime Gimeno b5659954b7 Renamed the interface 2016-04-27 14:32:51 +02:00
Maxime Gimeno 8a155b4f5d The scene performs a check on the item to insure it is able to display its primitive IDs. 2016-04-27 14:32:50 +02:00
Maxime Gimeno 845a9c7bac Creation of a scene_item_print_interface
- An item that wants to print its primitives must inherit from CGAL::Three::Scene_item_print_interface,
  that contains the two print function. That way, to test if an item is able to print, one just has to check
  if a cast to CGAL::Three::Scene_item_print_interface works.
2016-04-27 14:32:50 +02:00
Maxime Gimeno 6048e6721d Clean-up and documentation for TextRenderer 2016-04-27 14:32:22 +02:00
Maxime GIMENO 9a7c42db76 Windows Fix + conditionnal textItems creation
- It seems that overloading the paintEvent was sufficient to get rid of
  the "black screen" bug, and initializing targeted_id to NULL fixed the
  segfault occuring when loading an item.

- The textItems containing the ids are only computed when ctrl+I are
  pressed. There could be an optimization here, so that it is computed
  only once, and not every time the ids are displayed.
2016-04-27 14:31:21 +02:00
Maxime Gimeno 4403dfbb6c Print of the Ids of all primitves and the selected one available 2016-04-27 14:28:48 +02:00
Maxime Gimeno 4572da6e7c WIP :Use the aabb_tree to choose which ids to display 2016-04-27 14:26:05 +02:00
Maxime Gimeno 408402d1b5 Print selected primitive Id is done.
- Uses the aabb_tree to find the selected facet
- iterate its vertices and halfedges and compute the distances between the Id spots and the selected point
- only prints the spot with the smallest distance.
2016-04-27 14:18:03 +02:00
Maxime Gimeno cbdbc725aa Ids update :
- Ids are all displayed where they should
- WIP : only print the ones that are not hidden by another item or facet
- TO DO: Change the API so that the destructor of an item can remove the textItems from the renderer.
2016-04-27 14:12:22 +02:00
Maxime Gimeno c0d9f4f50e WIP QPainter problems 2016-04-27 14:06:27 +02:00
Maxime Gimeno 176770fa00 - Addition of a reference to the scene in the group_item so it can add its own children
- Modification of the Scene_polylines_item to use a child spheres_item
- fixes about the groups
2016-04-20 12:18:20 +02:00
Maxime Gimeno 0e66c54b27 Addition of a "lock" property in the groups API. 2016-04-19 15:48:53 +02:00
Maxime Gimeno 7b338f4e45 Fix the drawing of the children's group when their renderingMode isn't compatible. 2016-04-19 14:45:30 +02:00
Maxime Gimeno 3ab7050205 Intermediary step:
- Created a Scene_spheres_item
- Made the Scene_c3t3_item a group_item
- Changed the spheres management in the c3t3_item
- Fixed the has_group maintanance in group_items
2016-04-19 12:17:45 +02:00
Laurent Rineau 26af71e126 Merge pull request #883 from lrineau/Three-Scene_group_can_draw-GF
Change the semantic of the Scene_group_item
2016-04-14 15:17:07 +02:00
Laurent Rineau 63dc460f42 Merge commit 'refs/pull/990/head' into Three-Scene_group_can_draw-GF
Conflicts:
	Polyhedron/demo/Polyhedron/Scene.cpp
	Polyhedron/demo/Polyhedron/Scene.h
	Three/include/CGAL/Three/Scene_draw_interface.h
2016-04-13 11:52:57 +02:00
Laurent Rineau cf961c3a2d Merge pull request #877 from maxGimeno/Polyhedron-demo-Trivial_fixes-GF
Polyhedron_demo:  Trivial fixes
2016-04-13 10:36:42 +02:00
Laurent Rineau f8aabdcc36 Merge pull request #990 from maxGimeno/Polyhedorn_demo-New_picking-GF
Polyhedron_demo : New picking
2016-04-11 11:58:35 +02:00
Maxime Gimeno 24b16b4710 New picking finished. Far more efficient. 2016-04-07 10:13:20 +02:00
Maxime Gimeno 386995bbdc Final fix for itemChanged calls 2016-04-04 16:53:17 +02:00
Maxime Gimeno dfc2143b28 Fix for emit itemChanged() 2016-04-04 11:18:29 +02:00
Maxime Gimeno 56486dbadd Fix for the ctrl+space shortcut 2016-04-04 10:13:21 +02:00
Laurent Rineau 80d7a738e4 Change the semantic of the Scene_group_item
New feature: an object of class `Scene_group_item`, or derived, is
responsible for drawing its children items. That is the first
approximation of a scene graph.

For that goal, several steps were needed.

- Remove the overload of `Scene::draw()` and `Scene::drawWithNames()`
  that does not have the viewer as parameter. Remove then from
  `Scene_draw_interface` as well.

- Add `Viewer::inDrawWithNames()` so that items, including the
  `Scene_group_item`, can now if a draw function is called for the
  picking or not.

- Add the draw function in `Scene_group_item`:
```
  virtual void draw(CGAL::Three::Viewer_interface*) const;
  virtual void draw_edges(CGAL::Three::Viewer_interface*) const;
  virtual void draw_points(CGAL::Three::Viewer_interface*) const;
  virtual void draw_splats(CGAL::Three::Viewer_interface*) const;
```
  Those draw functions actually call the draw functions of all the
  visible children, depending on their rendering mode. If
  `viewer->inDrawWithNames()`, draw nothing, and let the children be
  drawn with their own names. Another solution could be that the draw
  functions of `Scene_group_item` use `glPushName/glPopName`. That API
  seems to be usable with a scene graph.

- Add in `Scene_item` two functions:
```
  void moveToGroup(Scene_group_item* group);
  Scene_group_item* parentGroup() const;
```
  That is one first step to allow the `has_group` data member to become
  a private member, instead a public one (ugly!!).

Then the big change is in the scene:

- The scene will not call the draw function of items with a parent
  group, if the group itself is visible. If the group is not visible but
  the children are set to visible, then they are drawn anyway. That
  means that a group can "steal" the drawing of its children when it is
  visible. That behavior is really convenient for the use case I have in
  mind, but it may be strange.

- In the picking, in `drawWithName()`, the draw function of all items
  are called, even if they have a parent group.

Cosmetic:

  - Move the definition of the constructor `Scene_item::Scene_item` in
    the cpp file.
2016-03-04 14:37:53 +01:00
Sebastien Loriot 8a55728cae Merge pull request #787 from maxGimeno/Polyhedron_demo-Fix_for_773-GF
Polyhedron_demo : Fix for 773
2016-03-03 14:19:44 +01:00
Maxime Gimeno fe20de7ef3 Statistics fix
- An item must overload has_stats to return true if it has statistics, or else the action will not be displayed in the menu.
2016-03-03 09:19:04 +01:00
Maxime Gimeno 8bbb52fad4 Clean-up 2016-03-03 08:41:25 +01:00
Laurent Rineau e76a4727d4 Fix this override of a virtual function 2016-03-01 16:31:08 +01:00
Maxime Gimeno 1adc45b2fc Makes the facets color editable. 2016-02-16 12:16:53 +01:00
Laurent Rineau def3952e0e Merge pull request #767 from bo0ts/Documentation-no_internal_in_title-pmoeller
Remove internal release number from documentation title
2016-02-11 15:42:40 +01:00
Philipp Möller 0a04a3a48f Use CGAL_DOC_VERSION 2016-02-11 15:37:54 +01:00
Maxime Gimeno 0a37521263 Revert "Fix for the context"
This reverts commit 552aaa159f.

Conflicts:
	Linear_cell_complex/examples/Linear_cell_complex/linear_cell_complex_3_viewer_qt.h
2016-02-11 14:16:04 +01:00
Sebastien Loriot 1c6748be6c Merge pull request #757 from maxGimeno/Three-Fix_for_756-GF
Three : Fix for 756
2016-02-10 10:40:05 +01:00
Maxime Gimeno 552aaa159f Fix for the context 2016-02-09 14:48:26 +01:00
Sébastien Loriot 79743f96d9 remove Three from the official doc 2016-02-08 11:42:43 +01:00
Sébastien Loriot 6a405ff7e3 Merge pull request #717 from maxGimeno/Document_the_programs
Polyhedron_Demo : Documentation update
2016-02-08 11:31:05 +01:00
Sébastien Loriot 06c304c614 fix doc warnings spotted by doxygen 1.8.11
Tested locally
2016-02-04 22:23:48 +01:00
Maxime Gimeno 6e111bb5ee Re-arrengement of the doc 2016-02-04 08:48:25 +01:00
Maxime Gimeno cb9ad09559 Documentation update
- Documents the shader programs and explains in what situation they must be used.
2016-02-03 10:34:52 +01:00
Sébastien Loriot e3dc7183f8 rename function 2016-01-26 11:43:01 +01:00
Maxime Gimeno ce9aed08f5 Renaming invalidate_buffers in invalidate_OpenGLBuffers 2016-01-26 11:20:30 +01:00
Maxime Gimeno 271cc81413 contextual_changed removal + textured_polyhedron fix 2016-01-26 11:20:21 +01:00
Sebastien Loriot 1df32a4bd2 Merge pull request #622 from sloriot/Operations_on_polyhedra-plane_clipping_with_corefinement-sloriot
Polyhedron demo: Plugin to clip polyhedra using a plane
2016-01-15 15:25:21 +01:00
Sébastien Loriot 3a80fe3c51 Merge pull request #634 from maxGimeno/Three_doc_update-GF
Doc update
2016-01-14 14:19:08 +01:00
Sébastien Loriot 00df380dfc fix doc warning 2016-01-14 14:18:48 +01:00
Sébastien Loriot 9635dbeeb6 Merge pull request #586 from maxGimeno/Polyhedron_statistics-GF
Polyhedron: add statistics
2016-01-14 14:12:05 +01:00
Maxime Gimeno 39bb4e6e61 Doc update 2016-01-14 12:54:57 +01:00
Maxime Gimeno 73b94bbb5f The clipping plane has 2 different colors, one for each face 2016-01-12 12:30:53 +01:00
Maxime Gimeno 97ba0f33f4 Fix for the header() function
- I forgot half the work on that one.
2016-01-12 10:30:06 +01:00
Maxime Gimeno fa895f3333 Clean-up, link fix and doc 2016-01-12 10:18:52 +01:00
Maxime Gimeno d64b9f9323 Addition of a plugin for plane_clipping polyhedra 2016-01-11 15:37:25 +01:00
Sebastien Loriot 32a3972c33 Merge pull request #592 from afabri/CGAL-dont_submit_cleanup-GF
Towards getting rid of dont_submit files
2016-01-08 14:14:08 +01:00
Sebastien Loriot f3bc10ef81 Merge pull request #549 from afabri/Polyhedron-clipping_in_shader-GF
Improve C3T3 item and meshing of a segmented image
2016-01-07 13:49:16 +01:00
Sébastien Loriot e64ae35a6e Merge pull request #542 from bo0ts/Documentation-release_build2-pmoeller
Allow to build the documentation in a release
2016-01-07 09:21:46 +01:00
Sebastien Loriot d782bc4da8 Merge pull request #556 from sgiraudot/Polyhedron_demo-Quick_moving_display-GF
Polyhedron demo: quick moving display of point sets
2016-01-06 14:55:32 +01:00
Maxime Gimeno c851c4fe3e Finalization
- The holes are available again
- Every type of item can have their own statistics
- There is no more Scene_polyhedron_item in the MainWindow.
2016-01-06 11:39:58 +01:00
Andreas Fabri 9270e4ed60 mainly backquote 2016-01-05 19:01:42 +01:00
Andreas Fabri a41165b6eb various 2016-01-05 18:04:14 +01:00
Andreas Fabri 56bfaa2746 merge 2016-01-05 17:06:04 +01:00
Maxime Gimeno f147e4aebd Some clean-up. 2016-01-04 16:25:58 +01:00
Maxime Gimeno 92aa19ecbf Statistics available for multiple selected polyhedra.
- The median edge length is not available in this case for now because it would be far too long to compute.
2016-01-04 10:08:16 +01:00
Simon Giraudot 8e9f9dd3d6 Use inFastDrawing instead of quick_camera and provide direct access to fast drawing state 2015-12-29 11:40:19 +01:00
Philipp Möller 71b4e9c515 Use CGAL_FULL_VERSION in all Doxyfile.in 2015-12-17 16:33:28 +01:00
Maxime Gimeno ffca2c49b5 Items move even when they are in a group. 2015-12-17 10:01:52 +01:00
Simon Giraudot 7a63e01295 Quick display of point sets: only display small subset when moving large point sets 2015-12-15 10:00:06 +01:00
Maxime Gimeno d1b3937a88 Edges management
- The shader of the edges of the base item discards the edges when it should
- The facets of the cutplane have edges
- The grid is displayed in all the rendering modes
2015-12-14 10:47:34 +01:00
Andreas Fabri e7e5769e9c WIP: introduced a shader that does the clipping 2015-12-11 10:52:35 +01:00
Philipp Möller 98f3d959ec Use generic demo path 2015-12-10 17:05:53 +01:00
Philipp Möller 0ad467b321 Use generic example directories 2015-12-10 17:05:53 +01:00
Sebastien Loriot b03c9bbb7a Merge pull request #533 from maxGimeno/Io_plugin_fix-GF
IO_plugin_interface fix
2015-12-07 16:41:08 +01:00
Sébastien Loriot 196dd5a6bb add missing header license 2015-12-07 15:27:57 +01:00
Sebastien Loriot 7d2e8842fa Merge pull request #522 from maxGimeno/Polyhedron_demo-Hierarchic_view-GF
Polyhedron demo: hierarchic view of items
2015-12-04 17:02:39 +01:00
Maxime Gimeno 5638ffa765 IO_plugin interface_fix
- moved forward declaration of scene_item in the namespace CGAL::Three
2015-12-04 16:11:48 +01:00
Maxime Gimeno b6b9080491 Doc update 2015-11-30 10:42:09 +01:00
Maxime Gimeno 9f816040db WIP Updating the plugins 2015-11-27 15:31:49 +01:00
Maxime Gimeno d74763579c Merge branch 'Polyhedron_demo-Hierarchic_view-GF-old' into Polyhedron_demo-Hierarchic_view-GF
Conflicts:
	Polyhedron/demo/Polyhedron/CMakeLists.txt
	Polyhedron/demo/Polyhedron/MainWindow.cpp
2015-11-27 08:25:36 +01:00
Maxime Gimeno 713dabef77 Update of the API and of the doc 2015-11-26 16:06:45 +01:00
Sebastien Loriot 8e507866bc Merge pull request #480 from maxGimeno/Polyhedron_demo-C3t3_IO_plugin-GF
I/O plugin for c3t3 meshes
2015-11-26 14:34:19 +01:00
Maxime Gimeno e35a69f576 WIP Modifying the API 2015-11-26 09:42:44 +01:00
Maxime Gimeno ec9379685e WIP : Updating example to use group_items 2015-11-25 16:14:47 +01:00
Maxime Gimeno 9b4e2fbc0b Moved Scene_group_item.h to Three and updated the doc. 2015-11-25 15:45:03 +01:00
Maxime Gimeno b7c6742620 Affine transformation color fix 2015-11-25 11:29:13 +01:00
Maxime Gimeno 8218a38c58 ManipulatedFrame issues : fix
- The call to bbox() at each top of a manipulated frame made it verry slow to manipulate frames
  on a big item, because the bbox was computed at every call. The result is now kept in a
  member and updated only when invalidate_buffers is called.

- The color of the cutting plane is repaired.
2015-11-25 09:43:56 +01:00
Maxime Gimeno 5d3c9a2525 WIP Documentation update 2015-11-24 09:42:25 +01:00
Maxime Gimeno 7ad45de6ef Merge branch 'Polyhedron_demo-Hierarchic_view-GF-old' into Polyhedron_demo-Hierarchic_view-GF
Conflicts:
	Polyhedron/demo/Polyhedron/CMakeLists.txt
	Polyhedron/demo/Polyhedron/MainWindow.cpp
	Polyhedron/demo/Polyhedron/Scene.cpp
	Polyhedron/demo/Polyhedron/Scene.h
2015-11-23 09:32:20 +01:00
Maxime Gimeno 9fd0dc69d4 Implementation
- Addition of .mesh and .ma as save format.

- The Polyhedron_demo_io_plugin_interface now has a saveNameFilters and a loadNameFilters that both return
  nameFilters() by default, in case an IO_plugin have diffrent input and output formats.
2015-11-19 15:22:53 +01:00
Sébastien Loriot bc3fa0e792 add missing header 2015-11-18 11:32:44 +01:00
Maxime Gimeno 1317d673b6 Merge branch 'Polyhedron_demo-plugins_in_directories-GF-old' into Polyhedron_demo-plugins_in_directories-GF
Conflicts:
	Polyhedron/demo/Polyhedron/CMakeLists.txt
	Polyhedron/demo/Polyhedron/MainWindow.cpp
	Polyhedron/demo/Polyhedron/Mesh_3_plugin/Meshing_dialog.ui
	Polyhedron/demo/Polyhedron/Mesh_3_plugin/Polyhedron_demo_mesh_3_plugin.cpp
	Polyhedron/demo/Polyhedron/Mesh_3_plugin/Polyhedron_demo_mesh_3_plugin_cgal_code.cpp
	Polyhedron/demo/Polyhedron/Meshing_dialog.ui
	Polyhedron/demo/Polyhedron/Polyhedron_demo_mesh_3_plugin_dialog.ui
	Polyhedron/demo/Polyhedron/Polylines_io_plugin/Polyhedron_demo_polylines_io_plugin.cpp
	Polyhedron/demo/Polyhedron/Scene_plane_item.h
	Polyhedron/demo/Polyhedron/Scene_polylines_item.cpp
	Polyhedron/demo/Polyhedron/Scene_polylines_item.h
	Polyhedron/demo/Polyhedron/Xyz_plugin/Polyhedron_demo_xyz_plugin.cpp
	Three/doc/Three/Three.txt
	Three/include/CGAL/Three/Scene_item.h
2015-11-09 16:04:37 +01:00