Commit Graph

362 Commits

Author SHA1 Message Date
Julian Komaromy 6bcbe45a6f switch prob plane to use functions 2021-08-02 15:37:39 +02:00
Julian Komaromy 8d16ff5a03 gather quadrics in one file 2021-08-02 12:21:04 +02:00
Julian Komaromy 78f0b75ce5 add missing include 2021-07-26 16:39:15 +02:00
Julian Komaromy ca3a8a68b3 fix out of bounds matrix access 2021-07-12 19:13:06 +02:00
Julian Komaromy 119fea4eb0 add face variance map 2021-07-12 16:51:34 +02:00
Julian Komaromy 3d8f6281f7 add probabilistic triangle quadrics 2021-07-09 16:37:48 +02:00
Julian Komaromy 8947a8fb38 change to average edge length for estimation 2021-07-07 20:54:31 +02:00
Julian Komaromy c01aea6bf6 revert to constructing inside policy 2021-07-05 18:56:33 +02:00
Julian Komaromy 6c7b4a9824 restructure code, implement tri quadrics 2021-07-05 18:05:50 +02:00
Julian Komaromy 5497c3c556 different quadric generators for face and edges 2021-07-03 12:39:49 +02:00
Julian Komaromy ae41291ca6 add precondition for positive variances 2021-06-30 18:30:38 +02:00
Mael Rouxel-Labbé 8fb02b2765 Initialize 'dm' 2021-06-30 10:32:36 +02:00
Julian Komaromy 697ab74ee5 estimate by gm and new constructor 2021-06-29 21:12:30 +02:00
Mael Rouxel-Labbé a97164d5ef Make estimate_variances static and public 2021-06-29 19:21:26 +02:00
Mael Rouxel-Labbé cd20c6461e Remove trailing whitespace 2021-06-29 16:31:20 +02:00
Mael Rouxel-Labbé a3748b35f8 Remove dead header include 2021-06-29 16:29:40 +02:00
Mael Rouxel-Labbé 4d9ec82b1a Fix formula for the 'c' coefficient of the quadric 2021-06-29 15:35:18 +02:00
Mael Rouxel-Labbé 2ef3ccdef7 Erase includes to removed header 2021-06-29 15:34:59 +02:00
Julian Komaromy 5767964365 resolve todos and add default values 2021-06-28 15:24:38 +02:00
Julian Komaromy 3fd015595b remove cout 2021-06-28 14:44:19 +02:00
Julian Komaromy 887bcf7fce fix and incorporate review 2021-06-15 12:11:29 +02:00
Julian Komaromy 1b468fe620 implement probabilistic quadrics 2021-06-09 21:50:55 +02:00
Julian Komaromy afb98de8af use traits class construtions 2021-06-09 21:50:37 +02:00
Julian Komaromy d96f8986be fix constructors and uncomment lines 2021-06-09 21:10:04 +02:00
Julian Komaromy a4b75fbe85 remove obsolote files 2021-06-08 21:13:43 +02:00
Julian Komaromy df368bcabe make quadric detail customizable 2021-06-08 21:12:32 +02:00
Julian Komaromy 4d9b6f13bb move quadric construction into new header 2021-05-31 22:05:32 +02:00
Dmitry Anisimov bd600286ee surface mesh simplification range loop analysis copy to ref warning fixed 2021-01-08 10:20:34 +01:00
Andreas Fabri 8ae9070e5d Fix warnings 2020-12-30 09:06:19 +00:00
Andreas Fabri ac1200fe28 Cleanup of GetFilter 2020-11-10 10:52:53 +00:00
Andreas Fabri 041502a60c Move Envelope_filter to PMP 2020-11-05 08:43:33 +00:00
Andreas Fabri e1c1e1fbb6 capitalize file name in the #include (VC++ did not care) 2020-11-04 11:28:02 +00:00
Andreas Fabri 5ff48521d1 Use TLS; Fix SMS example 2020-11-04 09:53:38 +00:00
Sébastien Loriot 87b8f66e14 update from master 2020-10-20 09:19:13 +02:00
Andreas Fabri 89c9ed68b6 change namespace and add doc 2020-10-20 09:17:16 +02:00
Andreas Fabri a9b78f97a5 Add the test of SMS using the Envelope 2020-10-20 09:17:16 +02:00
Andreas Fabri deeff23907 Rename header file 2020-10-20 09:17:14 +02:00
Andreas Fabri e957de2993 Make the filter a named parameter 2020-10-20 09:17:09 +02:00
Jane Tournois bfd4e9915f rename named parameter graph_visitor to visitor 2020-09-15 15:42:24 +02:00
Andreas Fabri f31b7fe4e1 SMS: Use FastEnvelope to bound the error 2020-09-09 17:02:03 +01:00
Sébastien Loriot d6d8fbeb8b the placement must store the triangles has the AABB-tree does not copy them 2020-04-27 16:06:43 +02:00
Sébastien Loriot 3e75af4fcd remove useless calls to accelerate_distance_queries 2020-04-23 17:00:12 +02:00
Mael Rouxel-Labbé 618a72b739 Merge remote-tracking branch 'cgal/master' into PMP-soup_to_mesh_add_vpm 2020-03-17 20:00:31 +01:00
Mael Rouxel-Labbé ad62f89a20 Use the new index map initializer functions and fix doc 2020-03-06 15:25:38 +01:00
Mael Rouxel-Labbé 26463ded7a Update NPs using default constructed default values to new API
+ misc cleaning
2020-02-28 11:55:17 +01:00
Mael Rouxel-Labbé 80f1583fa8 Minor doc improvements 2020-01-28 12:45:29 +01:00
Mael Rouxel-Labbé 46e7a8f930 Make it optional to pass the AABB tree 2020-01-28 12:45:29 +01:00
Mael Rouxel-Labbé 5ab92fef26 Keep the squared value in memory instead of recomputing it on every call 2020-01-28 12:45:29 +01:00
Mael Rouxel-Labbé d556bcc5d6 Fix compilation / test 2020-01-28 12:45:29 +01:00
Mael Rouxel-Labbé 32e78834eb Clean header 2020-01-28 12:45:29 +01:00
Sébastien Loriot fd43d44fa5 do an initial try with the closest point since do_intersect is with a sphere and not a ball 2020-01-28 12:45:29 +01:00
Maxime Gimeno a17c5b1eb2 Update 2020-01-28 12:45:29 +01:00
Maxime Gimeno 5907ec9a18 Add Policy for bounded distance placement 2020-01-28 12:45:29 +01:00
Maxime Gimeno 4351ecfb5e Add test for bench 2020-01-28 12:45:29 +01:00
Mael Rouxel-Labbé 9a7c98f26c Minor code fixes 2019-11-29 11:42:18 +01:00
Mael Rouxel-Labbé 6cbb0d0712 Make the VertexCostMap a member of the policy
If the dynamic property map isn't attached to the mesh, this could not
work previously.
2019-11-29 09:30:54 +01:00
Mael Rouxel-Labbé 55bb46a383 Use DontAlign property for garland heckbert matrices
See discussion in: https://github.com/CGAL/cgal/pull/4279

