Commit Graph

831 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 51e23d44a8 Fixed includes 2018-01-10 11:58:56 +01:00
Mael Rouxel-Labbé 17e46dab7d Added partition operations to BGL 2018-01-09 18:06:02 +01:00
Sébastien Loriot 7ee538395d fix assertions 2018-01-08 05:36:16 +01:00
Martial Tola c233ba697b fix bug -> 2x 2 missing "inline" to prevent duplicate symbols during link process... 2018-01-04 17:54:16 +01:00
Laurent Rineau 42b11ddf29 Revert the merge of PR #2478
This reverts the merge commit 46cc91e787 onto
488c3e2879.
2018-01-04 17:54:08 +01:00
Sébastien Loriot 9fe73a801e Merge pull request #2552 from maxGimeno/PMP_does_intersect-GF
PMP: do_intersect
2018-01-04 15:34:18 +01:00
Sebastien Loriot e3f78ff10e
Merge pull request #2545 from maxGimeno/PMP_orient_connected_components-GF
PMP :  Orient_connected_components function
2018-01-04 15:31:21 +01:00
Sebastien Loriot 625df00b19
Merge pull request #2219 from afabri/BGL-generic_property_map-GF
BGL: Add an API for adding and removing a property map
2018-01-04 15:28:54 +01:00
Sebastien Loriot fb44258bb6
Merge pull request #2682 from sloriot/BGL-nef_to_fg_triangulate_all
Add an option to triangulate all the faces
2017-12-22 22:10:01 +01:00
Sébastien Loriot d1597f2fb5 Merge branch 'maxGimeno/PMP_orient_connected_components-GF' into cgal/master 2017-12-19 17:34:51 +01:00
Sébastien Loriot 430ad5bc72 Merge branch 'maxGimeno/PMP_does_intersect-GF' into cgal/master 2017-12-19 17:31:29 +01:00
Laurent Rineau 61e662c4e4 Merge pull request #2649 from sgiraudot/BGL-Regroup_named_parameters-GF
Regroup PMP named parameters with BGL named parameters

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/parameters_interface.h
2017-12-19 16:33:44 +01:00
Sébastien Loriot 86c1cfb65d factorize implementation for PolyMesh_Array and TriMesh_Array
I removed add_face(VertexIterator, VertexIterator, FG) as it is not
required by MutableFaceGraph and was the only function with
a different implementation between the 2 classes
2017-12-19 15:48:07 +01:00
Sébastien Loriot 456222aa81 add comment 2017-12-19 14:51:12 +01:00
Sébastien Loriot a9a85b37e6 fix compilation issues and warnings 2017-12-19 14:43:30 +01:00
Sébastien Loriot 5630e163f9 fix copy-paste error 2017-12-18 09:43:12 +01:00
Sébastien Loriot f9698633a5 add special case for border of size 3 and border of size 4 2017-12-15 16:14:04 +01:00
Laurent Rineau 7df26c594b
Merge branch 'master' into BGL-generic_property_map-GF 2017-12-14 09:46:01 +01:00
Sébastien Loriot 8c94abde95 add an option to triangulate all the faces 2017-12-14 07:52:08 +01:00
Mael Rouxel-Labbé 638bfee3fd Regroup and complete BGL named parameters tests
Along the way, apply the same fix as in f191e6114a
(*_sampling should be named use_*_sampling)
2017-12-13 10:49:50 +01:00
Mael Rouxel-Labbé ad947da752 Give each package a NamedParameters.txt 2017-12-12 00:07:57 +01:00
Mael Rouxel-Labbé 9a38d9d41a Reorder named parameters and remove useless ones 2017-12-11 21:32:03 +01:00
Laurent Rineau 4e91d4d768 Merge pull request #2595 from gdamiand/BGL_LCC-use_generic_load-gdamiand
BGL/LCC: use generic load

