Commit Graph

729 Commits

Author SHA1 Message Date
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
Andreas Fabri f7b826125b Add the possibility to pass the two vertices that are selected 2017-06-22 16:12:26 +02:00
Andreas Fabri 78dc757a4d doc 2017-06-22 16:12:26 +02:00
Andreas Fabri 7e4fc56b7d Add copyright header 2017-06-22 16:12:26 +02:00
Andreas Fabri 45e19be366 Use property maps to store seam edges and vertices 2017-06-22 16:12:26 +02:00
Andreas Fabri 902ff15f87 fix target(halfedge, Seam_mesh) for when the halfedge is on the border of a seam edge 2017-06-22 16:12:26 +02:00
Andreas Fabri 9cc84e828c Add an initial User Manual section for Seam_mesh 2017-06-22 16:12:26 +02:00
Andreas Fabri e8db3c0f11 Add Seam_mesh to the BGL doc 2017-06-22 16:12:26 +02:00
Andreas Fabri 36530e3f98 polish 2017-06-22 16:11:38 +02:00
Andreas Fabri b11385455f Fix target(Seam_msh) 2017-06-22 16:11:38 +02:00
Andreas Fabri 82f2a2b4ca WIP 2017-06-22 16:11:38 +02:00
Andreas Fabri fa68850338 Use Vertex_around_target_circulator again 2017-06-22 16:11:38 +02:00
Andreas Fabri 869dfbb1e9 finally it works with a Seam_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri a6a62bc4f6 index vertices inside parameterize() 2017-06-22 16:11:38 +02:00
Andreas Fabri 46ed3edf92 LSCM seems to work too 2017-06-22 16:11:38 +02:00
Andreas Fabri 92a463bdcc split constructor of Seam_mesh in two functions 2017-06-22 16:11:38 +02:00
Andreas Fabri 99a3b99283 make connecteced_component work for Seam_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri c3e884373a remove debug code 2017-06-22 16:11:38 +02:00
Andreas Fabri 4a2344f0cc discrete authalic now works for Surface_mesh and for a Seam_mesh 2017-06-22 16:11:38 +02:00
Andreas Fabri e1089a9168 WIP: Add vertex_descriptor which is a kind of canonical halfede_descriptor 2017-06-22 16:11:38 +02:00
Andreas Fabri 1164cb14bf Discrete Authalic parametrisation now works for a Seam_mesh with borders and seams 2017-06-22 16:11:38 +02:00
Andreas Fabri b7cdb47463 WIP - lets get it working with the Seam_graph next 2017-06-22 16:11:38 +02:00
Andreas Fabri c746425f8c Authalic parametrization works with a Surface_mesh with border 2017-06-22 16:11:38 +02:00
Andreas Fabri e00500fe5c a shy beginning of a graph with edges marked as seam edges 2017-06-22 16:11:38 +02:00
Laurent Rineau 4116d749d2 Merge pull request #1861 from maxGimeno/BGL_copy_face_graph_patch-GF
BGL: Connected_component_graph and copy_face_graph_patch
2017-06-22 16:06:14 +02:00
Jane Tournois 0c0177e432 add empty() helper function in BGL 2017-06-20 17:33:03 +02:00
Maxime Gimeno a570495a0f Fix face() for border halfedges. 2017-06-16 10:08:22 +02:00
Sébastien Loriot f9df1e2357 fix conversion warnings 2017-06-07 17:04:22 +02:00
Sébastien Loriot f457b0340d remove extra note 2017-05-30 15:09:42 +02:00
Sébastien Loriot 5c1ace5124 add example and use bgllink macro 2017-05-30 15:09:42 +02:00
Sébastien Loriot ad87028699 use named parameters for index maps 2017-05-30 15:09:42 +02:00
Sébastien Loriot dd64914d59 move helper functions in the BGL package so that they can be used there too 2017-05-30 15:09:42 +02:00
Sébastien Loriot 6d2526499e replace iterators of face patch indices by a range 2017-05-30 15:09:42 +02:00
Sébastien Loriot b453991a44 rename face patch index map 2017-05-30 15:09:42 +02:00
Sébastien Loriot a0f1499614 rename bitsets of selected simplices 2017-05-30 15:09:42 +02:00
Sébastien Loriot eddbffcebe use set_selected_faces in the constructor and add the missing implementation 2017-05-30 15:09:42 +02:00
Sébastien Loriot b4194e3614 import API and documentation 2017-05-30 15:09:42 +02:00
Maxime Gimeno 3ab2f10997 replace remaining 'componant' by 'patch' 2017-05-30 15:09:42 +02:00
Maxime Gimeno 1f96262d3d Rename the graph into Face_filtered_graph and add a function to check its validity. 2017-05-30 15:09:42 +02:00
Maxime Gimeno 185ac3bbd0 clean-up the doc 2017-05-30 15:09:42 +02:00
Maxime Gimeno 1caba59404 add a function to change the current connected component ids to the cc_graph and update Segmentation example. 2017-05-30 15:09:42 +02:00
Maxime Gimeno 64eb2d09c6 Change doc for default index maps and add an example to Surface_mesh_segmentation using area() and Connected_components_graphs. 2017-05-30 15:09:41 +02:00
Maxime Gimeno 557e1a78c1 Add tests for Polyhedron and fix Property forwarding 2017-05-30 15:08:34 +02:00
Maxime Gimeno 0ab9cf974c Add property maps binders for the indices and fix remaining bugs in graph_traits. copy_face_graph doesn't crash anymore. 2017-05-30 15:08:34 +02:00
Maxime Gimeno 4e0bdba931 update changes.html and add tparams for the index maps. 2017-05-30 15:08:34 +02:00
Maxime Gimeno 793931be88 Add templates for the index maps in the class type. 2017-05-30 15:08:34 +02:00
Maxime Gimeno 6e1199d56f bitsets implementation, doc fix and tests fix. 2017-05-30 15:08:34 +02:00
Andreas Fabri 0707e06cee Changes after Andreas' review 2017-05-30 15:08:34 +02:00
Maxime Gimeno 5661666782 Clean-up and add key and value types to fccmap. 2017-05-30 15:08:34 +02:00
Maxime Gimeno 97ad4ba2b2 Rename into Connected_components_graph 2017-05-30 15:08:34 +02:00
Maxime Gimeno afd44de2e6 Changes :
- Remove copy_face_graph_patch
- Use an unordered_set instead of a single patch_id.
2017-05-30 15:08:34 +02:00
Maxime Gimeno 513edafdb2 use iterator_range instead of std::pair in Gwdwg 2017-05-30 15:08:34 +02:00
Maxime Gimeno 904b673da6 Changes for review. 2017-05-30 15:08:33 +02:00
Maxime Gimeno f7c3c48c07 Fixes 2017-05-30 15:08:33 +02:00
Maxime Gimeno be5103c1a1 Fix license and include guards 2017-05-30 15:08:33 +02:00
Maxime Gimeno 00af500498 Add a function to copy a patch and document the Connected_component_graph 2017-05-30 15:08:33 +02:00
Maxime Gimeno 5ababe9c33 Add an adapter:
- Create an adapter for FaceListGraphs that takes a patch_id and a FaceIndexMap and acts as if the specified patch was a whole graph.
2017-05-30 15:08:33 +02:00
Maxime Gimeno c892cf49c7 Clean-up 2017-05-29 13:24:09 +02:00
Maxime Gimeno 360031a14a Restore the PMP_properties_Surface_mesh.h and remove the private copy constructor of Gwdwg to let the default one be used, as it does not allow memory. This allows Surface only meshing to work with surface_mesh. 2017-05-29 13:24:08 +02:00
Maxime Gimeno 5db694c154 polyhedral domain with features works for Surface_mesh and cheese.off (Polyhedron does no longer :(
Conflicts:
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
	Surface_mesh/include/CGAL/boost/graph/PMP_properties_Surface_mesh.h
2017-05-29 13:22:37 +02:00
Maxime Gimeno 451af8f3ef bglize and add property maps. polyhedral domain with features works almost for Surface_mesh
Conflicts:
	Mesh_3/include/CGAL/Mesh_polyhedron_3.h
	Mesh_3/include/CGAL/Polyhedral_mesh_domain_with_features_3.h
	Surface_mesh/include/CGAL/boost/graph/PMP_properties_Surface_mesh.h
2017-05-29 13:22:37 +02:00
Andreas Fabri 5a302c805d Make make_mesh_3() work for Surface_mesh 2017-05-29 13:22:37 +02:00
Andreas Fabri 2e4524e11f Remove face_degree; Fix warnings 2017-05-29 13:22:36 +02:00
Maxime Gimeno 2c1c78270b Fix doc of face_degree 2017-05-29 13:20:41 +02:00
Maxime Gimeno 880b6e21a2 Fixes and Clean-up.
- Move the new properties in a file in PMP and remove them from the namespace boost.
- Move the surface mesh properties from properties_Surface_mesh.h to Scene_surface_mesh_item.h
2017-05-29 13:20:39 +02:00
Andreas Fabri b5212bd83b Make surface mesh simplification plugin work for Surface_mesh 2017-05-29 13:20:38 +02:00
Andreas Fabri a33e423d2e Add property maps to Mesh_polyhedron_3::type 2017-05-29 13:20:38 +02:00
Andreas Fabri c8bc628c90 WIP: make the selection plugin work for Surface_mesh 2017-05-29 13:20:33 +02:00
Maxime Gimeno 45edec15db Nef_plugin works with surface_mesh. 2017-05-29 12:12:31 +02:00
Laurent Rineau c174b9880d Merge remote-tracking branch 'cgal/releases/CGAL-4.10-branch' 2017-05-26 17:56:13 +02:00
Sébastien Loriot 9b4e04c48a move function to test if a triangle face is degenerated in BGL helpers 2017-05-24 10:18:44 +02:00
Laurent Rineau ee1c11acfd Merge pull request #2077 from afabri/BGL-links_to_headers-GF
BGL Add a description to doxygen groups
2017-05-19 10:28:46 +02:00
Laurent Rineau 7aad2a560c Merge pull request #1891 from maxGimeno/PMP_named_params_macro-GF
Use macros to add parameters in PMP
2017-05-11 17:09:38 +02:00
Andreas Fabri 3f16400456 Add a desciption to doxygen groups, and in which header file they are 2017-04-26 08:46:58 +02:00
Laurent Rineau 87c9afd486 Fix the compilation of individual headers
- in most cases, that was just adding missing #include
- I have removed the use of <CGAL/basic.h>
2017-04-13 15:56:51 +02:00
Sébastien Loriot deb9d984f5 Merge remote-tracking branch 'cgal/releases/CGAL-4.9-branch' 2017-03-29 13:23:05 +02:00
Laurent Rineau c025d392fb Merge pull request #1960 from sloriot/BGL-fix_split_graph
Fix bug in split_graph_into_polylines
2017-03-29 11:58:38 +02:00
Sébastien Loriot 3da1729ea4 restore the order on nodes and do not remove an edge before a terminal node
The order was relying on the vertex connectivity so no edge incident to a
node in the set should be removed, otherwise the set is no longer sorted
2017-03-21 16:54:49 +01:00