Commit Graph

337 Commits

Author SHA1 Message Date
Guillaume Damiand 7a59ed1a1d Bug fix 2020-04-27 18:37:58 +02:00
Guillaume Damiand 5385d2155a Add generic map selector for polygon schema 2020-04-27 18:37:58 +02:00
Sébastien Loriot 24f684092d Update from master (while rebasing)
Original merge commit:
    commit 2e4a18e3e6f73c41d4935aed22330adf83f99f28 (HEAD)
    Merge: b91b6cab3a1 29f973a616
    Author: Guillaume Damiand <guillaume.damiand@liris.cnrs.fr>
    Date:   Thu Mar 12 18:05:22 2020 +0100

        Merge master; NYF
2020-04-27 18:34:34 +02:00
Thien Hoang 931637b65f Fix SNC not working correctly with boundary 2020-04-27 18:20:16 +02:00
Thien Hoang ed14349fa1 Make Facewidth return an alternating sequence of darts for vertices and faces 2020-04-27 18:20:16 +02:00
Thien Hoang 141e38f771 Remove redundant code 2020-04-27 18:20:16 +02:00
Thien Hoang 28c9b92a24 Fix Facewidth feature following Damiand's suggestions 2020-04-27 18:20:16 +02:00
Thien Hoang 5b001f72d8 Use unique_ptr, following Rineau's comment 2020-04-27 18:20:16 +02:00
Thien Hoang 7665677003 Fix Path_on_surface following Damiand's comments 2020-04-27 18:20:16 +02:00
Thien Hoang 9975cadefd Add Facewidth feature 2020-04-27 18:20:15 +02:00
Thien Hoang 08b2fb99e9 Modify test 2020-04-27 18:20:15 +02:00
Thien Hoang fb8956d3fa Add other functions in CST and modify examples 2020-04-27 18:20:15 +02:00
Thien Hoang fad13bb4ee Create compute_edgewidth in CST and modify an example 2020-04-27 18:20:15 +02:00
Thien Hoang 2009469413 Make Path_on_surface work with boundary 2020-04-27 18:20:15 +02:00
Thien Hoang 47e9507ea1 Change function names, use Path_on_surface now (examples not compilable though) 2020-04-27 18:20:15 +02:00
Sébastien Loriot e4d63837fd Merge remote-tracking branch 'gsoc2019-nccycles-thien' into Surface_mesh_topology-gdamiand
This is a merge done after the rebase of Surface_mesh_topology-gdamiand

  Original commit id:
    commit 5459085b7da44946a834ce155fcc4e9c83ad14b2 (HEAD)
    Merge: 8138ac72694 349759a0547
    Author: Thien Hoang <thienvhoang99@gmail.com>
    Date:   Sat Jul 13 02:46:50 2019 +0700
2020-04-27 18:07:48 +02:00
Sébastien Loriot 8bb22d5b2c extra run of the script to remove tabs and trailing whitespaces
right after the merge of the 5.0 release branch

+ manual fix of the files (indentation was changed in the meantime):
   * Spatial_sorting/include/CGAL/Multiscale_sort.h
   * Spatial_sorting/test/Spatial_sorting/test_multiscale.cpp