# Conflicts:
#	BGL/test/BGL/CMakeLists.txt
2017-12-05 18:23:58 +01:00
Laurent Rineau f37630bc0f Merge branch 'releases/CGAL-4.11-branch'
# Conflicts:
#	Kernel_23/test/Kernel_23/include/CGAL/_Result_of_kernel.h
#	Kernel_23/test/Kernel_23/test_result_of.cpp
2017-12-05 18:14:23 +01:00
Laurent Rineau a84a0b686b Merge pull request #2598 from sloriot/BGL-fix_export_to_nef
Correctly handle faces with more than one cc of the boundary
2017-12-05 17:57:59 +01:00
Simon Giraudot 426a72af74 Merge parameters_interface.h to BGL 2017-12-01 15:32:29 +01:00
Simon Giraudot 3dc39c7641 Regroup PMP named parameters with BGL named parameters 2017-11-30 16:05:11 +01:00
Andreas Fabri de166d8be7 Fix testsuite 2017-11-29 10:51:06 +00:00
Jane Tournois 2feb79a16b Add example for dynamic_property_map 2017-11-27 16:35:30 +00:00
Guillaume Damiand 3d84dae11a Bug fix in read_off specialization for open mesh. 2017-11-24 11:18:01 +01:00
Guillaume Damiand 4be7fac4f2 Add read and write off taking a std::string as parameter 2017-11-24 11:18:01 +01:00
Sébastien Loriot 8cdfad0d08 add missing URL and Id tags 2017-11-15 22:58:57 +01:00
Sébastien Loriot 67ab9d124d correctly handle the case of faces with more than one cc of the boundary 2017-11-15 15:37:27 +01:00
Sébastien Loriot 5a4697771d explicit the BSL in the header
also remove LGPL from GF as it makes little sense.
The change is done to please licensecheck
2017-11-12 10:41:37 +01:00
Sébastien Loriot 39e4fdd3ed add missing SPDX identifiers 2017-11-12 10:21:27 +01:00
Sébastien Loriot 5174db8e1d add missing boost license tag 2017-11-12 10:17:52 +01:00
Sébastien Loriot 0698f79aff add SPDX identifier for files under the LGPL-3+ license 2017-11-12 10:17:50 +01:00
Sébastien Loriot a05b134a6b add SPDX identifier for files under the boost license 2017-11-12 10:17:50 +01:00
Laurent Rineau 5ecd090ab6 Merge pull request #2315 from lrineau/Mesh_3-imported_newest_improvements_into_CGAL-GF
Mesh_3: import newest improvements
2017-10-23 17:07:00 +02:00
Laurent Rineau 46cc91e787 Merge pull request #2478 from mtola/master
fix bug -> 2x 2 missing "inline" to prevent duplicate symbols during …
2017-10-13 17:06:22 +02:00
Laurent Rineau 1d46a17214 Merge pull request #2515 from sloriot/BGL-fix_argument_order
Change argument order to be consistent with other selection functions
2017-10-13 16:54:27 +02:00
Laurent Rineau 39516eaa2b Merge pull request #2478 from mtola/master
fix bug -> 2x 2 missing "inline" to prevent duplicate symbols during …
2017-10-13 16:54:11 +02:00
Laurent Rineau dc7c887436 Fix the compilation of <CGAL/Polyhedral_mesh_domain_3.h>
1. Create <CGAL/boost/graph/Graph_with_descriptor_with_graph_fwd.h>
     ... a forward-declaration header.

  2. Include the forward-declarations of `CGAL::Surface_mesher` and
  `CGAL::Graph_with_descriptor_with_graph`, so that the header compiles.