Initial warning: https://cgal.geometryfactory.com/CGAL/testsuite/results-5.1-Ic-11.shtml#Surface_mesh_simplification_Examples
2019-11-29 09:29:48 +01:00
Mael Rouxel-Labbé 5057df5cb7 Properly forward a parameter 2019-11-20 09:09:05 +01:00
Mael Rouxel-Labbé 0813fd740b Move partial specializations outside of the Edge_collapse.h class 2019-11-19 11:04:14 +01:00
Mael Rouxel-Labbé ddf9be579b Fix conversion warnings 2019-11-15 11:44:04 +01:00
Mael Rouxel-Labbé a0db18b0bb Fix code typo 2019-11-15 11:43:49 +01:00
Mael Rouxel-Labbé a1763c8789 Mark expensive assertions as expensive 2019-11-15 11:43:32 +01:00
Mael Rouxel-Labbé 11e49e817c Fix compilation of SMS trace code 2019-11-15 11:17:19 +01:00
Mael Rouxel-Labbé ea3736ab20 Fix using full specialization of functions within non namespace scopes 2019-11-15 11:11:04 +01:00
Mael Rouxel-Labbé 6f96731156 Fix header license text 2019-10-28 09:41:51 +01:00
Mael Rouxel-Labbé ff09c5d0c8 Merge branch 'SMS-Add_GH_simplification-GF-old' into SMS-Add_GH_simplification-GF 2019-10-25 16:35:53 +02:00
Mael Rouxel-Labbé 1fc58a433f misc code cleaning 2019-10-21 15:31:07 +02:00
Mael Rouxel-Labbé 9b30a557f8 Remove incorrect comment about null placements 2019-10-21 15:21:27 +02:00
Mael Rouxel-Labbé 7be4775087 Fix old assertion that had not been updated when constraints were introduced 2019-10-21 00:22:09 +02:00
Mael 082732ee59
Fix missing include 2019-10-20 01:37:45 +02:00
Mael Rouxel-Labbé 19c02bdd0b Fix missing include 2019-10-19 18:06:05 +02:00
Mael Rouxel-Labbé c488a14d96 Regroup both GH policies within a single class
Simpler API (users don't have to explicit the vertex cost map) + clearer
that they must go together.
2019-10-19 18:03:01 +02:00
Sébastien Loriot c4c1a0b317 Remove license notice in headers manually 2019-10-19 16:00:05 +02:00
Sébastien Loriot 254d60f642 First pass on removing license notice in header for GPL files 2019-10-19 15:23:19 +02:00
Sébastien Loriot 7356421d80 introduce Commercial license SPDX tag 2019-10-19 12:15:19 +02:00
Mael Rouxel-Labbé 09bd731ff9 Finish documentation 2019-10-18 23:09:21 +02:00
Sébastien Loriot 9bd9c68b83 update LGPL[23]+ and GPL[23]+ SPDX tags
ack -l --no-svg "SPDX-License-Identifier: GPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-3.0+/SPDX-License-Identifier: GPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-3.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-3.0+/SPDX-License-Identifier: LGPL-3.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: GPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: GPL-2.0+/SPDX-License-Identifier: GPL-2.0-or-later/"
ack -l --no-svg "SPDX-License-Identifier: LGPL-2.0\+" | xargs sed -i "s/SPDX-License-Identifier: LGPL-2.0+/SPDX-License-Identifier: LGPL-2.0-or-later/"
2019-10-18 21:57:54 +02:00
Mael Rouxel-Labbé eb2942bc37 No more lies about the concept EdgeProfile, it does not exist.
Users cannot actually set any model, it is hardcoded to be SMS::Edge_profile
2019-10-17 16:19:47 +02:00
Mael Rouxel-Labbé 4ec28cb79b Add a traits class member to Surface_mesh_simplification
Can be passed via named parameters, must be compatible with the VPM
2019-10-17 15:35:56 +02:00
Mael Rouxel-Labbé d7e26020f4 Minor cleaning (no real changes) 2019-10-17 12:53:04 +02:00
Mael Rouxel-Labbé 7b1547d1f0 Continue improving Surface_mesh_simplification
- Use BGL functions
- Simplify trivially simplifiable code
- Use proper nomenclature (no camel code, stop using capital
  on members, etc.)
- Fix Edge and Halfedge being mixed (edge_index_map
  being a halfedge index map, etc.)
- Get rid of package specific macros so that assertions are
  actually doing something
- Minor indentation changes
2019-10-16 16:01:26 +02:00
Mael Rouxel-Labbé a88382283b Clean weird and useless converter shenanigans in OpenMesh-based simplification
Profile::Point is by definition equal to Profile::VPM::value_type,
so it is not converting anything.

Users are free to pass a custom VPM, and in that case things will break
because there is no proper geom traits being passed, but this is an
independent issue that must be fixed.
2019-10-16 15:32:45 +02:00
Mael Rouxel-Labbé e4b2be3e4b Merge branch 'SMS-Add_GH_simplification-GF-old' into SMS-Add_GH_simplification-GF 2019-10-16 12:32:30 +02:00
Mael Rouxel-Labbé f121c194b4 Fixes for GH:
- Actually use the VPM
- Do not compute the planes needlessly: loop faces rather than vertices
- Some minor fixes
2019-10-16 11:06:12 +02:00
Mael Rouxel-Labbé ae3f7d1e1a Revert unpractical change (forces having to specify template parameters) 2019-10-15 14:00:55 +02:00
Mael Rouxel-Labbé d5a05392b0 Fix type 2019-10-15 13:59:09 +02:00
Mael Rouxel-Labbé c0b61fbace Mirror commit c6fc4568fe 2019-10-15 13:59:09 +02:00
Mael Rouxel-Labbé f026201511 Misc SMS cleaning 2019-10-15 13:59:09 +02:00
Mael Rouxel-Labbé 63e8bf841a Fix wrong sign 2019-10-15 13:59:09 +02:00
Mael Rouxel-Labbé cb3c68eca2 Rework the storing of cost marices for GH simplification 2019-10-15 13:59:09 +02:00
Mael Rouxel-Labbé 7b3a59f355 Remove undesired files 2019-10-15 13:59:07 +02:00
Mael Rouxel-Labbé d7f615dd6e Clean code 2019-10-15 13:58:13 +02:00
Baskin Senbaslar a662c97f00 map_type change to state_type 2019-10-15 13:58:13 +02:00
Mael Rouxel-Labbé bfdaf7f2de Do not return a cost if there is no placement (GH) 2019-10-15 13:58:13 +02:00
Baskin Senbaslar 2c37b32f92 borders are handled based on edges instead of vertices 2019-10-15 13:58:13 +02:00
Baskin Senbaslar 0e0c312bf4 garland&heckbert border bad simplification issue solved 2019-10-15 13:58:13 +02:00
Baskin Senbaslar cd7fd75efc GarlandHeckbert_cost_stop_predicate added 2019-10-15 13:58:13 +02:00
Baskin Senbaslar 9438b6c168 several changes, fix the issue with plane normal normalization 2019-10-15 13:58:10 +02:00
Sébastien Loriot c6fc4568fe do not collapse an edge is the placement cannot be computed 2019-08-19 13:45:45 +02:00
Sébastien Loriot 25a05e9f4c Merge branch 'CGAL-named_function_parameters-4.14' into master
Conflicts resolved by hand
2019-07-28 23:46:43 +02:00