Commit Graph

122 Commits

Author SHA1 Message Date
Maxime Gimeno 7fde6ef3a2 Fix plugins with disconnected actions. 2016-05-13 16:13:15 +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 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 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