Commit Graph

69195 Commits

Author SHA1 Message Date
Sébastien Loriot 7f350f7507 remove old API deprecated since CGAL 4.4 2016-07-21 11:51:11 +02:00
Laurent Rineau e2a0aef1a5 Merge pull request #1281 from maxGimeno/Polyhedron_demo-Groups_for_shape_detection-GF
Polyhedron_demo: sub-groups for shape detection
2016-07-20 18:10:41 +02:00
Laurent Rineau 4c72771fba Merge pull request #1279 from maxGimeno/Polyhedron_demo-Editable_normals_length-GF
Polyhedron_demo: Editable normals length
2016-07-20 18:09:57 +02:00
Laurent Rineau b2c9d14937 Merge pull request #1178 from cjamin/patch-2
Add TBB support for MSVC14
2016-07-20 18:08:27 +02:00
Laurent Rineau 5e5622a7c2 Merge pull request #1277 from maxGimeno/Polyhedron_demo-Fix_MCF_Skeleton_plugin-GF
Polyhedron_demo: Fix MFC_Skeleton_plugin
2016-07-20 18:05:39 +02:00
Laurent Rineau 7b5a32e12f Merge pull request #1273 from sgiraudot/OTR-Return_boolean-GF
OT reconstruction: return a boolean when running
2016-07-20 18:05:06 +02:00
Laurent Rineau b50900b718 Merge pull request #1270 from maxGimeno/Polyhedron_demo-Fix_image_bbox-GF
Polyhedron_demo : Fix the image_item's Bbox
2016-07-20 18:02:07 +02:00
Laurent Rineau 0b1195c533 Merge pull request #1269 from maxGimeno/Polyhedron_demo-Remove_untriangulate_facets-GF
Polyhedron_demo : Remove Untriangulate facets
2016-07-20 18:01:00 +02:00
Laurent Rineau df87b929fa Merge pull request #1266 from sloriot/Property_map-several_fixes
Property map fixes
2016-07-20 18:00:07 +02:00
Maxime Gimeno 4acb82210f Points sets and planes alpha-shapes are put in sub-groups. 2016-07-19 14:32:09 +02:00
Laurent Rineau b538657fad Merge pull request #1280 from maxGimeno/Polyhedron_demo-Hide_point_set-GF
Polyhedron_demo : Hides the original point set
2016-07-19 12:53:36 +02:00
Maxime Gimeno e5a31a922b Hides the original point set when the WLOP action is performed. 2016-07-19 12:31:22 +02:00
Maxime Gimeno 0bb1a6406e Use a slider in the item's context menu to edit the normals length. 2016-07-19 12:15:56 +02:00
Maxime Gimeno 5e932915cd Fix Points color 2016-07-19 10:31:46 +02:00
Maxime Gimeno d0c6a889f2 Fix the segfault. 2016-07-19 10:25:55 +02:00
Sébastien Loriot 3e9796e1ed remove unused types 2016-07-18 10:26:23 +02:00
Simon Giraudot 26995a29fa Update example 2016-07-18 10:00:29 +02:00
Simon Giraudot 261304126c Test update 2016-07-18 09:53:00 +02:00
Simon Giraudot 18f859193c Return boolean when run or run_until + function to count isolated vertices 2016-07-18 09:52:39 +02:00
Sébastien Loriot 5638160b85 force using a const-ref 2016-07-18 09:42:27 +02:00
Sebastien Loriot 6e01c51f72 Merge pull request #1265 from sloriot/OTR2-fix_demo_compilation
Otr2 fix demo compilation
2016-07-15 15:09:43 +02:00
Sebastien Loriot 2b1edf6f91 Merge pull request #1268 from lrineau/Cartesian_kernel-fix_with_clang_and_gmpxx-GF
Fix compilation error with gmpxx
2016-07-15 15:08:59 +02:00
Sébastien Loriot 1c5204d0aa work around incorrect key-type in property maps 2016-07-15 14:34:20 +02:00
Sébastien Loriot efa3e3b654 avoid relying on reference 2016-07-15 14:29:29 +02:00
Maxime Gimeno f7e004be7c Fix the Bbox 2016-07-15 13:54:10 +02:00
Maxime Gimeno c63a36f15a Remove Untriangulate facets 2016-07-15 12:58:36 +02:00
Laurent Rineau 3e4fcd8d90 Fix compilation error with gmpxx
That is a follow-up to the following commit:

