Commit Graph

1418 Commits

Author SHA1 Message Date
Laurent Rineau 0d5ddad5c3 Merge pull request #1534 from lrineau/CGAL-Allow_examples_to_use_cpp11_features-lrineau
Allow examples to use C++>=11 features
2016-10-17 10:03:05 +02:00
Laurent Rineau 038a310a1a Merge pull request #1446 from sloriot/CGAL-remove_dont_submit
Getting rid of the remaining dont_submit files
2016-10-17 10:01:30 +02:00
Laurent Rineau 907a2766a7 Merge pull request #1516 from sloriot/PMP-remove_doc_table
Remove the requirement table
2016-10-13 10:20:28 +02:00
Andreas Fabri 423242be31 dihedral_angle() -> approximate_dihedral_angle() 2016-10-11 15:35:20 +02:00
Sébastien Loriot f2882073bb remove examples using a non documented function
these examples will be restored later
2016-10-06 09:47:37 +02:00
Laurent Rineau 223c1cf5a4 Merge pull request #1530 from lrineau/Installation-compute_dependencies-GF
Compute and fix packages dependencies
2016-10-05 13:11:04 +02:00
Laurent Rineau a2f14458f9 Merge pull request #1505 from sloriot/PMP-fix_empty_range_remeshing_bug
Fix a bug in isotropic remeshing when the range is empty
2016-10-05 13:02:27 +02:00
Laurent Rineau 9a0bb54922 Merge pull request #1438 from sloriot/CGAL-clean_up_projects_name_cmake
Clean up projects name in cmake scripts
2016-10-05 13:02:25 +02:00
Andreas Fabri 59c8c8ab30 dihedral_angle is now in CGAL:: 2016-10-03 08:53:28 +02:00
Laurent Rineau 50d753350e Allow examples to use C++>=11 features
The macro `create_single_source_cgal_program` from
`CGAL_CreateSingleSourceCGALProgram` has been modified accordingly.