2017-10-13 15:57:02 +02:00
Laurent Rineau d333cc672d Merge pull request #2492 from sloriot/OM-fix_edge_hashing
Fix hashing of edge_descriptor for OpenMesh
2017-10-11 19:18:57 +02:00
Laurent Rineau 8d111f35e0 Merge pull request #2455 from afabri/SM-abaquus-GF
Add write_inp(FaceGraph)
2017-10-11 19:18:41 +02:00
Laurent Rineau 3877f84899 Merge pull request #2492 from sloriot/OM-fix_edge_hashing
Fix hashing of edge_descriptor for OpenMesh
2017-10-11 19:11:46 +02:00
Sébastien Loriot be4635a1f6 change argument order to be consistent with expand/reduce_face_selection() 2017-10-09 15:09:42 +02:00
Andreas Fabri 3f89acae6b Remove unused typedef 2017-10-05 09:50:42 +01:00
Laurent Rineau 7e9f756935 Replace all std::unary_function by CGAL::unary_function 2017-10-04 15:57:09 +02:00
Andreas Fabri 1be0c2163b Increment the element number 2017-10-04 08:14:47 +02:00
Sébastien Loriot 12688d05a1 fix hashing of edge_descriptor for OpenMesh 2017-10-03 17:21:24 +02:00
Jane Tournois ab1eef79b5 fix unused variable warnings 2017-10-03 10:51:15 +02:00
Martial Tola 6ce7afb6e0 fix bug -> 2x 2 missing "inline" to prevent duplicate symbols during link process... 2017-10-01 16:07:33 +02:00
Andreas Fabri b574ba0bb4 add typename 2017-09-22 13:44:37 +01:00
Andreas Fabri 7156427220 Add write_inp() 2017-09-22 08:16:50 +01:00
Jane Tournois 6a17042d6e make get() function const
so that the pmap works and an lvalue_property_map
2017-08-22 17:19:51 +02:00
Sebastien Loriot 97b8782a27 Merge branch 'master' into Detect_features-GF 2017-08-18 16:34:29 +02:00
Maxime Gimeno 43ff0d092c Implementation review Jane and sebastien 2017-08-11 15:30:03 +02:00
Maxime Gimeno 723492def1 Use existing named_parameters and vertex_incident_patches becomes lvaluepmap, 2017-08-10 15:16:27 +02:00
Maxime Gimeno 1fe1e21bb6 Replace maximum_surface_patch by first_index. 2017-08-07 13:32:02 +02:00
Maxime Gimeno 1bad0e7202 Use edges instead of halfedges for edge_is_feature_t and map 2017-08-07 11:39:07 +02:00
Maxime Gimeno d588c55bbb Make functions free functions and wright doc 2017-08-04 15:06:41 +02:00
Maxime Gimeno 2f45a46f7c Fix and enhance detect_feature 2017-08-02 16:08:33 +02:00
Maxime Gimeno 9381041e18 Doc fixes and enhancement 2017-08-02 11:16:44 +02:00
Maxime Gimeno 8288fe2ca2 changes.html 2017-08-02 11:16:44 +02:00
Maxime Gimeno f1a3ea95a3 Add face selection expansion to the selection_plugin 2017-08-02 11:14:32 +02:00
Maxime Gimeno 8460df09c3 Add a function to make a removal of faces manifold. 2017-08-02 11:14:32 +02:00
Laurent Rineau 1537335ed6 Merge pull request #2311 from sloriot/BGL-FFG_bugfix
Fix Face_filtered_graph bugs
2017-07-28 18:46:14 +02:00
Laurent Rineau 3fb6c05622 Merge pull request #2304 from sloriot/BGL-copy_non_manifold_vertices
Handle non-manifold vertices when copying a mesh
2017-07-28 18:42:38 +02:00
Jane Tournois aeb9a72843 replace BOOST_FOREACH by a simple for loop
the BOOST_FOREACH loop was either crashing after one loop,
of entering an infinite loop on the first vertex of the range,
and this fixes the bug