> commit 6b51b12ab5
> Author: Laurent Rineau <laurent.rineau@cgal.org>
> Date:   Fri Oct 4 16:42:13 2013 +0200
>
>     Fix the case when FT is mpq_class
>
>     If x and w are mpq_class objects, then the type of x/w is not mpq_class,
>     but only a proxy type that is implicitly convertible to
>     mpq_class. With the type deduction, CGAL::make_array(x/w, y/w,
>     z/w) will not create an array<mpq_class> but an array of the proxy type.
>
>     That creates the following compilation error, in a ternary operator:
>
>     - with clang:
>     include/CGAL/Cartesian/Vector_3.h:78:25: error: incompatible operand types ('array<__gmp_expr<[...], struct __gmp_binary_expr<class __gmp_expr<mpq_t, mpq_t>, class __gmp_expr<mpq_t, mpq_t>, struct __gmp_binary_divides>>, [...]>' and 'array<__gmp_expr<[...], __mpq_struct [1]>, [...]>')
>         : base( w != FT_(1) ? CGAL::make_array(x/w, y/w, z/w)
>                             ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     - with g++:
>     include/CGAL/Cartesian/Vector_3.h:78:25: error: no match for ternary 'operator?:' (operand types are 'bool', 'std::array<__gmp_expr<__mpq_struct [1], __gmp_binary_expr<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, __gmp_expr<__mpq_struct [1], __mpq_struct [1]>, __gmp_binary_divides> >, 3ul>', and 'std::array<__gmp_expr<__mpq_struct [1], __mpq_struct [1]>, 3ul>')
>          : base( w != FT_(1) ? CGAL::make_array(x/w, y/w, z/w)
>                              ^
>
>     The fix is to specify the template argument of CGAL::make_array.

The first patch in 2013 was on `Vector_3`, but `Vector_2` also suffers
from the issue.
2016-07-13 16:30:07 +02:00
Laurent Rineau 843cde6b77 Merge pull request #1259 from sloriot/BGL-fix_HG_concept
Restrict the HalfedgeGraph with properties often assumed in our functions
2016-07-13 16:17:05 +02:00
Laurent Rineau 7b9f11b3d4 Merge pull request #1260 from lrineau/Mesh_3-improve_IO-GF
Mesh:3 improve dump_c3t3 (Parallel_tag, Polyhedra;_mesh_domain_3)
2016-07-13 16:16:24 +02:00
Laurent Rineau 094fa1f926 Merge pull request #1244 from maxGimeno/Restore_snapshots-GF
Polyhedron_demo: Restore snapshots
2016-07-13 16:15:09 +02:00
Laurent Rineau c5d5294c25 Merge pull request #1263 from maxGimeno/Fix_extra_time_reload-GF
Polyhedron_demo: Fix reload item

This PR actually fixes a general performance issue, due to the use of Boost `flat_map` container. The unique hash map from CGAL has been used instead.
2016-07-13 16:12:42 +02:00
Sébastien Loriot d9fb49f2dd fix all calls to get() free function for property maps
the return type of get is reference
2016-07-13 13:53:06 +02:00
Sébastien Loriot 7f3772a50b replace the usage of raw pointer as property map
It was deprecated in boost 1.55
http://www.boost.org/users/history/version_1_55_0.html
2016-07-13 13:53:00 +02:00
Sébastien Loriot d4daac525e restore default constructor removed in 3658aa04 that is used by the demo
the method to insert a single point is made public to protect incorrect uses
2016-07-13 13:00:10 +02:00
Sébastien Loriot 0bd1bd808a make the testsuite compile the demo
the target name in the cmake script and the name of the cpp file
that contains the main function must be identical
2016-07-13 12:57:59 +02:00
Laurent Rineau 45ceefd0f6 Merge pull request #1264 from maxGimeno/No_cerr_in_mw_message-GF
Polyhedron_demo: No std::cerr in `MainWindow::message()`
2016-07-13 12:26:16 +02:00
Maxime Gimeno e489669b47 Minor fix
- Remove the std::cerr in the `message()` function of the Mainwindow to avoid having html messages in the console.
- The messages using this function will only be readable in the application's console widget.
2016-07-13 10:22:01 +02:00
Maxime Gimeno b2871b656a Clean up other flat_map in normal calculation. 2016-07-13 09:51:47 +02:00
Laurent Rineau 27c6d122cb Fix the long list of targets 2016-07-12 16:48:02 +02:00
Laurent Rineau f430cf9a82 Fix compilation errors
Specialization of I/O support for `std::pair<int, int>` was defined
twice.

For the records, the compilation errors were:
```
[ 62%] Building CXX object Plugins/Mesh_3/CMakeFiles/c3t3_io_plugin.dir/C3t3_io_plugin.cpp.o
cd /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3 && /usr/bin/c++   -DCGAL_EIGEN3_ENABLED -DCGAL_TEST_SUITE -DCGAL_USE_GMP -DCGAL_USE_MPFR -DCGAL_USE_ZLIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_KEYWORDS -DQT_OPENGL_LIB -DQT_SCRIPT_LIB -DQT_WIDGETS_LIB -DQT_XML_LIB -DSCENE_IMAGE_GL_BUFFERS_AVAILABLE -DUSE_FORWARD_DECL -Dc3t3_io_plugin_EXPORTS -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3 -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./CGAL_demo -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/../../include -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./include -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/. -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo -I/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/include -I/mnt/testsuite/include -isystem /usr/include/eigen3 -isystem /usr/include/qt -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++ -isystem /usr/include/qt/QtScript -isystem /usr/include/qt/QtOpenGL -isystem /usr/include/qt/QtXml  -fvisibility=hidden -fPIC   -fPIC -o CMakeFiles/c3t3_io_plugin.dir/C3t3_io_plugin.cpp.o -c /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp
/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp:299:8: error: redefinition of 'struct CGAL::Get_io_signature<std::pair<int, int> >'
 struct Get_io_signature<Fake_patch_id> {
        ^
In file included from /mnt/testsuite/include/CGAL/Polyhedral_mesh_domain_3.h:61:0,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./C3t3_type.h:24,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./Scene_c3t3_item.h:5,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp:2:
/mnt/testsuite/include/CGAL/internal/Mesh_3/Handle_IO_for_pair_of_int.h:31:8: error: previous definition of 'struct CGAL::Get_io_signature<std::pair<int, int> >'
 struct Get_io_signature<std::pair<int, int> > {
        ^
/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp:319:7: error: redefinition of 'class CGAL::Output_rep<std::pair<int, int> >'
 class Output_rep<Fake_patch_id> {
       ^
In file included from /mnt/testsuite/include/CGAL/Polyhedral_mesh_domain_3.h:61:0,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./C3t3_type.h:24,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./Scene_c3t3_item.h:5,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp:2:
/mnt/testsuite/include/CGAL/internal/Mesh_3/Handle_IO_for_pair_of_int.h:46:7: error: previous definition of 'class CGAL::Output_rep<std::pair<int, int> >'
 class Output_rep<std::pair<int, int> > : public IO_rep_is_specialized {
       ^
/home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp:338:7: error: redefinition of 'class CGAL::Input_rep<std::pair<int, int> >'
 class Input_rep<Fake_patch_id> {
       ^
In file included from /mnt/testsuite/include/CGAL/Polyhedral_mesh_domain_3.h:61:0,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./C3t3_type.h:24,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/./Scene_c3t3_item.h:5,
                 from /home/cgal_tester/build/src/cmake/platforms/ArchLinux-CXX14/test/Polyhedron_Demo/Plugins/Mesh_3/C3t3_io_plugin.cpp:2:
/mnt/testsuite/include/CGAL/internal/Mesh_3/Handle_IO_for_pair_of_int.h:65:7: error: previous definition of 'class CGAL::Input_rep<std::pair<int, int> >'
 class Input_rep<std::pair<int, int> > : public IO_rep_is_specialized {
       ^
Plugins/Mesh_3/CMakeFiles/c3t3_io_plugin.dir/build.make:66: recipe for target 'Plugins/Mesh_3/CMakeFiles/c3t3_io_plugin.dir/C3t3_io_plugin.cpp.o' failed
```
https://cgal.geometryfactory.com/CGAL/testsuite/CGAL-4.9-Ic-97/Polyhedron_Demo/TestReport_lrineau_ArchLinux-CXX14.gz
2016-07-12 16:47:39 +02:00
Maxime Gimeno 7dca16a1fc Clean-up 2016-07-12 15:54:44 +02:00
Maxime Gimeno 590c0f9f75 Fix
- By replacing the flat_map by another type of map, the bug that made the calculation of items longer after several reloads is fixed. Why this bug only appeared when reloading an item stays an unsolved mystery.
2016-07-12 15:38:45 +02:00
Laurent Rineau 6f15e738b6 Merge pull request #1227 from maxGimeno/Multiple_fix-GF
Polyhedron_demo : Rework UIs and add waitcursors to items
2016-07-12 11:16:57 +02:00
Laurent Rineau 500ebf7918 Actually test CGAL::dump_c3t3 with a polyhedral domain 2016-07-11 18:09:39 +02:00
Laurent Rineau 06436ba2ea Fix the I/O for Polyhedral_mesh_domain_3 2016-07-11 18:09:25 +02:00
Laurent Rineau 2e1a6d2c3a Add support for Parallel_tag in io_signature.h 2016-07-11 18:08:51 +02:00
Laurent Rineau 831c0def3d Add an assertion 2016-07-11 18:08:40 +02:00
Sébastien Loriot 21ef19b67f Restrict the HalfedgeGraph with properties often assumed in our algorithms 2016-07-11 16:03:05 +02:00
Laurent Rineau cff8767433 Fix a typo
No 'S' in `CGAL_HEADER_ONLY`.
2016-07-11 10:46:12 +02:00
Maxime Gimeno af7998026c Use CamelCase for UI. 2016-07-08 15:25:30 +02:00