Commit Graph

729 Commits

Author SHA1 Message Date
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