Commit Graph

247 Commits

Author SHA1 Message Date
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