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
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
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
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
ee57fc2d6c
add SPDX identifier for files under the GPL-3+ license
2017-11-12 10:17:51 +01:00
Maxime Gimeno
91d5ee0247
Remove parentGroup()'s child in group's removeChild()
2017-10-19 14:10:43 +02:00
Maxime Gimeno
53829630ec
Darken the intersection color and avoid the Z-fighting.
2017-09-22 15:12:02 +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
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
a84acd367d
Add the misisng interface file
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
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
Maxime Gimeno
7fde6ef3a2
Fix plugins with disconnected actions.
2016-05-13 16:13:15 +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
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
542ee48ddb
Finished doc update and replaced BBox by CGAL::BBox_3
2016-05-06 10:50:50 +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
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
Maxime Gimeno
552aaa159f
Fix for the context
2016-02-09 14:48:26 +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
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
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
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
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
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
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
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