Commit Graph

1713 Commits

Author SHA1 Message Date
Andreas Fabri fde105b437 License check for Predicates 2017-03-22 10:29:59 +01:00
Andreas Fabri 51bbe5d1f6 License check for Geometric Measures and Miscellaneous 2017-03-22 10:05:39 +01:00
Andreas Fabri d04b048aa9 License check for Connected Components 2017-03-22 09:21:27 +01:00
Andreas Fabri 9bcf8b040e move corefinement specific code from PMP to Operations_on_polyhedra 2017-03-22 09:12:30 +01:00
Andreas Fabri 44c1328f55 License check for Normal Computation Functions 2017-03-22 08:54:00 +01:00
Sebastien Loriot 5b6cf1cfae Merge pull request #1976 from sloriot/PMP-coref_bugfix_tangent_cases
Correctly handle edge tangency cases
2017-03-20 16:11:17 +01:00
Sébastien Loriot 0b29878f6d better handling of tangency
correctly handle dangling intersection polylines
that appear when models are tangent along an edge
2017-03-16 18:44:13 +01:00
Sébastien Loriot 58f59d0af0 add new data set to test tangent cases 2017-03-16 15:38:54 +01:00
Sébastien Loriot a79f461548 be more permissive for open meshes 2017-03-15 17:13:40 +01:00
Sébastien Loriot 259155edb3 improve the coref-bool-op test to also check possible results are as expected 2017-03-15 16:49:32 +01:00
Jane Tournois b6d88274fb deactivate output to files in the testsuite
it takes long and is not really useful for the tests
2017-03-14 16:20:28 +01:00
Jane Tournois f9fe9a5e6a add assertions to the PMP testsuite 2017-03-14 15:46:48 +01:00
Laurent Rineau 5947475c5c Merge pull request #1906 from sloriot/PMP-stitching_non_manifold_edges-GF
Make the function stitch_borders() resilient to non-manifold edges
2017-02-14 16:11:01 +01:00
Sébastien Loriot c873532da5 avoid stitching non-manifold edges
we do not stitch them at all since we might produce inconsistancies
2017-02-14 13:45:08 +01:00
Andreas Fabri 81c5ff9b0d We do not collect halfedges on non-manifold edges
TODO:
- Add a precondition
- Find something better than a CGAL_warning
2017-02-14 13:44:46 +01:00
Sébastien Loriot 7c51ddc606 remove commented lines 2017-02-13 10:28:27 +01:00
Sébastien Loriot e9395aba6f move enum for named parameters inside internal_np namespace 2017-02-13 10:25:28 +01:00
Laurent Rineau 58ba771e5d Merge pull request #1898 from sloriot/PMP-fix_coref
fix make_terminal()
2017-02-10 19:03:42 +01:00
Sébastien Loriot 47e8f6167f add doc in the interface file and files using it 2017-02-10 17:23:45 +01:00
Sébastien Loriot 2fee4affdd rename macro to be independant of any package 2017-02-10 17:00:38 +01:00
Sébastien Loriot 2068ba14ce remove non used named parameter 2017-02-10 16:45:18 +01:00
Sébastien Loriot 69fbe19f06 fix make_terminal()
if the node is already terminal, no need to break its degree
This was an issue if the degree is actually 0
2017-02-10 14:00:07 +01:00
Maxime Gimeno 3d8aaf0a6e Add license headers 2017-02-09 15:46:01 +01:00
Maxime Gimeno 0f9c102516 Move the enums in a namespace parameters to clean-up the namespace CGAL. 2017-02-09 15:29:18 +01:00
Maxime Gimeno 21f305db27 Use an include system to factorize the macro calls in PMP and BGL. 2017-02-09 14:14:11 +01:00
Laurent Rineau 1a2f617d89 Merge pull request #1843 from afabri/BGL_accelerate_copy_face_graph-GF
Accelerate copy_face_graph
2017-02-08 17:32:47 +01:00
Maxime Gimeno 07b5550f2f Use macros to add parameters in named_fucntion_params.h 2017-02-08 16:37:14 +01:00
Laurent Rineau 4c3ea8908e Merge pull request #1875 from sloriot/PMP-rename_bbox_3
Rename bbox_3 functions
2017-02-06 15:19:18 +01:00
Laurent Rineau 7946d3e31d Merge pull request #1871 from sloriot/PMP-coref_same_points
Identical points after corefinement
2017-02-02 17:18:21 +01:00
Sébastien Loriot cc899819f2 bbox is ambiguous 2017-02-02 14:42:53 +01:00
Sébastien Loriot 9cf49ff733 remove _3 suffix left 2017-01-31 18:09:22 +01:00
Sébastien Loriot 2ed0a35153 fix doc warnings 2017-01-31 14:40:10 +01:00
Sébastien Loriot a675fa60e4 rename bbox_3 functions
free functions in CGAL have no dimension suffix
2017-01-31 14:33:56 +01:00
Sebastien Loriot a0bcc82311 Merge pull request #1860 from sloriot/PMP-fix_namespace_pollution
Avoid namespace pollution
2017-01-30 15:55:22 +01:00
Sébastien Loriot 0f540a8116 make sure the same points in different triangle meshes have the same coordinates 2017-01-30 15:35:10 +01:00
Andreas Fabri 12b3a78cc6 fix typos in code 2017-01-27 09:41:00 +01:00
Andreas Fabri 006bfdfec0 Add #ifdef CGAL_PMP_REFINE_DEBUG for total_timer 2017-01-27 09:21:03 +01:00
Sébastien Loriot a3666887a1 remove dependancy to PSP 2017-01-26 18:27:49 +01:00
Sébastien Loriot cfc30502b7 move Distance_computation and implementation in internal namespace 2017-01-26 14:18:13 +01:00
Sebastien Loriot b761bad0a9 Merge pull request #1856 from afabri/PMP-fix_doc_CC-GF
PMP: Fix error in the ref manual of connected components functions
2017-01-25 17:55:37 +01:00
Andreas Fabri 07f62beb4b fix typos 2017-01-25 17:52:44 +01:00
Andreas Fabri dc34a06c8b PMP: Fix error in the ref manual of connected components functions 2017-01-25 16:12:38 +01:00
Maxime Gimeno 60d0a39d42 fixes 2017-01-24 14:46:36 +01:00
Maxime Gimeno 82860688d1 Fix the doc to avoid diffs between 1.8.4 and 1.8.13 outputs 2017-01-24 09:39:23 +01:00
Sébastien Loriot 50510c05ea add include directive for license of all GPL header files
done using:
ack-grep "^GPL" */package_info/*/license.txt -l | awk -F "/" '{print $1}' > /tmp/gpl_packages
for i in `cat /tmp/gpl_packages | \
          grep -v Operations_on_polyhedra | \
          grep -v Algebraic_kernel_for_circles | \
          grep -v Algebraic_kernel_for_spheres | \
          grep -v Polyhedron_IO`;
do
  echo $i
  python Scripts/developer_scripts/add_license_in_pkg_header.py $i
done
python Scripts/developer_scripts/add_license_in_pkg_header.py Operations_on_polyhedra Polygon_mesh_processing
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_circles Circular_kernel_2
python Scripts/developer_scripts/add_license_in_pkg_header.py Algebraic_kernel_for_spheres Circular_kernel_3
python Scripts/developer_scripts/add_license_in_pkg_header.py Polyhedron_IO Polyhedron
2017-01-19 15:20:25 +01:00
Sébastien Loriot 3fa4abe869 move function to init index maps to BGL 2017-01-18 16:37:34 +01:00
Sébastien Loriot b3340608cc move property map binders to property_map.h 2017-01-18 16:37:24 +01:00
Andreas Fabri 528c6a19a8 Add an #include 2017-01-16 19:16:19 +01:00
Sébastien Loriot ce16295297 add a function to init halfedge indices 2017-01-16 18:34:55 +01:00
Sébastien Loriot 516b732adf using tbb::atomic instead of cpp11::atomic 2017-01-16 15:18:46 +01:00
Sébastien Loriot b79cc00461 add missing public 2017-01-16 09:27:24 +01:00
Sébastien Loriot 060a1478ab add an empty new-line 2017-01-16 09:25:46 +01:00
Sébastien Loriot 0446958c5a parallel version of mesh distance function requires cpp11::atomic 2017-01-13 13:19:29 +01:00
Sébastien Loriot 449205c486 avoid pmp_bgl_named_params to inherit from named_params_base
this fix a warning with old version of boost < 1.51
Use another workaround to avoid the compilation error
of the area(face_range,tm) overload
2017-01-13 13:18:55 +01:00
Sébastien Loriot e3f9ffa6f8 workaround for named parameters with old boost version (<1.51)
handle the renaming of a struct and move get_param overloads
in the boost namespace (to match qualified call boost::get_param)
2017-01-13 12:05:51 +01:00
Sébastien Loriot 9ae7b37845 Merge pull request #1745 from sloriot/Polyhedra_corefinement-enhancements-sloriot
Add corefinement operations in PMP
2017-01-12 12:05:18 +01:00
Laurent Rineau 27cb95f022 Merge pull request #1578 from maxGimeno/PMP-add_distance-GF
Add approximated Hausdorff distance
2017-01-12 11:10:25 +01:00
Sébastien Loriot 47c7b48911 fix copy-paste error 2017-01-11 16:45:42 +01:00
Sébastien Loriot 6ac45f820a use PMP for corefinement and intersection plugins 2017-01-11 15:16:03 +01:00
Sébastien Loriot 59001acd92 update the implementation of clip plugin to use new corefinement PMP code 2017-01-10 15:38:24 +01:00
Sébastien Loriot 6743afaee3 add a function to initialize vertex index maps 2017-01-10 15:04:54 +01:00
Maxime Gimeno a01593e0bb Unify the links to the Polyhedron demo in the package descriptions. 2017-01-10 14:56:52 +01:00
Sébastien Loriot 286efc1ff1 avoid calling get function 2017-01-10 14:45:19 +01:00
Sébastien Loriot 2cac99b2d6 protect call to max function 2017-01-09 12:00:06 +01:00
Sébastien Loriot ae1632091a only use parallel tag if TBB is here 2017-01-09 08:35:56 +01:00
Sébastien Loriot cafe151c03 fix an error and two warnings 2017-01-09 08:28:13 +01:00
Sébastien Loriot b997dd17a3 fix path to input files 2017-01-06 09:49:16 +01:00
Sébastien Loriot 706e8c81ce fix copy-paste error 2017-01-05 15:56:18 +01:00
Sébastien Loriot 33979fc8cd remove wrong comments 2017-01-05 15:14:12 +01:00
Sébastien Loriot b48a6e8965 handle dangling polylines
An intersection polyline that has a node of degree one that is not
on the boundary of both meshes invalidates all operations.
It might be possible to do the union in some case but it does not
seems relevant for now
2017-01-03 10:01:23 +01:00
Sébastien Loriot e0010627ee use a simpler to read form for the sorted_around_edge predicate
in addition it become a real predicate (no construction)
2017-01-02 19:25:48 +01:00
Sébastien Loriot 9f2d102b7f no longer used intermediate interval layer
this was actually not needed since EPECK already have this
filter layer
2017-01-02 19:25:44 +01:00
Sébastien Loriot 7ed402b3f7 optimize the number of nodes created in the DAG
- Use new kernel functors for intersection points
- Construct points from double to have only one node per point
  (doubles are stored in Lazy_rep_3)
2017-01-02 19:25:44 +01:00
Sébastien Loriot 527828ff52 copy-paste error 2016-12-30 16:17:13 +01:00
Sébastien Loriot 0607f2511e improve user manual 2016-12-30 16:12:37 +01:00
Sébastien Loriot 88d391ab51 improve phrasing 2016-12-30 15:46:13 +01:00
Sébastien Loriot 6341b5d5ed rename named parameter and update concept after adding edge sampling 2016-12-30 14:52:10 +01:00
Sébastien Loriot a047641ec9 update user manual and add a picture to illustrate the sampling methods 2016-12-30 14:28:37 +01:00
Sébastien Loriot 91278918d7 reorder named parameters 2016-12-29 18:06:58 +01:00
Sébastien Loriot a847818904 improve description 2016-12-29 18:02:36 +01:00
Sébastien Loriot 886b65edd1 remove set_ prefix from named parameters 2016-12-29 17:50:16 +01:00
Sébastien Loriot bfc20a922b move using instructions 2016-12-29 07:21:04 +01:00
Sébastien Loriot 283815c875 improve doc 2016-12-29 07:21:04 +01:00
Sébastien Loriot 29b28949e9 cite metro 2016-12-29 07:21:04 +01:00
Sébastien Loriot 94b2720fbd use name parameters for selecting the sampling algorithm
A dedicated sampling of edges is also introduced as well as
an option to use input vertices to evaluate the distance.
2016-12-29 07:20:25 +01:00
Sébastien Loriot 3e018b4d1a use snippet to avoid inlining a whole example while we care only of a tiny part 2016-12-29 07:20:25 +01:00
Sébastien Loriot e40a84d2f9 use Real_timer to avoid since Timer measure cpu time 2016-12-29 07:20:25 +01:00
Sébastien Loriot db6b7e0a00 add sampling on edges and vertices for a single face (grid case)
also add missing overload
2016-12-29 07:20:25 +01:00
Sébastien Loriot 5ee83b555b remove Triangle_3 extra requirements 2016-12-29 07:20:25 +01:00
Sébastien Loriot 621c6c5457 cosmetic changes 2016-12-29 07:20:24 +01:00
Sébastien Loriot fd87870977 fix constructed vector 2016-12-29 07:20:24 +01:00
Maxime Gimeno 4568381657 Another fix for the doc 2016-12-29 07:20:24 +01:00
Maxime Gimeno cdc76129d0 Keep fixing the doc 2016-12-29 07:20:24 +01:00
Andreas Fabri 9dee15964b poisson -> Poisson 2016-12-29 07:20:24 +01:00
Andreas Fabri 18a39a54bd fix VC++ warnings by adding static_cast 2016-12-29 07:20:24 +01:00
Andreas Fabri c84e72f7a5 Fix typo in example; Functions in manuals always with '()' 2016-12-29 07:20:24 +01:00
Maxime Gimeno 768e52fe54 Another fix of the doc. 2016-12-29 07:20:23 +01:00
Maxime Gimeno 1d43e641d6 Fix measure.h and update demo plugin code 2016-12-29 07:20:23 +01:00
Maxime Gimeno 581b677a44 Add sample_face() and fix some doc. 2016-12-29 07:20:23 +01:00
Simon Giraudot 98b5ae4682 Fix angle/circumcenter/m_edge problems 2016-12-29 07:20:23 +01:00
Maxime Gimeno 06dd4a4522 Add a geom-traits concept for distance functions
Update the code and the doc accordingly
2016-12-29 07:20:23 +01:00
Jane Tournois 7ec512e359 update approximated -> approximate 2016-12-29 07:20:23 +01:00
Jane Tournois e9f6885d3e minor doc fixes 2016-12-29 07:20:23 +01:00
Jane Tournois 2e804f6e48 fix the doc of `sample_triangle_mesh`
fix a few typos, and fix the layout of bullet lists
2016-12-29 07:20:22 +01:00
Maxime Gimeno d5bdf342d4 Use functor instead of free function volume() 2016-12-29 07:20:22 +01:00
Maxime Gimeno 9140ab3f31 Replace approximated by approximate in the function names. 2016-12-29 07:20:22 +01:00
Sébastien Loriot 3710a60b9c doc clean up 2016-12-29 07:20:22 +01:00
Maxime Gimeno 0cc2c59981 Fixes for SF. 2016-12-29 07:20:22 +01:00
Maxime Gimeno cc44c571e5 Shorten the code lines. 2016-12-29 07:20:22 +01:00
Maxime Gimeno 3fca4399c6 Add examples and keep fixing the doc 2016-12-29 07:20:22 +01:00
Maxime Gimeno cbf7e6b722 Doc and test fix. 2016-12-29 07:20:21 +01:00
Sébastien Loriot 81b11ee2d5 Bug-fix: accept range of points as input and not only vectors 2016-12-29 07:20:21 +01:00
Maxime Gimeno 0c3edf822c Add tests for misisng documented functions. 2016-12-29 07:20:21 +01:00
Maxime Gimeno a4127d74c1 Add distance computation to poisson_reconstruction's example. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 6cf0504f95 Fixes and clean-up : first part. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 3cedefa08e Update the doc. 2016-12-29 07:20:21 +01:00
Maxime Gimeno 9e767fd16f Fix and clean-up 2016-12-29 07:20:21 +01:00
Maxime Gimeno 6858d65e5d Update and fix
Parallelize the plugin if TBB is linked with CGAL and fix the parallelized code in distance.h.
2016-12-29 07:20:21 +01:00
Maxime Gimeno a232a257ca Implementation of the `max_distance_to_point_set()` function. 2016-12-29 07:20:21 +01:00
Maxime Gimeno a6b3caa1a5 Add the hausdorff example file. 2016-12-29 07:20:20 +01:00
Maxime Gimeno 033adb29f1 Update the demo and fix the code for Polyhedron. 2016-12-29 07:20:20 +01:00
Maxime Gimeno 542efa95d7 Implement the NamedParameters functions and use the property maps. 2016-12-29 07:20:20 +01:00
Maxime Gimeno c9ec5a224e Remove useless sampling. 2016-12-29 07:20:20 +01:00
Maxime Gimeno f742ad250e Fix for use with Polyhedron
- Polyhedron does not have a halfedge_around_face_descriptor, thus it does not respect the BGL doc and we must use a regular halfedge_descriptor instead.
2016-12-29 07:20:20 +01:00
Maxime Gimeno 39e7b76902 WIP 2016-12-29 07:20:19 +01:00
Maxime Gimeno 0f13cde758 Implementation:
- cherry-pick Random_generator
- implement hausdorff distance functions
- implement sample_triangle_mesh
2016-12-29 07:20:19 +01:00
Maxime Gimeno 62e78f34e5 WIP 2016-12-29 07:20:19 +01:00
Maxime Gimeno c4a6da2f8b Transform the overloads to use Surface_mesh instead of triangle meshes. 2016-12-29 07:20:19 +01:00
Maxime Gimeno c5a17ce354 Change `approximated_Hausdorff_distance()` to use a Surface_mesh instead of a triangle range. 2016-12-29 07:20:19 +01:00
Maxime Gimeno 09040105a1 Create an example file to test the Hausdorff distance. 2016-12-29 07:20:19 +01:00
Sébastien Loriot 2577fd912e WIP to add Hausdorff distance to a mesh 2016-12-29 07:20:19 +01:00
Sébastien Loriot 9dbaf36646 put function is correct group 2016-12-26 08:33:43 +01:00
Sébastien Loriot 6b72ab2a6e remove a too strict check that eliminate all operations in case of edge tangency 2016-12-22 16:17:02 +01:00
Sébastien Loriot 39fe7c2936 handle the import of border halfedge 2016-12-22 16:11:21 +01:00
Sébastien Loriot d18e9b2e85 fix typo 2016-12-22 10:25:08 +01:00
Sébastien Loriot c8ed365d29 add data set producing a non-manifold vertex 2016-12-22 09:23:54 +01:00
Sébastien Loriot 72119d08c8 add an internal function to collect degenerate faces 2016-12-22 09:23:53 +01:00
Sébastien Loriot 98862227be make it work with Polyhedron
the indices of the faces are initialized now if the face index map is writable
2016-12-19 16:49:51 +01:00
Sébastien Loriot a7ee97a92c remove unused variable 2016-12-15 17:34:21 +01:00
Andreas Fabri 2ed5bfd9cd Construct exact points only once, and the normal of the plane directly from three points 2016-12-14 09:23:35 +01:00
Sébastien Loriot e70f7db943 fix assertion 2016-12-14 08:29:30 +01:00
Sébastien Loriot 3282ed2847 Skip an orientation test for inserting the third point
since we already know the orientation of the input points we can skip it
2016-12-14 08:25:48 +01:00
Sébastien Loriot c679453100 remove a test that is always true 2016-12-13 18:30:19 +01:00
Sébastien Loriot 1a14d26a86 optimize the triangulation of faces
- insert the 3 first points outside of the affine hull (no check of equality)
- insert points on edges using locate type to avoid orientation tests
  of collinear points
2016-12-13 17:10:50 +01:00
Sébastien Loriot a83e23611a fix typo 2016-12-13 16:16:52 +01:00
Sébastien Loriot 572cf361b4 comment debug function 2016-12-13 11:16:38 +01:00
Sébastien Loriot 55c3e1ad61 avoid using a std::set and a std::vector for container storing at most 2 elements
Thanks @afabri
2016-12-12 22:29:05 +01:00
Sébastien Loriot 12fea568f0 using a vector instead of a set 2016-12-12 21:44:07 +01:00
Sébastien Loriot 9173ec4f29 remove a call to a debug function 2016-12-12 14:34:22 +01:00
Andreas Fabri 1607ccb411 Fix VC2015 warning 2016-12-12 13:15:19 +01:00
Sébastien Loriot 478e5283cd qualify function calls with boost namespace 2016-12-12 12:54:44 +01:00
Sébastien Loriot 6c7bee5d0a fix conversion warnings 2016-12-09 14:14:08 +01:00
Sébastien Loriot fac4a6add5 fix the report of polyline in the visitor
the 2 first nodes were always  reported twice
2016-12-09 13:36:55 +01:00
Sébastien Loriot 804f878556 fix warnings 2016-12-08 15:22:04 +01:00
Sébastien Loriot ac2faf9fe1 fix doc 2016-12-05 18:28:29 +01:00
Andreas Fabri 10bd9897f3 Compare with 0 in order to avoid a warning 2016-12-05 17:18:11 +01:00
Sébastien Loriot c3e1309181 update from master branch 2016-12-05 14:37:29 +01:00
Sébastien Loriot 845317a9fb fix doc and remove todo done 2016-12-05 14:32:19 +01:00
Sébastien Loriot 6604704dbe fix examples 2016-12-05 14:26:33 +01:00
Sébastien Loriot f83a620087 fix warnings 2016-12-05 14:09:04 +01:00
Laurent Rineau 49ffa5ed81 Merge pull request #1730 from MaelRL/PMP-Fix_border_halfedges_compilation
Fixed a compilation issue in PMP's border_halfedges()
2016-12-05 11:49:54 +01:00
Sébastien Loriot 56b8908dac remove a todo
if we unmark intersection edge inside a coplanar patch, we will have something
not consistant with what is done is corefine(). For now I keep it like this
2016-12-05 11:12:47 +01:00
Sébastien Loriot d70290962e add a new data-set 2016-12-05 11:07:35 +01:00
Sébastien Loriot fb68b3a6c2 add implementation of does_bound_a_volume + test 2016-12-05 11:06:13 +01:00
Sébastien Loriot 7b727ea7cf expose the internal AABB-tree class
that was a bug as the constructor taking an AABB-tree could
not be used otherwise
2016-12-02 16:11:48 +01:00
Sébastien Loriot 3dc7076b79 add an function to check inward orientation when extreme vertex is known 2016-12-02 16:10:29 +01:00
Laurent Rineau f100d59987 Merge pull request #1722 from janetournois/PMP-fix_doc_isotropic_remeshing-GF
PMP : fix documentation bug for `vertex_is_constrained_map`
2016-12-02 11:37:47 +01:00
Sébastien Loriot 6bc8caac43 use safer property choosing mechanism 2016-12-02 11:35:18 +01:00
Laurent Rineau a80fc35561 Merge pull request #1696 from MaelRL/PMP-Fix_border_halfedges
Fixed an implementation of PMP's border_halfedges()
2016-12-02 11:35:07 +01:00
Laurent Rineau 78ae3414e4 Merge pull request #1693 from janetournois/PMP-fixes_for_isotropic_remeshing_4.9-jtournois
PMP : fixes for isotropic remeshing
2016-12-02 11:34:51 +01:00
Laurent Rineau 9bb29f0c75 Merge pull request #1628 from MaelRL/PMP-Fix_self_intersections
Fixed self intersection tests
2016-12-02 11:34:38 +01:00
Laurent Rineau e559968307 Merge pull request #1682 from sloriot/PMP-use_readable_pmap_api
Use readable property map API
2016-12-02 11:33:54 +01:00
Laurent Rineau fe7a537f28 Merge pull request #1681 from sloriot/PMP-remove_a_border_edge
Add an undocumented function to remove border edges
2016-12-02 11:33:41 +01:00
Sébastien Loriot e1d7c43314 remove or use all test data 2016-12-02 09:29:26 +01:00
Sébastien Loriot 46cdd7f7dc add testsuite for corefine 2016-12-02 08:43:25 +01:00
Sébastien Loriot 834879e50e add bash script to run locally a corefinement testsuite 2016-12-01 17:08:51 +01:00
Sébastien Loriot 8cc156724e factorize test for PMP and OOP coref 2016-12-01 17:08:18 +01:00
Sébastien Loriot 820ebd8eee fix warnings and ambiguity of copy_edge_mark 2016-12-01 15:16:57 +01:00
Sébastien Loriot 834869c533 add a convenience overload 2016-12-01 15:16:57 +01:00
Mael Rouxel-Labbé bfbba26124 Fixed a compilation issue in PMP's border_halfedges()
Previous code did not compile if a face index map was not given
in named parameters, nor as an internal property map
2016-12-01 12:04:12 +01:00
Sébastien Loriot 853c156c10 Handle transfer of marks from input to output 2016-11-30 14:18:42 +01:00
Sébastien Loriot 2671c4c922 bugfix: use the backuped face as the patch border halfedge was set on-border 2016-11-30 14:18:00 +01:00
Sébastien Loriot 812bc885d5 add function that I forgot to port 2016-11-30 10:29:28 +01:00
Sébastien Loriot 5678363c4d add test file checking that corefinement handles constrained edges correctly 2016-11-25 14:38:18 +01:00
Jane Tournois 35cce254bb fix documentation bug
vertices can be changed because of collapse,
for which we don't always know if vkept will be source
or target
2016-11-25 11:02:47 +01:00
Andreas Fabri 44324c7eb1 add examples to examples.txt 2016-11-24 14:01:11 +01:00
Sébastien Loriot bc719ad192 fix copy-paste error 2016-11-23 15:52:50 +01:00
Sébastien Loriot 6db2bff67b handle call to corefinement functions with identical meshes 2016-11-23 15:48:00 +01:00
Sébastien Loriot 3f316c9596 fix warnings and add missing include directive 2016-11-23 14:35:55 +01:00
Sébastien Loriot 3ec5914ca2 add missing test file 2016-11-22 16:10:37 +01:00
Jane Tournois e5dcef0528 deal with surface patch indices during collapse
for checking that faces do not get inverted
2016-11-21 17:55:25 +01:00
Jane Tournois 5a2eaa96a0 use Patch_id(-1) as invalid patch id 2016-11-21 17:46:22 +01:00
Jane Tournois 0b4ecf6531 is_corner should return true for a dart 2016-11-21 14:51:08 +01:00
Jane Tournois c28dc6f210 avoid conversion warning 2016-11-21 14:47:46 +01:00
Mael Rouxel-Labbé 1367e3e09d Reworked how boolean parameters are passed in self_intersection tests 2016-11-20 00:59:15 +01:00
Jane Tournois 8f8ccc3c39 fix the case where patch2 was not met yet 2016-11-18 17:44:10 +01:00
Jane Tournois f1cb55bf80 deal with boundaries by skipping null_face 2016-11-17 16:29:03 +01:00
Mael Rouxel-Labbé 92b4a49e38 Documentation changes for PMP's border_halfedges() 2016-11-17 14:17:26 +01:00
Jane Tournois fb1af78ab5 check orientation of faces surface patch per surface patch 2016-11-17 11:45:17 +01:00
Mael Rouxel-Labbé 0851d2b4e8 Fixed an implementation of PMP's border_halfedges() returning interior edges
and the corresponding documentation.
2016-11-16 11:22:35 +01:00
Jane Tournois b29c578d19 fix the boundary case
once the no-inversion test has been performed, check that we don't have
a boundary problematic case
It would require to reswap, and break the border of the patch to be remeshed
2016-11-15 17:18:13 +01:00
Jane Tournois e4f9f9fea7 check that relaxation does not produce an inverted face
it can happen close to the boundary, where things are naturally
more constrained
2016-11-15 17:17:53 +01:00
Jane Tournois 2e6d55f813 remove a todo 2016-11-15 17:17:32 +01:00
Jane Tournois 7be46604ec fix collapse step
the inverse orientation test should also be performed on the border
2016-11-15 17:17:16 +01:00
Jane Tournois e8adc69337 rename function to improve code readability 2016-11-15 17:17:04 +01:00
Jane Tournois 33ef17760f avoid collapsing an isolated constrained edge in the "middle" of a patch 2016-11-15 17:16:39 +01:00
Sébastien Loriot a84faf682c use a larger edge target in the example 2016-11-15 13:57:12 +01:00
Andreas Fabri ee1a911af5 only compile if the compiler supports cxx_range_for 2016-11-14 08:21:03 +01:00
Sébastien Loriot f128addaca fix order of the parameters 2016-11-13 19:54:13 +01:00
Sébastien Loriot 5ec738fcd8 qualify a call to choose_param 2016-11-13 19:53:46 +01:00
Sébastien Loriot b34d8cd6b8 use readable property map API
operator[]() is only required in Lvalue property map
2016-11-11 10:04:35 +01:00
Sébastien Loriot 478a40c9aa add an undocumented function to remove border edges
this works even if it does not satisfy the link condition
2016-11-10 18:52:20 +01:00
Sébastien Loriot 1501b4400c int -> std::size_t for node ids 2016-11-10 14:38:10 +01:00
Sébastien Loriot d7c6d30def directly use the halfedge used to create the points 2016-11-10 14:27:10 +01:00
Sébastien Loriot 48fa75f829 the halfedges reported for intersection on a vertex or an edge was incorrect
copy-paste error...
2016-11-10 14:22:22 +01:00
Sébastien Loriot 167c52b00d add todos, assertions and comments 2016-11-10 09:45:19 +01:00
Sébastien Loriot f68a2a4dff edges are not sorted and do not appear twice: do not skip them using indices 2016-11-10 09:41:18 +01:00
Sébastien Loriot ddaf6cd90b avoid reporting several time the same node per edge and face
This happens only in the case of coplanar triangles and can
be avoided by only reporting the node when it is first
created
2016-11-10 09:23:02 +01:00
Sébastien Loriot 918b71339f bugfix: copy-paste error, wrong mesh 2016-11-04 09:55:56 +01:00
Andreas Fabri 362a77b9de fix typos - thank you Jane 2016-11-03 15:03:24 +01:00
Sébastien Loriot 1ed98a7d9a simply the detection of coplanar faces
coplanar faces are made of 3 intersection edges and each of its vertex
has a node-id != -1
2016-11-03 14:31:20 +01:00
Sébastien Loriot cab2634387 bug fix in the detection of intersection edges in the middle of a coplanar patch
do not remove the edges from the intersection map while we are still using them
2016-11-03 14:18:12 +01:00
Andreas Fabri dc3cfa9551 fix typo 2016-11-03 14:15:55 +01:00
Mael Rouxel-Labbé 124245ab57 Allowed to pass expected values along with input files in self intersections tests 2016-11-03 12:39:22 +01:00
Mael Rouxel-Labbé c2135823a8 Improved self_intersections tests 2016-11-03 11:43:03 +01:00
Sébastien Loriot 8c8a62b7e0 Correctly handle tangencies of input model
this handle the case of identical models (even differently meshed)
and model that are tangent only at vertices

(backport from Operations_on_polyhedra)
2016-11-03 10:41:00 +01:00
Andreas Fabri df3af79866 Add an example that uses a std::map as property map 2016-11-01 09:48:48 +01:00
Mael Rouxel-Labbé 8c7e45b2eb Fixed missing include in self_intersections.h 2016-10-31 15:24:33 +01:00
Mael Rouxel-Labbé 3591b39d33 Fixed self intersection tests
Adjacent faces that were coplanar and overlapping were not being detected
2016-10-28 14:25:16 +02:00
Laurent Rineau d37c400fc9 Merge pull request #1606 from sloriot/PMP-make_border_test_safer
Make a test safer
2016-10-26 14:39:19 +02:00
Jane Tournois 2d72090cba this internal property map is not needed anymore 2016-10-25 17:14:57 +02:00
Sébastien Loriot 9d5e675c61 add missing include directive 2016-10-24 14:50:48 +02:00
Laurent Rineau 24b7757282 Merge pull request #1517 from sloriot/PMP-more_bbox_3_overloads
More bbox 3 overloads for face graph models
2016-10-24 11:47:13 +02:00
Sébastien Loriot e075757f18 remove assertion always true to avoid a warning 2016-10-21 18:04:30 +02:00
Mael Rouxel-Labbé f27fa0d0e8 Add missing include directive 2016-10-21 17:58:11 +02:00
Sébastien Loriot c2d5b501ed make a test safer 2016-10-21 17:36:41 +02:00
Sébastien Loriot 1bdede2bcd fix warning 2016-10-20 18:04:11 +02:00
Laurent Rineau c6cf01c7f6 Merge pull request #1562 from afabri/Kernel_Compute_dihedral_angle-GF
Add doc of functor class and concept corresponding to dihedral_angle()
2016-10-20 09:48:05 +02:00
Sébastien Loriot 4841913bb7 improve outline and add corefinement
drop the manual section numbering that is error prone
and use bullets to make it easier to catch the different
sections
2016-10-19 15:41:09 +02:00
Sébastien Loriot f4d67dd4af Refresh branch from master 2016-10-19 14:27:08 +02:00
Sébastien Loriot f9ecd715b5 Revert "rename functions computing simplex bbox to bbox_3"
This reverts commit 357f261231.

The names have to be different otherwise for models of FaceGraph
have face, vertex and edge descriptors being pure integer the
overloads will be ambiguous
2016-10-19 14:14:09 +02:00
Sébastien Loriot c86582ef82 remove todo 2016-10-19 14:03:45 +02:00
Sébastien Loriot eceb0a8b11 add doc for self-intersection tests restricted to a set of faces
also add an overload without named parameters
2016-10-19 13:57:23 +02:00
Sébastien Loriot 7c4e1aee8b simplify example 2016-10-19 13:57:04 +02:00
Laurent Rineau 6be3772654 Fix calls to dihedral_angle() 2016-10-17 14:43:15 +02:00
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