it happened on vs2015 and vs2017, in Release mode, and only Release mode
2017-07-28 17:48:37 +02:00
Sébastien Loriot 7efdddefd6 use member function instead of a useless free function
this avoid at the same time pollution of the CGAL namespace
2017-07-27 15:49:21 +02:00
Sébastien Loriot c57c14255b always reset the selection bits (important when switching to a new selection) 2017-07-27 14:56:01 +02:00
Sébastien Loriot 7114b8c542 do not use an ambiguous name 2017-07-27 14:55:30 +02:00
Sébastien Loriot 54aae24840 fix next/prev in case we are on the border
we need to look at all possible candidates turning outside
of the patch. The previous code was taking a random halfedge
as starting point (and that halfedge can be in the interior
of the selection)
2017-07-27 14:53:50 +02:00
Sébastien Loriot bb175cdc66 handle non-manifold vertices when copying a mesh 2017-07-26 12:05:09 +02:00
Laurent Rineau f8760d591b Merge pull request #2136 from afabri/Polygon_mesh_processing-accelerate_isotropic_remeshing-GF
Polygon_mesh_processing: Accelerate Isotropic_remeshing
2017-07-21 10:45:32 +02:00
Laurent Rineau 89acad2d14 Merge pull request #2101 from afabri/BGL-read_write_off-GF
BGL: Add generic functions read_off() and write_off()
2017-07-17 12:45:07 +02:00
Laurent Rineau 3524d08a8f Follow the Rule of Zero
Do not define the assignment operator, because that is not
necessary. That allows more optimizations (and the move-semantic).

See that description of the Rule of Three, Rule of Five, and Rule of
Zero:
  http://en.cppreference.com/w/cpp/language/rule_of_three