2020-03-26 14:26:59 +01:00
Guillaume Damiand 325b3dfade Add debug code: to remove later. 2020-01-08 09:40:16 +01:00
Thien Hoang 3c7fc6563e Remove vertex list and edge list, following Damiand's comments 2020-01-07 18:04:34 +01:00
Thien Hoang 70899a877d Rename some types and refactor code 2020-01-07 18:04:34 +01:00
Thien Hoang 49c2b5f854 Wrap the class inside namespace Surface_mesh_topology 2020-01-07 18:04:34 +01:00
Thien Hoang 0202f2eeca Improve time performance 2020-01-07 18:04:34 +01:00
Thien Hoang 5c6a44fdd0 Make it work with Polyhedron and add tests for this type 2020-01-07 18:04:33 +01:00
Thien Hoang d5717f5ef2 Add test file 2020-01-07 18:04:33 +01:00
Guillaume Damiand 345c17f2fa Copy of CMap and GMap returns now handle instead of const_handle. 2020-01-07 18:04:33 +01:00
Thien Hoang d03ae160c6 Rename Get_opposite to opposite 2020-01-07 18:04:33 +01:00
Thien Hoang 3fa7aaeaeb Make SNC work with Combinatorial_map and Surface_mesh 2020-01-07 18:04:33 +01:00
Thien Hoang b6652f0464 Fix unsew example errors 2020-01-07 18:04:33 +01:00
Thien Hoang deee186789 Remove explicit specialization for find_spanning_tree 2020-01-07 18:04:33 +01:00
Thien Hoang a97d60c254 Explicit speciliazation is not allowed in class 2020-01-07 18:04:33 +01:00
Thien Hoang 97fa397014 Add 3 examples 2020-01-07 18:04:33 +01:00
Thien Hoang 6b167860d7 Use reserve for vectors, fix some bugs 2020-01-07 18:04:33 +01:00
Thien Hoang 6330f6669a Update following Damiand and Rineau comment 2020-01-07 18:04:32 +01:00
Thien Hoang 5ba0fe47d6 Remove some comments 2020-01-07 18:04:32 +01:00
Thien Hoang 21b599dcdd Improve general performance, set up 1-attribute, fix correspondence issue between original and copied map 2020-01-07 18:04:32 +01:00
Thien Hoang 55e2026867 Fix some bugs, change find_cycle params, add edge_width function, revert vertex_visited 2020-01-07 18:04:32 +01:00
Thien Hoang 0ca0b68fdc Update spanning tree and trace index after updating distance 2020-01-07 18:04:32 +01:00
Thien Hoang 252ccbaf4c Add Dijkstra algorithm 2020-01-07 18:04:32 +01:00
Thien Hoang d81d6ca6ec Set up 2-attribute 2020-01-07 18:04:32 +01:00
Thien Hoang 3e39318941 Change Path type 2020-01-07 18:04:32 +01:00
Thien Hoang 0171659bcf Use attributes for vertices, remove boolean marks 2020-01-07 18:04:32 +01:00
Thien Hoang e4dcdec00c Update following Damiand's comments 2020-01-07 18:04:32 +01:00
Thien Hoang 007d3da058 Fix important bug: m_gmap type must be a reference. 2020-01-07 18:04:32 +01:00
Thien Hoang 7a6bc55b62 Fix path tracing 2020-01-07 18:04:32 +01:00
Thien Hoang ea4c8a4a50 Initializing value for ind should be done once 2020-01-07 18:04:32 +01:00
Thien Hoang 7907a48bac Fix typo in function name: indices instead of indicies 2020-01-07 18:04:32 +01:00
Thien Hoang 8cbe859992 Free index marks 2020-01-07 18:04:31 +01:00
Thien Hoang 99cb89e63f Add BFS trace, index marks for vertices, and construct the cycle 2020-01-07 18:04:31 +01:00
Thien Hoang ce77577040 Remove some private variables 2020-01-07 18:04:31 +01:00
Thien Hoang 8698ac032b Change darts_of_cell to one_dart_per_incident_cell 2020-01-07 18:04:31 +01:00
Thien Hoang 1fb4f9cabe Find BFS spanning tree and find E_noncon 2020-01-07 18:04:31 +01:00
Guillaume Damiand 2c76e00d65 Replace char* by std::string for polygonal schema. 2019-12-18 11:33:23 +01:00
Guillaume Damiand faca9d7804 Bug fix with list iterators; update tests. 2019-12-18 10:03:07 +01:00
Guillaume Damiand 076cd0cc61 Warning on windows with strncpy 2019-12-18 08:55:30 +01:00
Guillaume Damiand 8ba6f2e3ca More warning with random get_int. 2019-12-18 08:47:17 +01:00
Guillaume Damiand 2c7ded8c63 Replace --end() by std::prev(end()) for std lists (even if --end() is supposed to work...) 2019-12-17 15:59:54 +01:00
Guillaume Damiand 633ea3e9cf Cannot swap in vector<bool> 2019-12-17 15:58:47 +01:00
Guillaume Damiand 937c334802 Remove warnings. 2019-12-17 11:05:38 +01:00
Guillaume Damiand 1ab90bc27e Remove warnings. 2019-12-11 15:28:11 +01:00
Guillaume Damiand 4da4ffe77e More warnings 2019-12-10 14:24:32 +01:00
Guillaume Damiand b81d694353 Update draw to test also environement variable. 2019-12-03 16:22:23 +01:00
Guillaume Damiand ca753748a3 is_border -> is_perforated 2019-12-03 15:17:29 +01:00
Guillaume Damiand 8be7c183b4 Remove warnings (thanks @sloriot) 2019-11-29 15:51:34 +01:00
Guillaume Damiand 023ec9c23c Wrong percentage 2019-11-29 12:24:27 +01:00
Guillaume Damiand 13dc3f75db Remove some debug code; merge two steps in one. 2019-11-28 14:00:23 +01:00
Guillaume Damiand 90457b38c7 Update licences 2019-11-26 14:21:39 +01:00
Guillaume Damiand 6f24898d67 Remove some warnings 2019-11-26 13:10:44 +01:00
Guillaume Damiand fa7e93b03b Update tests; bug fix; method with borders seems ok now. 2019-11-26 11:35:18 +01:00
Guillaume Damiand a5240b4477 Case with boundaries. 2019-11-25 16:57:19 +01:00
Guillaume Damiand 7d6b31e670 Add test for surface mesh topology 2019-11-24 20:49:15 +01:00
Guillaume Damiand 8dc0d92da5 Minor update in the doc. 2019-11-22 13:47:12 +01:00
Guillaume Damiand a05200fb52 End of cleanup. Remove debug code; rename data members; comment. 2019-11-22 13:30:20 +01:00
Guillaume Damiand 29b6ac8e86 Clean 2019-11-22 11:19:26 +01:00
Guillaume Damiand 3f86217059 Clean 2019-11-22 11:19:07 +01:00
Guillaume Damiand 7b243d41aa Clean Polygonal_schema 2019-11-22 11:18:52 +01:00
Guillaume Damiand 155372134d More cleanup; doc and renaming of some inner variables. 2019-11-22 10:45:39 +01:00
Guillaume Damiand a11e377561 Add comments; cut line > 80 car; some cleanup. 2019-11-22 09:59:55 +01:00
Guillaume Damiand 8d976c2192 Cleanup (doc + use smart pointer) 2019-11-22 09:18:18 +01:00
Guillaume Damiand f69195b869 Case with boundaries; seems to work. TODO: more tests; cleanup code. 2019-11-22 09:03:13 +01:00
Guillaume Damiand 56ae2240d2 Continue case with perforated faces. 2019-11-21 17:43:40 +01:00
Guillaume Damiand 06102c9fc8 Update is_valid for mpaths. 2019-11-21 11:18:56 +01:00
Guillaume Damiand d4c2b13da6 Continue case with boundary. 2019-11-21 11:12:48 +01:00
Guillaume Damiand 15186ce2e4 Continue case with perforated faces. 2019-11-21 09:56:42 +01:00
Guillaume Damiand c94c1a0874 Continue case with perforated faces. 2019-11-20 16:04:04 +01:00
Guillaume Damiand e950d0c592 Update 2019-11-17 16:32:20 +01:00
Guillaume Damiand 3475491552 Improve the method that update pair of darts; still a bug for perfocated faces. 2019-11-16 17:25:30 +01:00
Guillaume Damiand 19b831f9d6 Debug case with boundary (nyf) 2019-10-04 13:38:23 +02:00
Guillaume Damiand f0c4a3e5b4 Bugfix in minimal quadrangulion, nyf 2019-09-18 16:32:25 +02:00
Guillaume Damiand e44fef7d0b Update polygonal schema to allow to perforate faces; impact on face graph wrapper. 2019-09-17 16:04:38 +02:00
Guillaume Damiand bd2a504af6 Bug fixes; improve face graph wrapper 2019-09-17 11:41:45 +02:00
Guillaume Damiand 3861f153f0 Bug fixes in path on surface. 2019-09-06 14:21:56 +02:00
Guillaume Damiand bc826b81a2 Bugfix in debug code 2019-09-06 14:21:02 +02:00
Guillaume Damiand 078429ffd3 Debug path on surfaces for case of surface with boundaries. 2019-09-05 17:50:34 +02:00
Guillaume Damiand 51093763cb Update path with rle 2019-09-02 15:01:28 +02:00
Guillaume Damiand 5431b21493 Update path homotopy to deal also with surfaces with boundaries. 2019-08-28 15:39:24 +02:00
Guillaume Damiand 4d227e837e Bug fix 2019-07-12 15:12:41 +02:00
Guillaume Damiand 4ca4fc248d Remove warning 2019-06-28 14:40:24 +02:00
Guillaume Damiand dda46d4ce3 Small cleanup; NULL->nullptr. 2019-06-28 11:51:27 +02:00
Guillaume Damiand e7d75acbaf Add missing file 2019-06-27 17:09:44 +02:00
Guillaume Damiand 639ffe8afa Refactoring of class Curves_on_surface_topology to make the homotopy test lazy. 2019-06-27 17:09:15 +02:00
Guillaume Damiand 1dbc088459 Update licences; move undocumented files to internal (both directory and namespace) 2019-06-20 16:51:53 +02:00
Guillaume Damiand 9e11266307 Update doc and code accordingly to review 4. 2019-06-18 17:34:55 +02:00
Guillaume Damiand 7ad75e80fd Ok for Polygonal schema (code, examples and doc) 2019-06-18 16:23:05 +02:00
Guillaume Damiand d997874d64 Move get_opposite_label function in internal namespace. 2019-06-17 17:58:07 +02:00
Guillaume Damiand 6776822732 Add facet with initializer list 2019-06-17 17:36:39 +02:00
Guillaume Damiand f80af5af90 Update to use new version of Polygonal_schema 2019-06-17 14:26:37 +02:00
Guillaume Damiand fb094f7aaa Cont Polygonal_schema 2019-06-17 08:42:33 +02:00
Guillaume Damiand de48d6df31 Add polygonal schema min item 2019-06-14 16:47:54 +02:00
Guillaume Damiand bf35f049e6 Start to implement Polygonal_schema: nyf 2019-06-14 16:38:47 +02:00
Guillaume Damiand e375a1ba1a Update following Andreas review step 2 2019-05-10 14:38:25 +02:00
Guillaume Damiand cce91c8509 Update Path_on_surface doc following Andreas comments. 2019-05-10 14:09:01 +02:00
Guillaume Damiand 46cee6a6da Rename class Surface_mesh_curve_topology in Homotopy_tester 2019-05-10 14:00:41 +02:00
Guillaume Damiand 6b2d9d371f Update open_path_homotopy example to use Surface_mesh instead of LCC. 2019-04-19 13:30:20 +02:00
Guillaume Damiand 63ba464e7d Add a test in cmap2 incremental builder. 2019-04-05 11:56:29 +02:00
Guillaume Damiand 35634bdef3 Add computation of normal for face graphs. 2019-04-05 11:33:47 +02:00
Guillaume Damiand a7c77c13f1 Test boost version for knuth_morris_pratt_search; which has changed its api. 2019-04-04 18:55:42 +02:00
Guillaume Damiand afa2417c16 Update lcc viewer with path to deal with Surface mesh and Polyhedron 2019-04-04 18:47:49 +02:00
Guillaume Damiand 260b3e54e3 Update 2019-04-04 15:51:15 +02:00
Guillaume Damiand b13257f027 Updates after Andreas first review. 2019-03-27 14:03:53 +01:00
Guillaume Damiand e32fbe31e3 Remove debugging message 2019-03-19 09:05:15 +01:00
Guillaume Damiand 26853f660a Bugfix in asserts 2019-03-18 18:46:10 +01:00
Guillaume Damiand 18182663ba Bug fix 2019-03-15 16:53:25 +01:00
Guillaume Damiand 8e649a9d5d Start to add method to import Polyhedron and SM into a CMap. 2019-03-14 21:34:05 +01:00
Guillaume Damiand aa9091a4cb Remove debug message 2019-03-14 17:07:25 +01:00
Guillaume Damiand 7df66260b1 Bug fix in case of torus. 2019-03-14 17:03:25 +01:00
Guillaume Damiand 3c12891a79 Add method in Path_on_surface 2019-03-14 15:30:37 +01:00
Guillaume Damiand d8019e2b18 Update computation of paths for torus case. 2019-02-06 10:50:06 +01:00
Guillaume Damiand c01772f173 Update of the homotopy method for torus case. 2019-02-01 17:52:53 +01:00
Guillaume Damiand 32e5d1c788 Use int to count number of edges, since we can have negative numbers. 2018-12-21 10:31:43 +01:00
Guillaume Damiand a211e558ee Copy methods are now able to keep mappings from copy to origin, and from origin to copy. 2018-12-20 08:51:04 +01:00
Guillaume Damiand a3b2c55f88 By default, use default_random when generating random paths. 2018-12-18 17:55:49 +01:00
Guillaume Damiand a7f0661960 Cleanup; add some const; replace some assert by CGAL_assertion 2018-12-18 17:35:37 +01:00
Guillaume Damiand 410ce8b3f8 Remove a todo 2018-12-18 17:13:04 +01:00
Guillaume Damiand 53fa00cabf Remove old and unused Path_on_surface_with_rle class. 2018-12-18 17:10:59 +01:00
Guillaume Damiand b412e19e41 Add a test for case of sphere. 2018-12-18 16:56:59 +01:00
Guillaume Damiand 9aaaca3702 Bug fix for path with rle constructor. 2018-12-18 11:30:58 +01:00
Guillaume Damiand 0a7c9bc6d9 Cleanup; plus avoid some path copy. 2018-12-18 10:54:23 +01:00
Guillaume Damiand f906652100 Bug fix right shift a full l-shape 2018-12-17 12:52:47 +01:00
Guillaume Damiand a3fcbc4afa Add trace 2018-12-17 10:42:14 +01:00
Guillaume Damiand 5fc6387061 More simplification of flats 2018-12-16 19:57:48 +01:00
Guillaume Damiand d9a9b2f1a3 Use a new method to merge modified flats. 2018-12-16 18:39:56 +01:00
Guillaume Damiand b9f536d16a Need more possible merge of flats. 2018-12-16 09:50:24 +01:00
Guillaume Damiand 6cd31734a2 Need more possible merge of flats. 2018-12-16 09:47:43 +01:00
Guillaume Damiand 99e2fc2188 One more bugfix 2018-12-15 19:06:08 +01:00
Guillaume Damiand 18020c3bf1 One more case ok. 2018-12-14 16:40:53 +01:00
Guillaume Damiand 4145e99a10 All tests are now ok 2018-12-14 16:14:00 +01:00
Guillaume Damiand 78df3aace4 Ok for bracket tests 2018-12-14 14:54:33 +01:00
Guillaume Damiand 1109a55b4b Tests for surface mesh topology. 2018-12-14 12:29:52 +01:00
Guillaume Damiand d3a7a06b51 Update lcc with paths viewer. 2018-12-14 10:49:01 +01:00
Guillaume Damiand cdc1445a4d Updates 2018-12-14 09:32:53 +01:00
Guillaume Damiand a737779d9c One more special case for right shift 2018-12-13 21:36:52 +01:00
Guillaume Damiand 1a87ba0ddf Bug fixes; nyf 2018-12-13 17:43:20 +01:00
Guillaume Damiand 05d1ad1f97 Lot of bug fixes. 2018-12-13 11:59:46 +01:00
Guillaume Damiand a0a9f55b90 Reduce flat methods return now if the flat disapeared or not. 2018-12-13 08:08:46 +01:00
Guillaume Damiand f01a638e85 Continue refactoring 2018-12-12 21:37:19 +01:00
Guillaume Damiand bb8139376d Keep old version of path with rle 2018-12-12 17:44:02 +01:00
Guillaume Damiand 200a756f8a Start refactoring of Path_with_rle 2018-12-12 17:43:39 +01:00
Guillaume Damiand 7a10d24964 Add debug code 2018-12-12 17:43:14 +01:00
Guillaume Damiand 5766098d4d Again some bug in right push; maybe a trouble with the method ?? 2018-12-07 17:49:16 +01:00
Guillaume Damiand abfaba3e98 Bug fix 2018-12-07 12:18:24 +01:00
Guillaume Damiand 1cd69f2708 Add assert' 2018-12-07 11:51:14 +01:00
Guillaume Damiand 2b5fe6f50c Bugfix 2018-12-07 10:29:58 +01:00
Guillaume Damiand 21a145f2b3 Use info only if we use v3. 2018-12-06 22:15:59 +01:00
Guillaume Damiand b7523a82cd Use a Combinatorial_map (without embedding) to represent the reduced map. 2018-12-06 22:07:09 +01:00
Guillaume Damiand 4da556f393 No directive after ifdef. 2018-12-06 18:01:36 +01:00
Guillaume Damiand 0c2e7f14f1 Update path with rle to allow 3 methods to compute turns. 2018-12-06 11:02:04 +01:00
Guillaume Damiand 1422bbb37a is_contractible: case of genus 1 ok. 2018-12-05 21:59:02 +01:00
Guillaume Damiand 874d134e0c Case of genus 1 ok. 2018-12-05 21:29:46 +01:00
Guillaume Damiand b513f7c9c2 Start the case of genus 1 surfaces. 2018-12-04 14:02:01 +01:00
Guillaume Damiand 02d7a468bb Add a test in the are_base_point_homotopic method. 2018-12-04 12:23:28 +01:00
Guillaume Damiand 68c6eb2d9d Add an option to display computation times; add new api for users. 2018-12-04 12:16:48 +01:00
Guillaume Damiand 4472eb42fd Rename file 2018-12-04 12:15:54 +01:00
Guillaume Damiand d778e8239d Some more bugfixes 2018-12-04 12:15:17 +01:00
Guillaume Damiand 629baba1d8 Improve reverse method. 2018-12-04 12:14:29 +01:00
Guillaume Damiand faaf4dd89e Some more bug fixes 2018-12-04 10:14:22 +01:00
Guillaume Damiand 184d5a8138 Bug fix 2018-12-03 21:55:17 +01:00
Guillaume Damiand 0ae1bad811 Bug fix 2018-12-03 21:32:52 +01:00
Guillaume Damiand 790d1c6b63 Bugfix 2018-12-03 16:11:56 +01:00
Guillaume Damiand b32a583e48 Add debugging code 2018-12-03 14:27:41 +01:00
Guillaume Damiand 05bb25687c Operator== linear for path with rle. 2018-12-03 09:58:57 +01:00
Guillaume Damiand fbc1da4278 Add tests for path and path with rle; lot of cleanup (nyf). 2018-11-30 17:38:57 +01:00
Guillaume Damiand 63352c5680 Continue refactoring 2018-11-29 13:14:54 +01:00
Guillaume Damiand 0720bb08ca Example for cmap builder is now ok both for cmap and gmap. 2018-11-29 12:58:07 +01:00
Guillaume Damiand fed81532ee Continue the refactoring, following the creation of new package Surface_mesh_topology 2018-11-29 10:58:40 +01:00
Guillaume Damiand 069df27061 Continue the refactoring, following the creation of new package Surface_mesh_topology 2018-11-29 10:58:21 +01:00
Guillaume Damiand 09d47a46c4 Small cleanup and comments 2018-11-28 17:50:38 +01:00
Guillaume Damiand fdd08e9287 Create new package Surface_mesh_topology; move related files in this package. 2018-11-28 15:56:10 +01:00