(cherry picked from commit 571659aaa32a30d7bfc0ce54a9d29c56079dca06)
2016-09-30 18:42:46 +02:00
Sébastien Loriot f27bb9168c use latest way to get the vertex point map 2016-09-30 16:00:41 +02:00
Sébastien Loriot 6713621ae3 Update branch with master 2016-09-30 15:43:06 +02:00
Laurent Rineau 6eb6c57401 sync with master 2016-09-30 15:24:02 +02:00
Andreas Fabri c58582b5ec Add global function dihedral_angle() 2016-09-30 15:23:15 +02:00
Andreas Fabri cb4931f1e4 Fix package Polygon_mesh_processing: include headers 2016-09-30 15:23:14 +02:00
Sébastien Loriot d95b3fb00e remove_isolated_vertices was no longer documented due to a missing \endcond 2016-09-30 10:11:01 +02:00
Sébastien Loriot 357f261231 rename functions computing simplex bbox to bbox_3
overloads are possible thanks to a specialization of graph_traits
for named parameter being empty.
That way, the compiler do not try to instantiate the one from boost,
which was looking for vertex_descriptor and edge_descriptor in the
name parameters.
2016-09-30 10:04:12 +02:00
Sébastien Loriot 2398d2612a remove TODOs 2016-09-29 17:19:44 +02:00
Sébastien Loriot 896ae54bdd update the text for named parameters 2016-09-29 17:11:46 +02:00
Sébastien Loriot efa9b9bac4 rename boolean operation functions
The change of names comes from the fact the the constness of input meshes
cannot be guaranteed without having different type of input and output
meshes
2016-09-29 15:25:43 +02:00
Sébastien Loriot 69d790acbe use Construct_bbox_3 from a geom_traits to compute the bbox 2016-09-29 14:58:21 +02:00
Sébastien Loriot 93c7bf1387 reorder items 2016-09-29 14:34:38 +02:00
Sébastien Loriot ce13630917 rename overload as there are some ambiguities that cannot be overcame 2016-09-29 14:09:50 +02:00
Sébastien Loriot 5143325085 add function to get the bounding box of a vertex, an edge, or a face 2016-09-29 14:09:46 +02:00
Sébastien Loriot a4ecdef02b use PMP function 2016-09-29 12:24:52 +02:00
Sébastien Loriot faec57bd69 remove the requirement table 2016-09-29 12:10:58 +02:00
Sébastien Loriot 35c2d8dc52 mark intersection edges in output models (in-place cases) using output pmap 2016-09-29 10:40:43 +02:00
Sébastien Loriot d9e91e4fa4 set null_face as face of newly created edges
depending of the type of input, it might be reusing some old
attributes (like Surface_mesh for example)
2016-09-29 10:21:05 +02:00
Sébastien Loriot 8a000baa12 rename functions to disambiguate the call to put/get free functions 2016-09-29 10:20:21 +02:00
Sébastien Loriot 29557c6693 add a comment in an example 2016-09-29 10:19:09 +02:00
Sébastien Loriot 3abb3efd67 fix a typo leading to a bug 2016-09-29 10:18:35 +02:00
Laurent Rineau a3b065175b Merge pull request #1332 from janetournois/PMP-about_internal_pmaps-jtournois
BGL : detect internal property maps, and use it in PMP isotropic remeshing
2016-09-28 18:01:13 +02:00
Laurent Rineau b085f1e7a0 Merge pull request #1442 from sloriot/Polyhedron_demo-add_remove_self_intersections
Add an action to remove self-intersections in a mesh
2016-09-28 18:00:41 +02:00
Sébastien Loriot 46b0abbb3b do nothing if the face range is empty 2016-09-28 13:56:22 +02:00
Sébastien Loriot 5de5315ef5 vertex point map must be default constructible 2016-09-27 17:32:12 +02:00
Sébastien Loriot 6488a8a172 fix warnings 2016-09-27 17:31:38 +02:00
Sébastien Loriot 37f760383d fix template paramaters 2016-09-27 17:30:54 +02:00
Sébastien Loriot 4316b82952 fix warning 2016-09-27 17:28:44 +02:00
Sébastien Loriot 2eb6e14db4 fix typos 2016-09-27 17:27:50 +02:00
Sébastien Loriot de9580e17d add missing include and fix warnings 2016-09-27 17:27:03 +02:00
Sébastien Loriot 90b518113d add a function to generate a default named parameters from an existing one
this is more a syntactic sugar to make clear in the code that something
is not meant to be used
2016-09-27 17:19:00 +02:00
Sébastien Loriot 3b573238b3 copy-paste error 2016-09-27 11:01:55 +02:00
Sébastien Loriot e63b67a9ad Get the default kernel from the property map given instead of the default one 2016-09-27 10:55:48 +02:00
Sébastien Loriot 5b085fbb74 update comment 2016-09-26 10:19:40 +02:00
Sébastien Loriot 27b011789c avoid a warning in release mode 2016-09-26 09:19:49 +02:00
Laurent Rineau 119763e168 Merge pull request #1474 from janetournois/PMP-isotropic_remeshing_fix_doc-jtournois
(From a merge of branch 'cgal/releases/CGAL-4.9-branch')
2016-09-23 17:02:56 +02:00
Laurent Rineau 45d87bb333 Merge pull request #1439 from janetournois/PMP-remove_useless_includes-GF
PMP : remove useless includes
2016-09-23 16:51:12 +02:00
Jane Tournois a646158eb0 update doc 2016-09-22 12:10:06 +02:00
Jane Tournois 23d5411e60 remove more useless choose_const_pmap 2016-09-22 12:10:06 +02:00
Jane Tournois 97a534fd8b don't attemp to get the vertex_point map of PMesh when it does not exist 2016-09-22 12:10:06 +02:00
Jane Tournois 064a3510b2 remove useless using boost::choose_pmap and boost::choose_const_pmap 2016-09-22 12:10:06 +02:00
Jane Tournois ef85908fe1 use get_property_map and get_const_property_map everywhere in PMP 2016-09-22 12:10:06 +02:00
Jane Tournois 76e6333a18 fix the use of const_type 2016-09-22 12:10:06 +02:00
Jane Tournois fc58055ec3 use get_const_property_map 2016-09-22 12:10:06 +02:00
Jane Tournois 1aac56ca61 add const_type, and get_const_pmap 2016-09-22 12:10:06 +02:00
Jane Tournois c234af207e fix unused parameter warning 2016-09-22 12:10:06 +02:00
Jane Tournois 756eac95d3 fix compilation error 2016-09-22 12:10:06 +02:00
Jane Tournois 6d9e974bab add documentation 2016-09-22 12:10:06 +02:00
Jane Tournois 047be1346c add the use of face_index_map wherever it's needed
remeshing_test now crashes, don't know why yet
2016-09-22 12:05:51 +02:00
Jane Tournois d50cbf4930 use get_property_map for face_index_map
in isotropic_remeshing and border_halfedges
2016-09-22 12:05:51 +02:00
Jane Tournois 7e1fab420a add get_property_map to get either the internal pmap or cgal_no_property 2016-09-22 12:05:51 +02:00
Jane Tournois d03077abda iterator type of FaceRange should be multi-pass, so ForwardIterator 2016-09-20 15:03:13 +02:00
Sébastien Loriot 6aec9dbc8c fix typo 2016-09-20 09:17:10 +02:00
Laurent Rineau e2d04e54e0 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch'
> 3176b37 Merge pull request #1452 from mglisse/Number_types-Eigen_Literal-glisse
> 1705702 Merge pull request #1417 from afabri/Polyline_simplification-Bugfix_choose_correct_Itag-GF
> 3bef239 Merge pull request #1462 from sloriot/PMP-add_missing_include
2016-09-15 17:25:20 +02:00
Laurent Rineau c130d2b2f2 Merge pull request #1373 from janetournois/PMP-fix_test_epec-GF
PMP isotropic remeshing does not support exact constructions
2016-09-15 17:19:56 +02:00
Sebastien Loriot 343fb726fa Add missing include directive 2016-09-15 15:52:47 +02:00
Jane Tournois 785f51a961 add note on how to reproduce the bug
to be used when `remove_degenerate_faces` will be fixed
2016-09-15 14:51:45 +02:00
Jane Tournois 361b81e845 remove_degenerate_faces is not documented, we should not test it 2016-09-15 14:43:31 +02:00
Jane Tournois bffb1f63f7 document that exact constructions are not supported
and write a proposal about how to support exact constructions
2016-09-13 11:05:55 +02:00
Jane Tournois 25d3d2b8f6 do not test isotropic_remeshing with Epec 2016-09-13 10:29:02 +02:00
Jane Tournois e0bce515cf add a macro to be less verbose 2016-09-12 17:16:30 +02:00
Jane Tournois d4ab14197a fix typo 2016-09-12 17:16:30 +02:00
Sébastien Loriot b7db87ab40 add a plugin to remove self-intersection in a mesh 2016-09-08 15:01:44 +02:00
Jane Tournois 4f2adeaff0 remove useless includes 2016-09-08 14:07:15 +02:00
Sébastien Loriot 7e2ee496de update project name of cmake scripts of tests 2016-09-08 00:26:37 +02:00
Sébastien Loriot 6b338eeb1f improve the name of projects in cmake scripts of examples 2016-09-08 00:02:55 +02:00
Sébastien Loriot 5300028a57 first version of boolean operations with FaceGraph models using corefinement 2016-09-02 15:59:38 +02:00
Jane Tournois 0baa89452d add info about self-intersections 2016-08-10 09:45:40 +02:00
Sébastien Loriot b47199f009 make all corefinement examples compiling 2016-07-06 11:45:23 +02:00
Sébastien Loriot 9edbdad3b9 add prototype for PMP::boolean_operation
add overloads for  PMP::join, PMP::intersection and PMP::difference
and complete the implementaiton with a call to PMP::boolean_operation
2016-07-06 11:43:16 +02:00
Sébastien Loriot 918fcf850b fix indentation issue 2016-07-05 15:01:40 +02:00
Sébastien Loriot dbf0f2de3d plug is-constrained edge maps 2016-07-05 14:54:32 +02:00
Sébastien Loriot 208526cc4e update comments 2016-07-05 13:46:04 +02:00
Sébastien Loriot f531269fab remove todo and document throw_on_self_intersection 2016-07-05 13:28:56 +02:00
Sébastien Loriot dbbb723a82 document surface_intersection and plug named-parameter mechanism 2016-07-05 12:00:04 +02:00
Sébastien Loriot c3cd3b26f8 remove an unneeded parameter 2016-07-05 11:57:51 +02:00
Sébastien Loriot 604645dfd7 remove doc todos done 2016-07-05 10:12:59 +02:00
Sébastien Loriot 8781dd6942 Add an output builder parameter to the corefinement visitor 2016-07-04 16:29:02 +02:00
Sébastien Loriot 7a0ff9d28e First implementation of the corefinement of 2 triangle meshes
implementation uses a visitor for the function computing the intersection
of 2 triangle meshes.
2016-07-04 16:28:52 +02:00
Sébastien Loriot c477ce88ff improve doc 2016-06-24 16:58:57 +02:00
Sébastien Loriot 58044ab929 document PMP::parameters::all_default() 2016-06-24 16:58:51 +02:00
Sébastien Loriot 0dcde837ee do not use */ in a comment section of \code env 2016-06-24 16:58:42 +02:00
Sébastien Loriot 84311eab64 update doc after the review of @janetournois 2016-06-24 16:58:34 +02:00
Sébastien Loriot 8931409a28 dump polylines into a file 2016-06-24 16:58:26 +02:00
Sébastien Loriot e78118bdfd add a test running surface_intersection with both surface_mesh and polyhedron 2016-06-24 16:58:21 +02:00
Sébastien Loriot 27badf0b43 Add a version of the code to compute intersection of TriangleMesh
The code is a copy the one in Operation_on_polyhedra that was
only working with Polyhedron_3.
For the moment only default parameters are used. NamedParameters
will be introduced later.
2016-06-24 16:58:12 +02:00
Sébastien Loriot 2d4153fc3d update Polyhedra_corefinement-enhancements-sloriot from master 2016-06-24 14:54:33 +02:00
Sebastien Loriot e819e65f96 Merge pull request #1187 from maxGimeno/Fix_deformation-GF
Polyhedron_demo: Enhance deformation
2016-06-22 13:18:31 +02:00
Sébastien Loriot 79ad1b2dc6 Merge pull request #1141 from janetournois/PMP-isotropic_remeshing_smoothing_options-jtournois
PMP isotropic_remeshing : smoothing options
2016-06-22 11:46:05 +02:00
Jane Tournois 85744d3c63 the validity of the vertex_is_constrained_map should be fixed
the problem was that we can't control which of va and vb will be vkept
when collape_edge is called
now it's clear wrt the constrained map
2016-06-21 11:19:41 +02:00
Jane Tournois be65dac810 don't use double but FT 2016-06-14 14:22:18 +02:00
Jane Tournois 375b323638 rename all "test" functions to "test_something" to avoid ambiguity with boost 2016-06-14 14:17:45 +02:00
Jane Tournois d03be65935 rename test function
it makes a conflict with ‘template<class U, U x> struct boost::detail::test’
2016-06-14 14:17:44 +02:00
Jane Tournois 6f46122f52 attempt to fix ambiguity warning 2016-06-14 14:17:42 +02:00
Jane Tournois 1e2e1f1dd2 rename dummy_named_params to named_params_base 2016-06-14 14:17:41 +02:00
Jane Tournois 5b41ca088b avoid stack overflow in Epeck due to += 2016-06-14 14:17:40 +02:00
Jane Tournois 5446dcbf6b measures don't support Epeck yet. Comment the tests 2016-06-14 14:17:38 +02:00
Jane Tournois f1475f58dd add return value 2016-06-14 14:17:37 +02:00
Jane Tournois 1df4e1462c don't use "test" function name
it seems to cause problems to the CentOS platform
2016-06-14 14:17:36 +02:00
Jane Tournois 3e620a07be WIP replace double by FT
the measures_test does not compile with this commit
2016-06-14 14:17:34 +02:00
Sébastien Loriot b6d162684b fix return value checking 2016-06-14 14:17:33 +02:00
Sébastien Loriot 27d983255d remove unused typedef instruction 2016-06-14 14:17:32 +02:00
Sébastien Loriot 8b10e64260 add missing typename and template keywords 2016-06-14 14:17:31 +02:00
Sébastien Loriot 6d42b1873b remove useless typedef instructions 2016-06-14 14:17:29 +02:00
Sébastien Loriot 5af65c983d remove useless default template argument 2016-06-14 14:17:28 +02:00
Sébastien Loriot c85c4e01ad remove useless comment and fix indentation 2016-06-14 14:17:27 +02:00
Andreas Fabri 702149cd93 Also test EPEC in the testsuite 2016-06-14 14:17:26 +02:00
Andreas Fabri 73fb767025 Change the @warning to what Laurent suggested 2016-06-14 14:17:24 +02:00
Jane Tournois 7b5ca9ed7f triangle_normal should return the normal with norm = area(triangle) 2016-06-14 14:17:20 +02:00
Jane Tournois d8f3da483b use kernel functors 2016-06-14 14:17:19 +02:00
Jane Tournois 630a8f4014 use kernel functors 2016-06-14 14:17:17 +02:00
Jane Tournois 6b284a8e0a update code from master after rebase, and use CGAL functors 2016-06-14 14:17:16 +02:00
Jane Tournois 0af657207b fix compilation and the use of Construct_sum_of_vectors_3 2016-06-14 14:17:15 +02:00
Jane Tournois f940302044 document that fairing is not exact 2016-06-14 14:17:12 +02:00
Jane Tournois 109b9fdfe7 use CGAL::approximate_sqrt(x) to replace CGAL::sqrt(to_double(x)) 2016-06-14 14:17:11 +02:00
Jane Tournois 4556530682 make a better use of geom_traits in compute_face_normal 2016-06-14 14:17:07 +02:00
Jane Tournois 211426e3fe fix compilation (extra */ added in comments) 2016-06-14 14:17:06 +02:00
Andreas Fabri ae1f695208 Document where sqrt is done approximately 2016-06-14 14:17:04 +02:00
Andreas Fabri 2c54acb056 Use to_double to make it work with Epec 2016-06-14 14:17:03 +02:00
Sebastien Loriot aeab78c74b Merge pull request #1143 from janetournois/PMP-isotropic_remeshing_speedup-jtournois
PMP isotropic_remeshing speedup. Don't use the MESH Halfedge_status
2016-06-09 16:21:09 +02:00
Sebastien Loriot 1ebaebc6aa Merge pull request #1101 from maxGimeno/Enhance_triangulate_facets-GF
Robustify triangulate facets
2016-06-08 09:50:48 +02:00
Jane Tournois 4e964ab64d don't use the MESH status
We now consider that MESH halfedges are the ones that are not in the patch,
i.e. not in the status map