2017-07-12 15:26:09 +02:00
Laurent Rineau caa10904e1 Fix warnings about unused parameters 2017-07-12 15:26:08 +02:00
Andreas Fabri 70b13af39c Do not pollute the boost namespace 2017-07-12 12:11:34 +02:00
Andreas Fabri 3ff34b4b23 cleanup 2017-07-11 20:32:23 +02:00
Andreas Fabri 886bd840cf Make the dynamic property map an implementation detail 2017-07-11 20:32:23 +02:00
Jane Tournois e9a5aabc3b add missing typenames 2017-07-11 20:32:23 +02:00
Andreas Fabri 5ba2161d21 Make isotropic remeshing compile with OpenMesh 2017-07-11 20:32:22 +02:00
Andreas Fabri c35a018135 Move add and remove of property maps in namespace internal (realizing that it is wrong to claim that it works for any FaceGraph 2017-07-11 20:31:34 +02:00
Andreas Fabri af31632ac3 make it work with OpenMesh (almost, as the default value of the map is missing 2017-07-11 20:31:33 +02:00
Andreas Fabri be45f81fc8 Add support for halfedges 2017-07-11 20:31:27 +02:00
Andreas Fabri 4ff981de70 Add generic vertex/edge/face propertymap for Surface_mesh and OpenMesh 2017-07-11 20:31:27 +02:00
Laurent Rineau b1c08973d0 Fix missing #include 2017-07-11 15:55:05 +02:00
Maxime Gimeno 0495529cb3 Merge branch 'Polyhedron_demo-Triangulate_faces_SM-GF' into Mesh_segmentation_for_SM-GF
Conflicts:
	Polyhedron/demo/Polyhedron/Plugins/Surface_mesh/Mesh_segmentation_plugin.cpp
2017-07-10 17:10:47 +02:00
Maxime Gimeno 6581f1d716 Fix warning in stitching_plugin 2017-07-10 16:03:48 +02:00
Andreas Fabri adde363ada Make the computation of the kernel of a Surface_mesh work 2017-07-10 16:00:05 +02:00
Laurent Rineau 8da2b7bd11 Merge pull request #2068 from maxGimeno/Polyhedron_demo-Volume_generator-GF
BGL new helper functions and Polyhedron_demo's Basic_volume_generator_plugin
2017-07-10 15:35:22 +02:00
Maxime Gimeno 4387629e61 Use templated functions to make Mesh_segmentation_plugin work with SM_items 2017-07-10 15:34:57 +02:00
Andreas Fabri f8376c8bcc remove unused typedef 2017-07-09 06:59:23 +02:00
Andreas Fabri 6ef551f6da int -> unsigned int 2017-07-07 13:32:32 +02:00
Laurent Rineau 4d0d588c90 Merge pull request #1989 from maxGimeno/Plugins_use_SM-Convex_decomposition-GF
convex decomposition work with Surface_mesh_item
2017-07-03 12:08:48 +02:00
Andreas Fabri ad6867fe21 Reorder includes 2017-06-30 18:14:43 +02:00
Andreas Fabri a69b2918d2 Add to changes.html 2017-06-30 18:14:43 +02:00
Andreas Fabri 4b94dd0e23 rename internal namspace 2017-06-30 18:13:42 +02:00
Andreas Fabri 1d9346cc80 Bug fixes (spotted by Guillaume- thank you ) 2017-06-30 18:13:42 +02:00
Andreas Fabri 2601bae0e3 #include <fstream> 2017-06-30 18:13:40 +02:00
Andreas Fabri 5098e546c1 Add CGAL::read_off() and CGAL::write_off() to OpenMesh 2017-06-30 18:12:16 +02:00
Andreas Fabri 1042f23791 std::string -> const char* 2017-06-30 18:12:14 +02:00
Andreas Fabri d94d386f59 fix the testsuite 2017-06-30 18:12:14 +02:00
Andreas Fabri 4bcf6fc51c Add generic overload which takes a filename as argument 2017-06-30 18:12:14 +02:00
Andreas Fabri a2ed66d8ce read_off(istream&, Surface_mesh) now appends 2017-06-30 18:12:14 +02:00
Andreas Fabri 59fc7b9af0 remove unused variables 2017-06-30 18:12:14 +02:00
Andreas Fabri 3e3c33bcf0 Add generic functions read_off() and write_off() 2017-06-30 18:12:13 +02:00
Laurent Rineau c5224829fc Merge branch 'master' into Polyhedron_demo-Volume_generator-GF 2017-06-30 17:27:06 +02:00
Laurent Rineau 330dd54cea Merge pull request #2200 from janetournois/Polyhedron_demo_-add_mesh_surface_w_border_in_closed_domain-GF
Mesh_3 plugin made able to mesh surfaces with border inside a closed polyhedral domain
2017-06-30 16:52:09 +02:00
Laurent Rineau 2061a16def Merge pull request #1917 from MaelRL/SM_Parameterization-BGL-GF
Parameterization Facegraph
2017-06-30 16:38:50 +02:00
Maxime Gimeno 6fff279f7a Fixes:
- Warning
 - orientation
 - Plugin pictures
2017-06-26 10:59:11 +02:00
Maxime Gimeno 90e647f0c2 Fix doc 2017-06-26 10:59:11 +02:00
Maxime Gimeno 40f0fb65ac Document `i` and `j` in make_grid() 2017-06-26 10:59:11 +02:00
Maxime Gimeno 38c297bc66 Fix grid generation 2017-06-26 10:59:11 +02:00
Maxime Gimeno 515645ec8b Use creator_uniform_3 as default functor for grid and use facegraph_mode for Polyhedron/SM choice in plugin. 2017-06-26 10:59:11 +02:00
Maxime Gimeno 4b59f50d24 Enhance doc 2017-06-26 10:59:10 +02:00
Maxime Gimeno cf2ecfb232 make_grid takes the number of cells instead of the number of vertices and specify that it is row major ordered. 2017-06-26 10:59:10 +02:00
Maxime Gimeno 502b1fb089 Silent warnings 2017-06-26 10:59:10 +02:00
Maxime Gimeno 814b1ae782 Add the grid generation to the plugin. 2017-06-26 10:59:10 +02:00
Maxime Gimeno c8d4385e40 Add tests for new helper functions and a grid generator 2017-06-26 10:59:10 +02:00
Maxime Gimeno 4bd7c04819 Fixes and Enhancements of the plugin, and make the center of the prism the center of its lower base. 2017-06-26 10:59:10 +02:00
Maxime Gimeno 9bb88d9fe2 Fix doc of old make_... functions 2017-06-26 10:59:10 +02:00
Maxime Gimeno 045dc942cd Fix doc 2017-06-26 10:59:10 +02:00
Maxime Gimeno a8178c1474 Make the helper functions return a halfedge and specify th efirst point of the base in the pyramid and the prism in the doc. 2017-06-26 10:59:10 +02:00
Maxime Gimeno 3f72bfc8ba Changes :
- change types in the functions parameters
- make the tetrahedron based on the unit vectors
- add a function to create a pyramid
- add assertions to protect the numbers of vertices
- move the functions to BGL::helpers.h and add documentation
2017-06-26 10:59:10 +02:00
Jane Tournois 105b275768 use boost::empty 2017-06-26 10:17:59 +02:00
Maxime Gimeno 9695e5bde4 Fix ambiguity between constros and bad set_selected_faces call . 2017-06-26 09:18:31 +02:00
Mael Rouxel-Labbé 4d5714b6d7 Face_filtered_graph is a graph adaptor 2017-06-22 16:37:39 +02:00
Jane Tournois 6cc02867d0 add functionality to make mesh_3_plugin
it is now able to mesh surfaces with border inside a closed polyhedral domain

`empty()` yields an ambiguity with the function available in Interval_traits.h,
so we need to rename `empty()` to `is_empty()`
2017-06-22 16:17:24 +02:00
Mael Rouxel-Labbé 18d4034edd Cleaned commented output 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 8b93570a69 Removed useless include 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 3becb6aa7b Hid std::cerr behind debug macros 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 831940c039 Fixed some doc warnings 2017-06-22 16:17:13 +02:00
Andreas Fabri ff14334f7d Add concept checking for Seam_mesh 2017-06-22 16:17:13 +02:00
Andreas Fabri bd5a32d8d6 Unify struct class 2017-06-22 16:17:13 +02:00
Andreas Fabri 6615f1eddd Put operator<< for Seam_mesh vertex/halfedge/edge/face in an #ifdef as the wrapped graph does not require the operator<< 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 88807a72b7 Improved add_seams() 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé 5a675961d4 Introduced the BGL Graph adaptors (Dual, seam_mesh, etc.) 2017-06-22 16:17:13 +02:00
Mael Rouxel-Labbé cf04209c8e Various improvements to the Seam mesh documentation 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé cf1328fd58 Changed "struct" to "class" 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c51c67fa0c Fixed Seam_mesh's intrinsic UV map 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c05a690449 Cleaned cout/cerr ouput 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 406698f769 Added sphere to sphere mapping (wip)
Up to the overlay computation (missing the end)
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 9016c2f825 Fixed border_halfedges() usage in the code of SMP's demo plugin
Thanks to 3826d23, we can now directly pass a seam mesh.

Note that it still requires declaring a dummy:
boost::property_map<seam_mesh, face_index>,
which is not ideal...
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 22c1ea15ff Fixed the comparison operator in the seam_mesh's halfedge_descriptor
A simple comparison between the halfedge_descriptor of the base mesh is enough
2017-06-22 16:15:57 +02:00
Andreas Fabri 92accde094 static_cast to avoid warnings 2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé c62e503a39 Added Orbital Tutte parameterizer and an example
Only the orbifold type I method with MVC coefs is implented in this commit
2017-06-22 16:15:57 +02:00
Mael Rouxel-Labbé 8e77c99653 Fixed seam meshes not always picking the longest border in a connected component 2017-06-22 16:15:57 +02:00