Commit Graph

806 Commits

Author SHA1 Message Date
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
Mael Rouxel-Labbé 69da97ac4b Documentation changes for seam meshes 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 40655269a2 Documentation for BGL and SMP
- Fixed the boost::graph_traits tables
- Seam mesh documentation
- Some minor changes to surface_mesh_parameterization's and ARAP's docs
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 7ce8fdf3f6 Misc minor changes 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 8da6683ef0 Misc minor changes
Some doc, some typos, some indentation...
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé eef01c2ac6 Added a check in the add_seams() function 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé c333aa34b1 Fixed a bad static_cast in Seam_mesh.h 2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé c71d8285d0 Updated the examples of the SMP to work with the new Seam mesh
Also a small change in the Polyhedron demo
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé b00c5f9a56 Improved the Seam mesh classes
Added the missing functions so that it is a facelistgraph.
Fixed a few bugs.
2017-06-22 16:14:55 +02:00
Mael Rouxel-Labbé 0a96f93776 Esthetical changes for seam meshes 2017-06-22 16:14:55 +02:00
Sébastien Loriot 3929dc4d8d improve doc 2017-06-22 16:14:55 +02:00
Sébastien Loriot eab6b6b68a fix formatting 2017-06-22 16:14:55 +02:00
Sébastien Loriot 82ff73da86 restore graph_traits specializations and fix warnings 2017-06-22 16:14:55 +02:00
Sébastien Loriot 8a8948ebed update doc 2017-06-22 16:14:55 +02:00
Sébastien Loriot a0978d0872 first test equality of meshes
In case the graph type as an assertion checking equality of graph
in operator== of its descriptors
2017-06-22 16:12:26 +02:00
Sébastien Loriot e0b1acba83 remove copy-constructor, default is fine 2017-06-22 16:12:26 +02:00
Sébastien Loriot b1e6d0f876 fix reference type of the vertex iterator of the Seam graph
the vertex descriptor is created on the fly
2017-06-22 16:12:26 +02:00
Sébastien Loriot 16aedcae92 remove a qualified call 2017-06-22 16:12:26 +02:00
Sébastien Loriot 853582dbc5 remove unused variables 2017-06-22 16:12:26 +02:00
Andreas Fabri 88b81378ce WIP 2017-06-22 16:12:26 +02:00
Andreas Fabri 63a5c1fd0b still WIP 2017-06-22 16:12:26 +02:00
Sébastien Loriot 6cad541336 enhance pmap 2017-06-22 16:12:26 +02:00
Sébastien Loriot 7b572ece08 no need to remove constness 2017-06-22 16:12:26 +02:00
Andreas Fabri c03ca8fb63 broken code, as I ask Sebastien to find the compile timer error 2017-06-22 16:12:26 +02:00
Maxime Gimeno 63abf210c9 WIP parameterization_plugin + fixes for parameterization files. 2017-06-22 16:12:26 +02:00
Andreas Fabri d9fe196106 WIP 2017-06-22 16:12:26 +02:00