Commit Graph

1933 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 979456be47 Fixed typo 2018-08-17 16:33:11 +02:00
Mael Rouxel-Labbé 781708e942 Replaced call to stitch_boundary_cycle_2 by the stronger version 2018-08-17 16:30:03 +02:00
Mael Rouxel-Labbé ab9b0479b3 Removed unnecessary 'do_' in named parameters 2018-08-17 15:32:26 +02:00
Mael Rouxel-Labbé 7b740e9561 Fixed 'is_non_manifold_vertex'
A pinched vertex is not manifold
2018-08-17 10:44:35 +02:00
Sébastien Loriot 89df0d977f typo and indicate that the cycle is a boundary cycle 2018-08-16 16:55:49 +02:00
Mael Rouxel-Labbé f30c89c40f Added some missing includes 2018-08-07 09:12:49 +02:00
Mael Rouxel-Labbé 20984e1042 Modified comment to avoid using '\' 2018-08-07 08:56:23 +02:00
Mael Rouxel-Labbé 56642a96ff Replaced dynamic property map with an unordered set 2018-08-03 15:10:01 +02:00
Mael Rouxel-Labbé 46bd7dc832 Merge branch 'PMP-Filter_degenerate_polygon_soup_input-GF-old' into PMP-Filter_degenerate_polygon_soup_input-GF 2018-08-03 09:34:15 +02:00
Mael Rouxel-Labbé 94108a44fe Fixed lonely function call 2018-08-01 15:13:25 +02:00
Mael Rouxel-Labbé 2ecb8c50d2 Improved repair polygon soup verbosity granularity 2018-08-01 15:10:39 +02:00
Mael Rouxel-Labbé 7e17f5f8d6 Cleaned extra verbose 2018-07-31 08:28:38 +02:00
Mael Rouxel-Labbé 768c5212c2 Try to stitch halfedges within each border before more complex approaches 2018-07-30 18:08:22 +02:00
Mael Rouxel-Labbé d1334ade3c Added a function to try and stitch stitchable halfedges within the same border 2018-07-30 18:07:54 +02:00
Mael Rouxel-Labbé 5a8d6c67e8 Merge branch 'repair_functions-old' into repair_functions 2018-07-30 15:53:37 +02:00
Mael Rouxel-Labbé f58247d8df Added missing quotes 2018-07-30 15:48:20 +02:00
Mael Rouxel-Labbé b9325608b3 Misc minor doc fixes 2018-07-30 13:08:50 +02:00
Mael Rouxel-Labbé 4e31832136 Added a function to detect and merge duplicate faces 2018-07-30 13:08:16 +02:00
Mael Rouxel-Labbé 007a466b8e Added a function to merge duplicate vertices 2018-07-26 18:32:22 +02:00
Mael Rouxel-Labbé e6a04b1fa2 Misc minor changes 2018-07-26 18:26:11 +02:00
Mael Rouxel-Labbé 4ce664a5af Minor doc change 2018-07-26 16:54:50 +02:00
Mael Rouxel-Labbé 6d88f053b5 Added 'additional' 2018-07-26 16:31:11 +02:00
Mael Rouxel-Labbé ed6ebae2de Added repair_polygon_soup.h 2018-07-26 16:30:28 +02:00
Mael Rouxel-Labbé 1765ae106b Added new headers to pmp.h 2018-07-26 15:49:48 +02:00
Sébastien Loriot 168d684ef1 Merge pull request #3255 from sloriot/PMP-rm_unused_file
Remove unused file
2018-07-25 18:57:15 +02:00
Sébastien Loriot d05df530b3 Merge pull request #2658 from MaelRL/Periodic_3_mesh_3-Feature-MBogdanov
Periodic_3_mesh_3, new package
2018-07-25 18:55:12 +02:00
Sébastien Loriot 3f9e22994c Merge pull request #3252 from sloriot/PMP-autorefine_bugfixes
Autorefine bug-fix
2018-07-25 18:53:57 +02:00
Sébastien Loriot 302cebf325 check iterator is valid before dereferencing it 2018-07-25 17:04:40 +02:00
Mael Rouxel-Labbé 789d416f21 Moved 'merge_vertices_in_range' to internal namespace and undocumented it 2018-07-25 11:33:44 +02:00
Mael Rouxel-Labbé a4d825f144 Misc minor changes 2018-07-25 11:29:25 +02:00
Mael Rouxel-Labbé 0417bb88d7 Hide "remove_degenerate_faces" 2018-07-25 10:53:30 +02:00
Mael Rouxel-Labbé e6d1977f73 Updated documentation 2018-07-24 18:08:05 +02:00
Sébastien Loriot d8518d5c80 remove unused file 2018-07-24 13:18:06 +02:00
Mael Rouxel-Labbé 16e64caf65 Handle degenerate edges in 'is_cap_triangle_face' 2018-07-24 11:20:04 +02:00
Mael Rouxel-Labbé d56c12c738 Handle degenerate edges in 'is_needle_triangle_face' 2018-07-24 11:14:47 +02:00
Mael Rouxel-Labbé 072b2376b8 Merge branch 'repair_functions-old' into repair_functions 2018-07-23 17:59:43 +02:00
Mael Rouxel-Labbé 5db403ae34 Fixed indentation 2018-07-23 17:44:04 +02:00
Mael Rouxel-Labbé 9bf6c331b9 Moved extract_boundary_cycles to border.h 2018-07-23 17:42:11 +02:00
Mael Rouxel-Labbé 3d0c0d48d4 Minor doc changes 2018-07-23 17:28:36 +02:00
Sébastien Loriot da76851f75 handle special case when intersection segments shares a common endpoint 2018-07-23 17:13:58 +02:00
Mael Rouxel-Labbé 018195d15d Documented 'degenerate_faces' and add 'degenerate_edges' 2018-07-23 17:10:14 +02:00
Mael Rouxel-Labbé 31609f2002 Renamed function and removed obsolete code 2018-07-23 16:31:51 +02:00
Mael Rouxel-Labbé e3da86cff3 Renamed removed_(null-->degenerate)_edges() for consistency 2018-07-23 16:07:33 +02:00
Mael Rouxel-Labbé a9897111c4 Reorganized the new functions 2018-07-23 12:14:33 +02:00
Mael Rouxel-Labbé 614f80694c Removed obsolete code about merging duplicated boundary vertices 2018-07-23 11:36:15 +02:00
Mael Rouxel-Labbé 49a971e9c2 Various improvements/fixes to degenerate/needle/cap functions 2018-07-23 11:30:12 +02:00
Mael Rouxel-Labbé 3b9464f549 Replaced No_constraint_pmap with Constant_property_map 2018-07-19 17:05:07 +02:00
Mael Rouxel-Labbé 758104c189 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-07-18 17:42:23 +02:00
Sébastien Loriot 3a3bfcfd09 do not build the kd-tree twice
build() will trigger the computation of the kd-tree if it was already built
2018-07-17 14:31:53 +02:00
Laurent Rineau 3ab9482910 Merge branch 'releases/CGAL-4.12-branch' 2018-07-12 11:37:49 +02:00
Laurent Rineau c63a7c77e5 Merge pull request #3214 from sloriot/PMP-autorefine_identical_points
Make sure identical vertices have identical coordinates in autorefinement
2018-07-12 11:32:49 +02:00
Laurent Rineau 72f0c4af95
Fix the obvious bug 2018-07-10 13:47:40 +00:00
Sébastien Loriot 1d923e2253 register all vertices for autorefinement
this is useful to guarantee that the final floating point coordinates
are identical
2018-07-09 16:41:46 +02:00
Sébastien Loriot ba8356c0a5 do not delete twice a vertex in case it was already updated 2018-07-09 11:22:19 +02:00
Mael 74e569db86 Merge branch 'master' into Periodic_3_mesh_3-Feature-MBogdanov 2018-07-04 16:55:30 +02:00
Laurent Rineau 20959db103 Merge pull request #3062 from maxGimeno/BGL-Copy_face_graph_use_np-GF
BGL: copy_face_graph() with NamedParameters
2018-07-04 16:49:54 +02:00
Laurent Rineau a2c30daa17 Merge pull request #3106 from maxGimeno/PMP-Extrude-GF
PMP: extrude_mesh()
2018-07-04 16:49:48 +02:00
Sébastien Loriot aed0cb1834 remove extra comma 2018-07-03 15:47:35 +02:00
Konstantinos Katrioplas b51fa000a4 documentation on merge border vertices functions 2018-07-03 15:39:26 +02:00
Sébastien Loriot ee3636d57e directly sort halfedges and use the ordering to detect illegal merges
a merge is considered as illegal if it makes to vertices
to be merged unreachable. For now if a cycle contain an illegal
merge, all merges of the cycle are ignored.
2018-07-03 15:38:58 +02:00
Sébastien Loriot 99db9a0aaf WIP correctly linking halfedges around merged vertices ...
also disable the merge between cycles as it is not straight forward
it will be always possible
2018-07-03 15:38:58 +02:00
Konstantinos Katrioplas 032ee2828a named parameters for duplicate non-manifold vertices 2018-07-03 15:38:57 +02:00
Konstantinos Katrioplas c6afed86a3 use cosine for threshold on needles and caps 2018-07-03 15:37:20 +02:00
Konstantinos Katrioplas 71041e0376 replace is_degenerate_triangle_face predicate with new version from PMP helpers 2018-07-03 15:37:20 +02:00
Konstantinos Katrioplas 63f49b7fcc move predicates to helper.h and seperate test file 2018-07-03 15:37:20 +02:00
Konstantinos Katrioplas 903df8106a corrections after the review 2018-07-03 15:37:20 +02:00
Sébastien Loriot e6ffc5f505 remove incorrect optimisation 2018-07-03 15:37:16 +02:00
Sébastien Loriot fe407a701f add a function to merge vertices globally 2018-07-03 15:37:16 +02:00
Sébastien Loriot 0830c7a112 add missing overload 2018-07-03 15:37:16 +02:00
Sébastien Loriot e1f0740b53 rename header and test file 2018-07-03 15:37:16 +02:00
Sébastien Loriot af65760475 rewrite boundary cycle merging 2018-07-03 15:37:16 +02:00
Konstantinos Katrioplas c79add2c6a merge vertices, tests & data 2018-07-03 15:37:16 +02:00
Konstantinos Katrioplas 1f0628fad2 is needle andcap functions 2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas c3e7f6d94b is_non_manifold_vertex function 2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas 9f315abad6 duplicate_vertices function doc 2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas 8e285cb1a7 is_degenerate_triangle_face function 2018-07-03 15:36:50 +02:00
Konstantinos Katrioplas 0db8941e0a is_degenerate_edge function 2018-07-03 15:36:50 +02:00
Maxime Gimeno a584af827b Fix Conflicts 2018-06-29 18:21:24 +02:00
Mael Rouxel-Labbé fd076c3c6d Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-28 16:25:54 +02:00
Laurent Rineau 2d9000efde Merge pull request #3111 from sloriot/PMP-coref_preserve_face_attributes
Add a visitor to track the creation of faces in corefinement functions
2018-06-28 16:09:37 +02:00
Sébastien Loriot 1d59e0a350 add missing include directives 2018-06-27 17:07:13 +02:00
Sébastien Loriot af8395585e use const functors 2018-06-27 17:02:42 +02:00
Laurent Rineau 10a84aa34e Merge branch 'master' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-27 10:33:24 +02:00
Sébastien Loriot 6d89662e2a use need API + add missing overload 2018-06-26 00:17:30 +02:00
Maxime Gimeno 803e5e6717 add missing boost:: 2018-06-22 10:32:23 +02:00
Laurent Rineau b44ad18983
Merge branch 'master' into PMP-stitch_after_orient-GF 2018-06-21 12:31:26 +02:00
Sébastien Loriot 0abfba8ac0 Update branch 'PMP-coref_preserve_face_attributes' from master@5ceb529d0f 2018-06-21 10:53:59 +02:00
Mael Rouxel-Labbé 7490f34560 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-21 10:15:25 +02:00
Laurent Rineau b08fb6c4ed Merge pull request #3069 from sloriot/PMP-isotropic_remeshing_user_projection
Fix constrained edge map update and add user projection functor as input
2018-06-20 17:21:10 +02:00
Maxime Gimeno f7807b3d5c fix warning 2018-06-20 10:23:44 +02:00
Maxime GIMENO e54d577b59
Merge branch 'master' into PMP-Extrude-GF 2018-06-20 08:50:03 +02:00
Maxime Gimeno c7a681f968 Fix doc 2018-06-20 08:45:51 +02:00
Sébastien Loriot f7241be70a fix test on the shortness of protect edges
since ecm was updated to only contain real constrained edges (and no additional
patch border edges), we use connected component patch map to identify them
2018-06-18 10:08:52 +02:00
Laurent Rineau 20ba8216b8 Merge pull request #3163 from sloriot/PMP-missing_transform_overload
Add missing overload for PMP::transform
2018-06-14 17:36:40 +02:00
Maxime Gimeno 1d4b1f9183 Merge master to solve conflicts 2018-06-13 09:48:07 +02:00
Mael Rouxel-Labbé 340e5d3b5a Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-12 23:29:43 +02:00
Laurent Rineau 16c581fb4b Merge pull request #3145 from afabri/PMP-should-GF
Polygon_mesh_processing: Change should  to must/shall
2018-06-12 16:38:24 +02:00
Sébastien Loriot 8ccc2af157 add missing overload 2018-06-11 22:04:24 +02:00
Sébastien Loriot 895dbaad73 fix merge of status after the usage of ecm in collapse_edge
ep and epo are no longer guarantee to be the halfedges to be removed
2018-06-07 17:35:29 +02:00
Sébastien Loriot 117b1d810a work around issue with boost::size in boost 1.55
improve at the same time the runtime in cases
we could also have a lazy version for non-random access iterators
2018-06-07 15:14:20 +02:00
Mael Rouxel-Labbé ddeb4c0cd7 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-07 15:14:19 +02:00
Sébastien Loriot e1e1512869 Merge 'PMP-isotropic_remeshing_user_projection' into PMP-isotropic_remeshing_user_projection 2018-06-06 18:00:32 +02:00
Sébastien Loriot 6e1d9b2a3e clip_volumes -> clip_volume 2018-06-06 13:30:36 +02:00
Sébastien Loriot 23a9ae9297 doc typos 2018-06-06 13:24:24 +02:00
Sébastien Loriot 02bcd2a618 merge vertex and face visitor and disable vertex for now 2018-06-06 12:04:30 +02:00
Sébastien Loriot 87b45e8afe rename algorithm visitor 2018-06-06 10:27:52 +02:00
Sébastien Loriot e26bee1a61 rename new_face_visitor -> visitor 2018-06-06 09:50:05 +02:00
Mael Rouxel-Labbé 7ea3a8044e Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-06-05 14:39:18 +02:00
Sébastien Loriot aed6f5805c remove unused variable 2018-06-05 14:15:22 +02:00
Sébastien Loriot c177cf884b fix clip convenience overload 2018-06-05 14:09:32 +02:00
Sébastien Loriot 38c44cf11b make sure face index maps are identical when clipping with a plane 2018-06-05 13:45:23 +02:00
Sébastien Loriot 2601581096 catches exceptions thrown by (co)refinement related plugins 2018-06-05 12:54:46 +02:00
Sébastien Loriot 8d6a992035 remove the use of the convex hull 2018-06-05 12:33:41 +02:00
Sébastien Loriot 3a625d1a28 more robust construction 2018-06-04 17:21:28 +02:00
Sébastien Loriot 6a6172eb0a add a section in the user manual for clipping 2018-06-04 16:28:56 +02:00
Sébastien Loriot aecefd2e6d include_clipper_boundary -> use_compact_clipper 2018-06-04 15:20:31 +02:00
Sébastien Loriot 987d59ed67 fix doc typos 2018-06-04 14:28:43 +02:00
Sébastien Loriot 40269797ab should -> must 2018-06-04 13:56:35 +02:00
Maxime GIMENO 0517c35f59
Merge branch 'master' into BGL-Copy_face_graph_use_np-GF 2018-06-04 11:58:43 +02:00
Andreas Fabri c94b219491 typo 2018-06-04 09:40:35 +01:00
Sébastien Loriot b2fcdf2c9d remove polyhedron dependency 2018-06-04 10:29:20 +02:00
Andreas Fabri 2cd40ad42b Change should to must/shall 2018-06-04 08:32:18 +01:00
Sébastien Loriot 2569c271e5 improve doc and plugin 2018-06-01 16:50:39 +02:00
Sébastien Loriot b8f058e0d1 implement @MaelRL review 2018-06-01 16:09:22 +02:00
Sébastien Loriot 94a73232d5 document clip functions 2018-06-01 11:06:29 +02:00
Sébastien Loriot 1a5b2c78a5 update doc of face index map and qualify boost np functions 2018-06-01 11:00:13 +02:00
Sébastien Loriot 932a6c38b9 doc typos 2018-05-31 10:40:29 +02:00
Sébastien Loriot 899838478c improve doc 2018-05-31 09:57:27 +02:00
Maxime Gimeno 1e20055dba Move the strip creation into an internal function 2018-05-30 14:15:08 +02:00
Sébastien Loriot cd1e5126e6 add missing convenience overloads 2018-05-30 10:50:52 +02:00
Maxime Gimeno ee2f7b427a Fix doc 2018-05-30 09:23:17 +02:00
Sébastien Loriot ac566df9ba use Boolean_property_map 2018-05-30 08:34:08 +02:00
Maxime Gimeno 881d518a24 Add an overload with only one NP 2018-05-29 17:34:07 +02:00
Maxime Gimeno 6dfefeb189 Rename generic_extrude_mesh into extrude_mesh and removes the distance of the original overload as it is useless 2018-05-29 16:42:16 +02:00
Sébastien Loriot 460f49d64f move code to swap edges in a function 2018-05-29 15:59:55 +02:00
Maxime Gimeno 0b2436d062 Clean-up after review 2018-05-29 15:59:54 +02:00
Sébastien Loriot b81453868b fix the handling of constrained vertices 2018-05-29 15:59:54 +02:00
Sébastien Loriot 5738a11841 swap halfedges to guarantee that constrained halfedges are kept
this is only requires in case prev(opposite(he)) is constrained
since if there is a constrained vertex it is vb.
2018-05-29 15:59:54 +02:00
Sébastien Loriot abe346f8d2 consider any vertex incident to a constrained as constrained 2018-05-29 15:59:54 +02:00
Sébastien Loriot de3d654a72 simplify the code collapsing edges
handles corner and constrained vertices
2018-05-29 15:59:10 +02:00
Sébastien Loriot 53164edc5a a vertex of degree less than 3 is on the boundary
collapsing an edge incident to it should be controlled only
by the constrained status of the vertices
2018-05-29 15:59:10 +02:00
Sébastien Loriot d3caff29dc fix indentation 2018-05-29 15:59:10 +02:00
Sébastien Loriot 34a66797b5 the corner status of a vertex is already taken into account in the code
it is meaningful for collapse and smooth that are using is_corner function
2018-05-29 15:59:10 +02:00
Maxime Gimeno a779db591c Make Isotropic_remeshing keep the constrained vertices when collapsing an edge. 2018-05-29 15:58:19 +02:00
Maxime Gimeno 7d3d4b27a6 Fix doc 2018-05-29 10:34:26 +02:00
Sébastien Loriot 37bd8c1d84 fix typos 2018-05-28 17:37:47 +02:00
Sébastien Loriot f29d8339fa document corefine_and_compute_boolean_operations() 2018-05-28 17:37:46 +02:00
Sébastien Loriot 67ec602795 remove a restriction on the output vpm
they no longer requires to be of the same type.
This is particularly important especially since we might
ignore some of them.
2018-05-28 17:37:17 +02:00
Sébastien Loriot d3a9f655af replace bool parameter throw_on_self_intersection with a named parameter
used it at the same time in Boolean operation functions
2018-05-28 17:37:17 +02:00
Sébastien Loriot eea53718bb renaming 2018-05-28 17:37:17 +02:00
Sébastien Loriot 3c382accca document the default new face visitor
I have to move everything in the CGAL::PMP::Corefinement because
CGAL::Corefinement was strange for a publicly documented type
2018-05-28 17:37:16 +02:00
Sébastien Loriot c554738ea1 update after Mael's review 2018-05-28 17:37:15 +02:00
Sébastien Loriot 699a43e47f document the new named parameter 2018-05-28 17:36:07 +02:00
Sébastien Loriot a207317cf5 add a parameter in corefinement functions to track the creation of new faces 2018-05-28 17:36:07 +02:00
Maxime Gimeno d126ea44d6 Fixes in doc 2018-05-28 16:49:54 +02:00
Maxime Gimeno 3a2a0d9cc5 Fix doc 2018-05-28 16:49:54 +02:00
Maxime Gimeno eda740136a Add one quad face and use split face 2018-05-28 16:49:54 +02:00
Maxime Gimeno f3aabc10eb Fix doc for np1 and np2 2018-05-28 16:49:53 +02:00
Andreas Fabri dc89cd6057 Change #include 2018-05-28 16:49:53 +02:00
Maxime Gimeno 71abeb06c7 Use vectors instead of unordered maps and use functors that takes input and output vertices instead of only output vertices. 2018-05-28 16:49:53 +02:00
Andreas Fabri a80100ba41 Deal with constness so that it works with Polyhedron_3 as well 2018-05-28 16:49:53 +02:00
Maxime Gimeno 4efef4e15b Add a function generic_extrude_mesh() that takes up to 2 functors instead of a direction and a distance. 2018-05-28 16:49:52 +02:00
Maxime Gimeno 41d3c05f7f Add a functor to create the offset 2018-05-28 16:49:52 +02:00
Maxime Gimeno 828a7d2b73 clean-up 2018-05-28 16:49:52 +02:00
Maxime Gimeno 291039ba80 update doc 2018-05-28 16:49:52 +02:00
Maxime Gimeno 1851f35382 Add a function to PMP that extrudes a mesh along a direction at a given distance. 2018-05-28 16:49:51 +02:00
Laurent Rineau e86c3c4bba Merge pull request #3102 from afabri/Property_map-empty_vector-GF
Property_map: Fix make_property_map(std::vector&) for an empty vector
2018-05-28 13:58:47 +02:00
Laurent Rineau a7738b27c9 Merge pull request #3052 from maxGimeno/PMP-transform-GF
PMP: transform()
2018-05-28 13:58:16 +02:00
Laurent Rineau 851dfabd29 Merge pull request #2757 from maxGimeno/BGL-Add_facegraph_validity_check_function-GF
BGL:  Add a  FaceGraph validity check function
2018-05-28 13:58:07 +02:00
Maxime Gimeno 2adbfe0888 replace bool by cgal_no_property_::type in wrapper 2018-05-24 14:08:57 +02:00
Maxime Gimeno 57296468b1 Update doc for fimap 2018-05-24 12:46:16 +02:00
Maxime Gimeno 719033ad68 Create id-map on the fly if needed 2018-05-24 12:41:37 +02:00
Sébastien Loriot f03f2176dd do no collapse constrained edges
At the same time I removed halfedge_and_opp_removed since we don't
know prior to the collapse which edges are removed.
The only thing done by the function is to reset the status. This
is not an issue to remove it because halfedge_added is called
each time a new edge is created, thus a previous status cannot
be recovered by error.
2018-05-23 09:07:13 +02:00
Andreas Fabri 466a88077d An empty soup is a mesh 2018-05-22 17:48:36 +02:00
Andreas Fabri 9abafecf9a make the property map from the vector 2018-05-22 17:48:36 +02:00
Sébastien Loriot be42fa9147 update ecmap_ during the remeshing 2018-05-18 17:07:14 +02:00
Sébastien Loriot 90faf5d060 simplify initialization of CC 2018-05-18 14:10:31 +02:00
Sébastien Loriot 42de73320a only constrain edges split that were constrained before 2018-05-18 11:07:18 +02:00
Sébastien Loriot 43c6fd3635 make the projection optional 2018-05-18 10:59:26 +02:00
Maxime Gimeno 5fc0022d92 make copy_face_graph use NamedParameters 2018-05-17 10:49:58 +02:00
Laurent Rineau 5a5195a4f4
Merge branch 'master' into PMP-stitch_after_orient-GF 2018-05-15 16:11:14 +02:00
Jane Tournois 76fd482cce make collapse_constraints a parameter of collapse_short_edges
instead of a remesher global parameter
2018-05-15 12:52:32 +02:00
Sébastien Loriot e08c1cdc4d add an option to prevent the collapse of constrained edges 2018-05-15 12:21:05 +02:00
Jane Tournois 35125cd9a5 remove todo done by this PR 2018-05-15 11:23:46 +02:00
Jane Tournois fbd982f7d8 document undocumented named parameters
and add extra info about split edges
2018-05-15 11:22:08 +02:00
Sébastien Loriot 73db555c5e unconstrained an edge to be collapsed 2018-05-15 10:30:40 +02:00
Sébastien Loriot ac8fbfd6aa add a condition to make sure the flip does not create a non-manifold edge 2018-05-15 09:48:12 +02:00
Sébastien Loriot 6b601ccf80 update after Jane's review 2018-05-14 09:51:26 +02:00
Maxime Gimeno 9e78cb49c1 Rename Mesh in PolygonMesh for consistency with the rest of the package 2018-05-07 12:51:36 +02:00
Maxime Gimeno cb3b060d53 fix the doc 2018-05-07 12:51:36 +02:00
Maxime Gimeno ca267506f8 Fix doc 2018-05-07 12:51:36 +02:00
Sébastien Loriot b2fa6680d7 typo 2018-05-07 12:51:35 +02:00
Maxime Gimeno 3ca3d11512 Replace the tparam Transformation by any Functor with an operator()(Point_3) and use that operator instead of .transform() in the impl. 2018-05-07 12:51:35 +02:00
Maxime Gimeno 2f7d66e530 Clean-up 2018-05-07 12:50:41 +02:00
Maxime Gimeno 72c31ebfac Add a function in PMP to apply a CGAL::Aff_transformation_3 to a mesh. 2018-05-07 12:50:41 +02:00
Sebastien Loriot 80acabc4b4
Merge pull request #3065 from maxGimeno/PMP-Do_intersect_with_different_vpm-GF
PMP: do_intersect() work with 2 types of VPM
2018-05-07 11:47:29 +02:00
Sebastien Loriot 1d6918ff4f
Merge pull request #2895 from kkatrio/triangulate_faces_fix
Triangulate faces : CDT2 / hole filling
2018-05-07 11:41:58 +02:00
Maxime Gimeno 9327e470c1 Fix doc 2018-05-04 16:11:25 +02:00
Andreas Fabri 2d5c726ac7 Fix PMP 2018-05-04 09:00:08 +02:00
Maxime Gimeno 47635f11fe Take fimap into account and add a test. 2018-05-03 14:55:49 +02:00
Maxime Gimeno 29e909b87b Treat nm edges 2018-05-03 12:49:34 +02:00
Maxime Gimeno 861a6a16c5 Fixes 2018-05-03 12:49:34 +02:00
Maxime Gimeno 4a8375ce85 Optimize 2018-05-03 12:49:34 +02:00
Maxime Gimeno 68de1819cf Move the code to the PMP functio nand document. 2018-05-03 12:49:34 +02:00
Maxime Gimeno 132cf694a0 remove is_valid() from the graph_traits 2018-05-03 12:03:14 +02:00
Maxime Gimeno 6dfa8d0ba3 replace CGAL_is_valid(Mesh) by CGAL::is_valid_polygon_mesh(Mesh) 2018-05-03 12:03:14 +02:00
Sébastien Loriot c3255eee91 document projection functor named parameter 2018-05-01 14:15:27 +02:00
Sébastien Loriot ec4675b451 do not build the aabb_tree and the cc map if not needed 2018-05-01 13:50:49 +02:00
Sébastien Loriot 54b6eb0fbc handle case when there are no constrained edges 2018-05-01 13:50:43 +02:00
Maxime Gimeno 7e2255f797 do_intersect for 2 meshes work with 2 different types of VPM as long as their value_type is the same 2018-04-30 10:39:47 +02:00
Sébastien Loriot ab9d668f52 first solution to correctly re-constrain edges refined 2018-04-29 13:13:58 +02:00
Sébastien Loriot 95d76709e8 isotropic remeshing can now use a user defined projection functor
you can pass it using a named parameter
2018-04-27 16:20:54 +02:00
Mael Rouxel-Labbé a0427ec756 Fixed abusing Triangulation_cell_base_3 for Delaunay triangulations
TriangulationCellBase_3 does not request a circumcenter;
DelaunayTriangulationCellBase_3 does.