halfedges with the MESH status are not used, apart from close to
PATCH_BOUNDARY edges.

this speeds up the isotropic remeshing algorithm, in particular when only
a small patch is remeshed
2016-06-07 16:18:42 +02:00
Sébastien Loriot 99ffa8655d add an overload to does_self_intersect taking a face range as input 2016-06-07 14:30:39 +02:00
Jane Tournois 0811c2fb2c document named parameters for smoothing 2016-06-07 14:06:09 +02:00
Jane Tournois ccbdeb1419 doc : reorder named parameters 2016-06-07 12:42:16 +02:00
Jane Tournois 7fde6edb32 rename relaxation named parameters 2016-06-07 12:38:27 +02:00
Jane Tournois 5ab581dc1e be more verbose 2016-06-06 17:13:50 +02:00
Jane Tournois 4112b0295f add a named parameter to be able to run more than one laplacian iteration
at each isotropic_remeshing iteration
2016-06-06 13:58:54 +02:00
Maxime Gimeno 1741739449 Fixes the choice of the diagonal for a quad. 2016-05-26 16:50:49 +02:00
Sébastien Loriot 5f0a9dcbf3 Merge remote-tracking branch 'cgal/releases/CGAL-4.8-branch' 2016-05-24 16:54:58 +02:00
Jane Tournois e4336fcc09 ref manual 2016-05-24 16:33:47 +02:00
Jane Tournois 4b2606fa35 doc user manual 2016-05-24 16:24:00 +02:00
Jane Tournois b6fb053534 user manual : definitions 2016-05-24 15:33:56 +02:00
Maxime Gimeno 817155d7f0 Update doc 2016-05-24 08:40:14 +02:00
Jane Tournois acc7e16626 add more collapsibility tests 2016-05-23 17:09:19 +02:00
Maxime Gimeno 400f44c2a3 Make triangulate_faces() a boolean. 2016-05-23 16:36:07 +02:00
Maxime Gimeno 0a5bea6dba Use split_face if the facet is a quad. 2016-05-23 16:30:19 +02:00
Maxime Gimeno b63dae993a Make triangulate_face() a boolean 2016-05-23 15:36:14 +02:00
Jane Tournois ca3883b837 it is necessary to check that e is still collapsible
when it is poped out from the priority queue. Its situation may have changed
because of the changes that have been made in its neighborhood

