Commit Graph

1867 Commits

Author SHA1 Message Date
Sébastien Loriot d7e7c74782 fix inclusion test 2018-10-09 10:28:44 +02:00
Sébastien Loriot 773413985a handle meshes with several CC for inclusion 2018-10-09 10:28:44 +02:00
Sébastien Loriot 7f65916f54 add the possibility to specify with which models to do the intersection test 2018-10-09 10:28:44 +02:00
Sébastien Loriot af39d7f2d2 delete the tree when removing a mesh 2018-10-09 10:28:44 +02:00
Sébastien Loriot 5f50f5d7e9 add protector and API without deformation
I added a bitset to avoid changing the rounding-mode too often
2018-10-09 10:28:44 +02:00
Sébastien Loriot beaded520d add missing protectors and clean-up 2018-10-09 10:28:43 +02:00
Maxime Gimeno 939e14561f clean-up 2018-10-09 10:28:43 +02:00
Maxime Gimeno 7a3c441489 Fix plugin and WIP make precompute boxes 2018-10-09 10:28:43 +02:00
Maxime Gimeno 2013885eb4 WIP fix plugin 2018-10-09 10:28:43 +02:00
Maxime Gimeno 19f11b861a WIP use box_intersection_d 2018-10-09 10:28:43 +02:00
Sébastien Loriot aff9f5be40 simplify 2018-10-09 10:28:43 +02:00
Sébastien Loriot 7220e43e07 fix condition + clean up 2018-10-09 10:28:43 +02:00
Maxime Gimeno dd78147d3a Add if test for optimisation if SUPPORTS_ROTATION is Tag_true; 2018-10-09 10:28:43 +02:00
Maxime Gimeno 89e3c69db0 Add a Tag to specify a no_rotation case, which calls a faster transform_bbox() function 2018-10-09 10:28:43 +02:00
Sébastien Loriot f77725882b use Interval_nt_advanced with protectors 2018-10-09 10:28:43 +02:00
Maxime Gimeno 3e2d61e29d Move traits in PMP/internal 2018-10-09 10:28:43 +02:00
Maxime Gimeno 9522c02639 Add remove_mesh() 2018-10-09 10:28:43 +02:00
Maxime Gimeno 7da9adfa90 Addadd_mesh() to the class. 2018-10-09 10:28:43 +02:00
Maxime Gimeno d2e58526a7 Use Rigid_mesh_intersection and make it work for n items. 2018-10-09 10:28:43 +02:00
Sébastien Loriot e179770aab add skeleton for collision detection in PMP 2018-10-09 10:28:43 +02:00
Sébastien Loriot bdb4ddeada hide direct usage of bounding boxes behind free functions 2018-10-09 10:28:42 +02:00
Mael Rouxel-Labbé d18e21cfe7 Merge branch 'PMP-Filter_degenerate_polygon_soup_input-GF-old' into PMP-Filter_degenerate_polygon_soup_input-GF 2018-10-08 16:19:26 +02:00
Sébastien Loriot 3dd0aa112d rename macro not following the convention 2018-10-08 10:28:55 +02:00
Sébastien Loriot ea240cfac5 use \PkgXXX instead of \PkgXXXSummary 2018-10-08 10:28:44 +02:00
Sébastien Loriot a2e8a1c68f add the suffix Ref to doxygen link to reference 2018-10-08 10:26:56 +02:00
Laurent Rineau d82cdbcff1 Mesh_3: Allow `Subdomain_index` to be `short`
... That forced me to modify the `Index` of domains with features.
2018-10-05 17:02:38 +02:00
Mael Rouxel-Labbé 1676cd7405 Merge branch 'repair_functions-old' into repair_functions 2018-09-17 15:10:39 +02:00
Sébastien Loriot 7017a26d35 update conditions 2018-09-06 16:50:43 +02:00
Sébastien Loriot e4ad5d96a7 start adding support for open meshes 2018-09-06 16:50:43 +02:00
Sébastien Loriot 6a885796bc do not test the whole mesh, only the current face 2018-09-06 16:50:43 +02:00
Mael Rouxel-Labbé 8cb8102cfc Fixed not incrementing index 2018-09-03 16:35:02 +02:00
Mael Rouxel-Labbé 72422ca498 Replaced ::max() (to avoid issues with NTs that do not have a max value) 2018-08-28 12:05:30 +02:00
Sébastien Loriot 458d2cc6cf be more permissive for collapsing constrained edges
the only non-collapsable constrained edges are those with
both endpoints being explicitly constrained vertices or
corners
2018-08-20 17:24:28 +02:00
Sébastien Loriot 19c99923b2 fix typo that was preventing from building the doc 2018-08-17 17:09:20 +02:00
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