Delaunay_triangulation_3 only compiled because
Triangulation_cell_base_3 (and Triangulation_ds_cell_base_3 !)
provided circumcenter() operators and DT3 inherited T3's TDS.

- The circumcenter() functions are removed where they shouldn't exist
- DT3 uses DT_cell_base_3 as cell base instead of T_cell_base_3
- Concepts/Classes that supposedly only required TriangulationCellBase_3
  and then built Delaunay triangulations with that (Alpha Shapes, etc.)
  are upgraded to request DelaunayTriangulationCellBase_3 (anyway, it
  wouldn't compile if you actually provided a model of
  TriangulationCellBase_3)
- Fixed various wrong templates in classes/concepts such as
  MeshVertexBase_3 not refining RegularTriangulationVertexBase_3
  and (only in the doc) defaulting to Triangulation_vertex_base_3
- Removed the deprecated class (for 4+ years) T_cell_base_with_circumcenter
2018-04-26 13:21:53 +02:00
Mael Rouxel-Labbé 17d46e9211 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-04-26 11:55:17 +02:00
Laurent Rineau 92a7449cac Merge pull request #3006 from sloriot/PMP_PSP-fixes_for_release
Pmp psp fixes for release
2018-04-24 17:34:21 +02:00
Andreas Fabri 37e677e989 Fix compilation error with VC2017 and -permissive- It looks like a compiler bug though 2018-04-13 12:01:23 +01:00
Sébastien Loriot 348c0f92fa do not overwrite output iterator, return it directly 2018-04-10 17:32:22 +02:00
Laurent Rineau d057f6d9f1 Merge pull request #2958 from sloriot/PMP-coref_more_coplanar_fixes
Update incorrectly handled coplanar intersection computation
2018-03-28 17:46:24 +02:00
Laurent Rineau 237735ab73 Merge pull request #2946 from afabri/CGAL-dependencies-GF
Move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh
2018-03-27 10:35:23 +02:00
Sébastien Loriot 8553713885 update incorrectly handled coplanar intersection computation
follow up of 6bb6f470c4
2018-03-26 11:20:16 +02:00
Laurent Rineau cd6fe20bd4 Merge branch 'releases/CGAL-4.11-branch' 2018-03-26 11:03:37 +02:00
Laurent Rineau f1b94f0a2b Merge pull request #2919 from sloriot/PMP-orient_handle_isolated_vertices
Handle isolated vertices
2018-03-26 10:56:05 +02:00
Laurent Rineau 1ef766c19b Merge pull request #2932 from kkatrio/null-edge-hole-filling
PMP hole filling: null edge
2018-03-26 10:55:58 +02:00
Laurent Rineau 4b2e2db728 Merge pull request #2945 from sloriot/PMP-remove_si_improvements
Improvement of self-intersection removal using local remeshing
2018-03-26 10:55:51 +02:00
Andreas Fabri 8c41669fb7 move properties from Mesh_3 to BGL, Polyhedron_3 and Surface_mesh 2018-03-22 16:37:37 +01:00
Sébastien Loriot 640e78f92b add an option to allow to change the genus
this is useful if the surface has some small artefact
that is not a topological disk
2018-03-22 11:15:47 +01:00
Sébastien Loriot 885f485ce1 use named parameter instead of default int and bool 2018-03-22 10:50:48 +01:00
Sébastien Loriot 56dca973be add a debug function to dump faces of a cc into an OFF 2018-03-22 10:24:24 +01:00
Sébastien Loriot 6bb6f470c4 update incorrectly handled coplanar intersection computation 2018-03-21 16:51:24 +01:00
Sébastien Loriot dabd127d12 fix typo in the name of an internal function 2018-03-19 15:24:04 +01:00
Sébastien Loriot d2e02c1eee compactify the domain to be remeshed
we additional select faces that are incident to the selection
that are strictly  inside the bounding box of the initial selection
2018-03-19 15:18:27 +01:00
Konstantinos Katrioplas 61735be71c deny triangulation for input of 3 points or less when using all search space 2018-03-16 14:08:43 +01:00
Laurent Rineau 9708c41ad1 Off-topic, Mesh_3: fix a bug in detect_features
The commit cba3b1c20c from the PR #2336
was incomplete: there are two overloads of `sharp_call(..)` and it
fixed only one occurrence.
2018-03-15 15:27:07 +01:00
Mael Rouxel-Labbé 8646350d47 Merge branch 'Periodic_3_mesh_3-Feature-MBogdanov-old' into Periodic_3_mesh_3-Feature-MBogdanov 2018-03-15 14:42:21 +01:00
Sébastien Loriot 613eca7448 do not use Euler::add_face + reuse edges and faces scheduled for removal 2018-03-14 14:07:40 +01:00
Sébastien Loriot 0d8e21f25c avoid recomputing self-intersections if not needed 2018-03-14 10:44:44 +01:00
Sébastien Loriot 5af7b56589 expand the selection only by CC (instead of globally) 2018-03-14 10:22:24 +01:00
Sébastien Loriot c2e849935e handle isolated vertices 2018-03-12 15:25:46 +01:00
Sébastien Loriot e86ca2eec2 add the usage of the CDT as an undocumented option 2018-03-12 10:43:57 +01:00
Sébastien Loriot 8be7c2b2d1 add convenience header 2018-03-12 10:27:38 +01:00
Sébastien Loriot ee07db2b1e protect code using DT3 with the macro disabling its use 2018-03-12 10:24:35 +01:00
Konstantinos Katrioplas 6ef74c39b5 conditional inclusion of cdt2 headers 2018-03-08 17:08:05 +01:00
Konstantinos Katrioplas 8cfa4e7577 correct return types 2018-03-07 10:42:46 +01:00
Sébastien Loriot 07a70919c2 do not expand/reduce all the time + handle nm vertices per cc 2018-03-06 18:37:09 +01:00
Laurent Rineau caca4d67de Merge pull request #2891 from sloriot/PMP-handle_deg_tri_self_inter
Handle degenerate faces in self-intersection tests
2018-03-06 16:23:32 +01:00
Laurent Rineau 81a7e2d737 Merge pull request #2888 from sloriot/PMP-autorefine_bugfixes
Autorefine bugfixes
2018-03-06 16:23:08 +01:00
Sébastien Loriot 7ab6120a0c workaround warning 2018-03-05 17:09:23 +01:00
Andreas Fabri 5d1cd90517 Add two typename 2018-03-05 14:17:26 +00:00
Konstantinos Katrioplas 8ccec9fe98 macro rename 2018-03-05 13:20:50 +01:00
Konstantinos Katrioplas 9224e83c0a clean up 2018-03-05 13:05:37 +01:00