+ checking that is_on_patch_border(next_on_patch_border(next(he, mesh_))
is useless, because next_on_patch_border is on patch border by definition

reorganize the collapsibility check
2016-05-23 12:17:48 +02:00
Sébastien Loriot 2860e1fc51 add examples for corefinement 2016-05-20 17:51:06 +02:00
Sébastien Loriot 1ffe2fd013 add figures in the doc for corefinement 2016-05-20 14:39:11 +02:00
Jane Tournois f2fe1a69d0 fix assertion code 2016-05-20 12:24:28 +02:00
Jane Tournois aef3c6cc62 fix include 2016-05-20 12:23:42 +02:00
Sébastien Loriot 36d0257dff first version of the corefinement doc 2016-05-19 15:08:31 +02:00
Jane Tournois 355c698185 avoid creating self intersections close to boundaries
the collapse step was still creating self-intersections
when it happened in a particular configuration close to boundary

# Conflicts:
#	Polygon_mesh_processing/include/CGAL/Polygon_mesh_processing/internal/Isotropic_remeshing/remesh_impl.h
2016-05-19 13:16:37 +02:00
Sébastien Loriot a1a6e0bb0f remove todos and add missing entry 2016-05-17 17:05:46 +02:00
Sébastien Loriot cfe8876f38 doc typo 2016-05-17 16:55:42 +02:00
Sébastien Loriot d892ef1a89 Merge pull request #1030 from janetournois/PMP-remeshing_with_patch_ids-jtournois
PMP : new features for isotropic_remeshing
2016-05-09 09:43:08 +02:00
Sebastien Loriot 7630d2a6fc Merge pull request #875 from sloriot/Triangulation_2_and_PMP-fix_Triangulation_2_projection_traits_3
PMP: make triangulate_faces works with non filtered kernels
2016-05-05 14:55:11 +02:00
Sebastien Loriot cba2fd46ca Merge pull request #1052 from janetournois/PMP-isotropic_remeshing_non_manifold_bug-jtournois
PMP : fix for isotropic_remeshing
2016-05-04 15:03:57 +02:00
Sébastien Loriot 3c8871f8a9 Merge pull request #739 from bo0ts/Pmp-poly_soup_poly_mesh-pmoeller
Add PMP function is_polygon_soup_a_polygon_mesh
2016-05-04 15:01:25 +02:00
Sébastien Loriot e65ca4aa86 add a function to reverse the orientation of the faces of a mesh with polylines 2016-05-03 18:25:23 +02:00
Sébastien Loriot 1e828e1c04 add missing include directive 2016-05-02 16:00:55 +02:00
Jane Tournois 32cbaf914b edges incident to boundary cannot always be flipped 2016-04-29 17:37:17 +02:00
Jane Tournois dab8b7e312 Merge branch 'PMP-remeshing_with_patch_ids-jtournois' of github.com:janetournois/cgal into PMP-remeshing_with_patch_ids-jtournois 2016-04-29 17:24:50 +02:00
Jane Tournois dbedd1358d edges incident to boundary cannot always be flipped 2016-04-29 17:14:02 +02:00
Sébastien Loriot 09e076922c remove compilation error and a conversion warning 2016-04-29 16:53:53 +02:00
Jane Tournois eb13dffd53 fix typo! 2016-04-29 16:30:19 +02:00
Sébastien Loriot cc7d686d16 remove unused typedefs 2016-04-29 14:01:52 +02:00
Jane Tournois eb1747b28b boost::size has compilation issues in boost 1.53 (see testsuite 4.9-Ic-29)
and FaceRange is model of Range, so .size() is available
2016-04-25 11:02:06 +02:00
Laurent Rineau 64ea03f9ec Fix a compilation error
`boost::size` does not exist unless `<boost/range/size.hpp>` is
included, at least on my machine.
2016-04-22 17:30:55 +02:00
Jane Tournois 99b7cb8216 check the face_index map to be checked actually is the internal map 2016-04-22 17:15:01 +02:00
Jane Tournois ccf66afe26 check face_index map is initialized
this is a minimal check, that checks that the 2 first faces of the range
do not share the same index
This test is not complete and the complete check should test that no 2 vertices
share the same index, but that's too costly to be worth it here
2016-04-22 16:25:17 +02:00
Jane Tournois 638b0ba9ab document that if face_index map exists internally, it should be initialized 2016-04-22 15:31:12 +02:00
Jane Tournois 7749a3402b Polygon should also be RandomAccessContainer 2016-04-22 15:04:10 +02:00
Jane Tournois 1c614bb0dc replace std::vector<Point> and std::vector<Polygon> with appropriate range concepts 2016-04-22 12:43:47 +02:00
Jane Tournois 9cf539c8a9 change requirement of PolygonRange
operator[], size(), begin() and end() are all available in RandomAccessContainer
2016-04-22 12:26:03 +02:00
Jane Tournois 5b56f2a6a8 fix doc 2016-04-22 11:18:50 +02:00
Jane Tournois b27447d2c0 fix badly resolved rebase conflict 2016-04-22 11:05:36 +02:00
Jane Tournois bfe4d815a2 document face_patch_map 2016-04-22 09:53:20 +02:00
Jane Tournois 21a869491b document face_patch_map 2016-04-21 16:00:40 +02:00
Jane Tournois 2b3b07a2f9 add mising timer start 2016-04-21 15:32:13 +02:00
Jane Tournois a829161ca1 avoid computing connected_components when it's not needed 2016-04-21 15:32:12 +02:00
Jane Tournois e7c9bab5ae avoid constructing the Border_constraint_pmap when it's not needed
i.e. when it's given in the named parameters
2016-04-21 15:32:11 +02:00
Jane Tournois 768c7439f7 make dealing with patch ids safer 2016-04-21 15:31:01 +02:00
Jane Tournois 1f0a11191d do not project back constrained vertices 2016-04-21 15:30:59 +02:00
Jane Tournois 2fb5fa4a26 ecmap_ will be updated at the end of the remeshing process
this "put" is useless
2016-04-21 15:29:56 +02:00
Jane Tournois f777c53b61 add stuff to verbose mode 2016-04-21 15:29:53 +02:00
Jane Tournois ba91119696 make sure an edge between two patches is considered a constraint 2016-04-21 15:28:33 +02:00
Sébastien Loriot ded29c7304 correct definition of Self 2016-04-21 15:26:55 +02:00
Jane Tournois 296bcdb04b back to previous version of Patch_id_property_map 2016-04-21 15:26:53 +02:00
Jane Tournois badfb8f2b8 remove default values. Values are given by every call to this constructor 2016-04-21 15:26:51 +02:00
Sébastien Loriot cfe32713d7 add default constructor for pmap 2016-04-21 15:26:50 +02:00
Jane Tournois 5f5397a5d3 parameters pmesh and ecmap can't be used here 2016-04-21 15:25:29 +02:00
Jane Tournois f0bb4febb5 improve remeshing test and get() in pmap 2016-04-21 15:25:28 +02:00
Jane Tournois ee89276102 isotropic remeshing : introduce surface_patch ids as an input read write pmap 2016-04-21 15:23:20 +02:00
Jane Tournois c0f30e18a8 add constrained vertices to isotropic remeshing
those vertices cannot be modified
2016-04-21 15:21:29 +02:00
Jane Tournois 253d4f28a6 update the constraints property map after the end of remeshing 2016-04-21 15:10:02 +02:00
Jane Tournois 1a33081f79 transform EdgeIsConstrainedMap into a member variable 2016-04-21 15:00:46 +02:00
Sébastien Loriot 17edea6299 avoid copying the polygon vector
some functions of Polygon_soup_orienter have been made static
and the function duplicate_singular_vertices was partially
duplicated (no other choice to have the polygon container const)
2016-04-19 20:06:13 +02:00
Sébastien Loriot 592c2bf454 remove the need to set the points 2016-04-19 19:25:29 +02:00
Jane Tournois 269efaa60b improve doc 2016-04-19 11:58:24 +02:00
Jane Tournois 7e3a94d341 add is_polygon_soup_a_polygon_mesh 2016-04-19 11:50:16 +02:00
Jane Tournois 8708376798 check that there is no polygon with twice the same vertex 2016-04-19 11:06:01 +02:00
Jane Tournois 068d93798a edge_map should be filled to be able to circulate around vertices 2016-04-19 10:51:03 +02:00
Jane Tournois df3b9a84c0 fix polygon_soup_to_polygon_mesh test 2016-04-18 18:04:20 +02:00
Jane Tournois 8a87c34f1b use orienter to test manifold-ness 2016-04-18 18:03:24 +02:00
Jane Tournois fb8ac5a9e6 add a parameter to duplicate_singular_vertices to avoid duplicating when required 2016-04-18 18:02:27 +02:00
Philipp Möller b0fb4999f0 Add changes required by review 2016-04-18 12:08:48 +02:00
Philipp Möller ec25aab2d2 Replace vector<vector<size_t>> by a nested range 2016-04-18 12:08:47 +02:00
Philipp Möller f1158a2dfe Explain missing range of points 2016-04-18 12:08:45 +02:00
Philipp Möller 74edea7fa2 Use is_polygon_soup_a_polygon_mesh as pre 2016-04-18 12:08:44 +02:00
Philipp Möller 537dab9191 Improve the testcase 2016-04-18 12:08:43 +02:00
Philipp Möller 3c59875bb4 Add a testcase for is_polygon_soup_a_polygon_mesh 2016-04-18 12:08:42 +02:00
Philipp Möller 01190b1027 Fix doc typo 2016-04-18 12:08:41 +02:00
Philipp Möller a10822881d Update changes.html
and remove the TODO
2016-04-18 12:08:39 +02:00
Philipp Möller a9a651d5c5 Enable doc 2016-04-18 12:04:57 +02:00
Laurent Rineau 3bd9e6d557 Merge pull request #995 from janetournois/PMP-fix_compute_normals-jtournois
(Merged from remote-tracking branch 'cgal/releases/CGAL-4.8-branch')
2016-04-14 15:14:45 +02:00
Jane Tournois c7c8c86a9e remove unused variable 2016-04-12 18:17:05 +02:00
Jane Tournois f85d783613 improve computation of a face normal for non-triangular faces
triangulating the face naively around v is much simpler and more accurate than
iterating on prev/curr/next vertices inside the face
2016-04-11 12:15:59 +02:00
Sébastien Loriot f8bbee52b7 Merge branch 'Polyhedra_corefinement-enhancements-sloriot' into HEAD 2016-04-04 12:09:24 +02:00
Laurent Rineau 6164c91227 Merge changes to PMP from branch 'releases/CGAL-4.8-branch'
Merges:
> 621e16ed Merge pull request #973 from janetournois/Polyhedron_demo-fix_isotropic_remeshing_plugin-jtournois
> 4d1ac46 Merge pull request #974 from janetournois/PMP-complete_remeshing_test-jtournois
2016-04-04 11:22:09 +02:00
Jane Tournois 36c3a7a758 remove unused variable 2016-04-01 10:02:21 +02:00
Jane Tournois f6e312fc86 deal with the degenerate face case, and avoid division by 0
the only way to catch it would be to check that the result is not NaN,
probably not a good idea, in particular for vertex normals

and
Revert "deal with the case where one face incident to v is degenerate"

This reverts commit 52105868b31a2685795e92d9caf4bfe251bcf75c.
2016-03-31 12:26:39 +02:00
Jane Tournois 650cb1d752 change the way we deal with degenerate faces
some may remain and we don't know how to remove them yet
2016-03-31 12:26:19 +02:00
Jane Tournois caa0aaeeb0 fix test for projection
a vertex is reprojected if it is on PATCH, and if it is not constrained
(and this test is the filter to "continue" the loop)
2016-03-31 12:26:01 +02:00
Jane Tournois 1e0b28601a make the flipping step more verbose (see progress) 2016-03-31 12:25:42 +02:00
Jane Tournois e3e03f06f4 deal with the case where one face incident to v is degenerate 2016-03-31 12:25:22 +02:00
Jane Tournois fd7b4cd6e1 improve remeshing_test 2016-03-31 12:25:01 +02:00
Laurent Rineau ae33af9222 Merge branch 'releases/CGAL-4.8-branch'
Merges the following fixes:
> 4025913 Merge pull request #949 from janetournois/BGL-fix_conversion_of_boundary_halfedges-jtournois
> 9c62628 Merge pull request #948 from janetournois/PMP-fix_assertion_isotropic_remeshing-jtournois
> f61402d Merge pull request #929 from sloriot/Polyhedron_demo-Isotropic_remeshing_preserve_duplicates

See also:

* https://github.com/CGAL/cgal/pull/949
* https://github.com/CGAL/cgal/pull/948
* https://github.com/CGAL/cgal/pull/929
2016-03-31 10:55:12 +02:00
Jane Tournois cc28746e18 fix the case where both faces incident to h are degenerate before the flip
and none of them is degenerate after the flip
2016-03-25 10:39:01 +01:00
Laurent Rineau ad73334a0f Merge pull request #821 from afabri/CGAL_property_map-GF
Include consistently <CGAL/property_map.h>
2016-03-24 11:29:09 +01:00
Laurent Rineau 89fe7c62b2 Merge pull request #762 from sloriot/BGL-unif_names
Unify names of parameters model of CGAL BGL concepts
2016-03-24 11:20:38 +01:00
Andreas Fabri 973f25f889 typo in doc 2016-03-22 19:23:38 +01:00
Sébastien Loriot b0d43337de wrap the set in a shared_ptr because a property map should be lightweight 2016-03-17 13:09:39 +01:00
Sébastien Loriot 7680c6f168 use a set instead of a map to avoid keeping handles to removed elements
moreover the map becomes sensitive to the input
2016-03-17 12:58:02 +01:00
Sébastien Loriot 45406a5296 Merge pull request #788 from bo0ts/Installation-split_config-pmoeller
Split CGALConfig.cmake and CGALExports.cmake
2016-03-06 15:36:55 +01:00
Sebastien Loriot ef3721a581 Merge pull request #881 from janetournois/PMP-isotropic_remeshing_reduce_aabbtree-jtournois
PMP isotropic remeshing : reduce the internal aabb_tree to the input face_range
2016-03-04 13:28:11 +01:00
Sebastien Loriot 717ec22664 Merge pull request #874 from janetournois/PMP-isotropic_remeshing_improvements-jtournois
PMP::isotropic_remeshing() - improve management of constraints
2016-03-03 17:00:34 +01:00
Sebastien Loriot 5870f1361a Merge pull request #872 from afabri/PMP-namespace_PMP-GF
The namespace forwarding goes in the user code, not in a CGAL header
2016-03-03 17:00:08 +01:00
Jane Tournois 733e84abbf the input triangles are only composed of the face_range to remesh
this reduces the size of the aabb_tree for projection
and fixes the fact that the face range only should be triangulated, not the
entire polygon mesh
2016-03-03 12:26:14 +01:00
Jane Tournois ce42c3062f halfedge and face descriptors should be hashable 2016-03-03 11:59:55 +01:00
Sébastien Loriot d7e9261d58 hide the filtered projection traits behind the projection traits
the selection of the base class is done using Kernel::Has_filtered_predicates
2016-03-02 21:57:54 +01:00
Sébastien Loriot a2935493e1 add missing using namespace 2016-03-02 20:12:16 +01:00
Sébastien Loriot c3854cb656 fix warnings 2016-03-02 20:10:39 +01:00
Sébastien Loriot fbe36bc8c0 add missing typename 2016-03-02 20:05:05 +01:00
Sebastien Loriot d51b9cbb27 Merge pull request #840 from afabri/Polyhedon-isolated-vertices-GF
Deal with isolated vertices when turning a polygon soup in a polyedral surface
2016-03-02 17:19:22 +01:00
Jane Tournois bf63963830 add constrained vertices to isotropic remeshing
those vertices cannot be modified
2016-03-02 17:08:38 +01:00
Andreas Fabri dd8a68c4c5 The namespace forwarding goes in the user code, not in a CGAL header 2016-03-02 16:52:13 +01:00
Jane Tournois 586a92f736 update the type of edge_is_constrained_map
now the pmap of constraints gets updated by isotropic remeshing
2016-03-02 15:56:20 +01:00