Commit Graph

389 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 4315a87beb Make some minor hardcoded value parameters 2024-02-27 13:28:27 +01:00
Mael Rouxel-Labbé b4bc7ee168 Remove useless parameter simplify API call 2024-02-26 17:55:26 +01:00
Mael Rouxel-Labbé b905a8f41a Add missing function in IsosurfacingDomain_3 concept 2024-02-26 17:54:17 +01:00
Mael Rouxel-Labbé 472c4c6e35 Use the free functions to construct domains in the most basic examples 2024-02-26 16:30:55 +01:00
Mael Rouxel-Labbé f012ff930d Fix creating isolated vertices in MC 2024-02-26 16:17:21 +01:00
Mael Rouxel-Labbé 001a6a186c Use a hash map in TBB-less Marching Cubes 2024-02-26 16:16:28 +01:00
Mael Rouxel-Labbé b60de052f1 Remove tmp code 2024-02-26 16:15:38 +01:00
Mael Rouxel-Labbé 99f07e7f96 Remove accidental (and pointless) usages of NPs meant for DC in MC 2024-02-26 16:14:42 +01:00
Mael Rouxel-Labbé f686fae8ef Tiny iostream change 2024-02-26 14:20:18 +01:00
Mael Rouxel-Labbé f22de55113 Add point caching 2024-02-26 13:45:31 +01:00
Mael Rouxel-Labbé 125ae6377a Benchmarks fixes 2024-02-25 01:54:43 +01:00
Mael Rouxel-Labbé d72d150f65 Silence warnings 2024-02-25 01:07:00 +01:00
Mael Rouxel-Labbé d5a7e902b4 Use traits functors, not CGAL object class member functions 2024-02-25 00:54:59 +01:00
Mael Rouxel-Labbé f45a2bf0ff Minor doc change 2024-02-25 00:30:33 +01:00
Mael Rouxel-Labbé 61e435c9c6 Fix bitset checks and type consistency 2024-02-25 00:30:10 +01:00
Mael Rouxel-Labbé 2d8b0e4d03 Fix compilation of benchmarks, remove obsolete includes 2024-02-24 23:56:19 +01:00
Mael Rouxel-Labbé 225fe9f89d Doc improvements 2024-02-24 23:11:58 +01:00
Mael Rouxel-Labbé 4ca692378b Minor API update for Cartesian_grid_3 2024-02-24 22:25:27 +01:00
Mael Rouxel-Labbé f6c22b9223 Remove obsolete files 2024-02-24 01:31:40 +01:00
Mael Rouxel-Labbé b1a5cb0d98 Update benchmarks 2024-02-24 01:27:42 +01:00
Mael Rouxel-Labbé ce7761d00b Use unordered maps 2024-02-24 00:15:49 +01:00
Mael Rouxel-Labbé 6e463a0f69 Simplify dichotomy + add proper error check 2024-02-24 00:15:09 +01:00
Mael Rouxel-Labbé 440122c1f6 Fix some warnings 2024-02-24 00:14:48 +01:00
Mael Rouxel-Labbé 7d3406a462 Misc minor changes 2024-02-23 16:19:19 +01:00
Mael Rouxel-Labbé aa3925d829 Follow the OG paper's prescription of the SVD threshold
It makes it less likely to have wild stuff happens on spiky geometry
2024-02-23 16:18:20 +01:00
Mael Rouxel-Labbé 5799dc8d15 Make DC Octree work (again) 2024-02-23 16:16:46 +01:00
Mael Rouxel-Labbé ad810b7db2 Add an undocumented example to compare MC and TMC 2024-02-23 10:43:27 +01:00
Mael Rouxel-Labbé a15340d061 Adjust input validity checks 2024-02-23 10:43:20 +01:00
Mael Rouxel-Labbé 2e4d3a7a07 Actually call MC 2024-02-23 10:43:13 +01:00
Mael Rouxel-Labbé 1d42bc58a9 Add missing header include 2024-02-23 10:43:06 +01:00
Mael Rouxel-Labbé f87b61234f Homogenize \return, gets, returns, etc. 2024-02-23 10:43:00 +01:00
Mael Rouxel-Labbé a23f15df28 Add two benchmarks for parallelism of implicit/image data 2024-02-23 10:42:52 +01:00
Mael Rouxel-Labbé 35cc806d59 Hide warning message behind macro 2024-02-23 10:42:46 +01:00
Mael Rouxel-Labbé 9a7c6b4573 Update examples following Image_3 IO changes 2024-02-23 10:42:38 +01:00
Mael Rouxel-Labbé 9841d9755c Minor doc fixes 2024-02-23 10:42:31 +01:00
Mael Rouxel-Labbé 8fc0e08356 Fix Isosurfacing_3's Image_3 IO: ref to 'grid' in 'values' must be stable 2024-02-23 10:42:20 +01:00
Mael Rouxel-Labbé a7c25006e0 Add some clamping 2024-02-23 10:42:10 +01:00
Mael Rouxel-Labbé 5383eda434 Allow resizing of the underlying data vector 2024-02-23 10:42:03 +01:00
Andreas Fabri bc05bcaca5 quiet the CI 2024-02-23 10:41:56 +01:00
Andreas Fabri 28d9c52591 Address some CI errors 2024-02-23 10:41:49 +01:00
Andreas Fabri d855831cab Address some CI errors 2024-02-23 10:41:38 +01:00
Andreas Fabri 3f0082dd97 change #includes in examples 2024-02-23 10:41:30 +01:00
Andreas Fabri ab244651e3 static_cast 2024-02-23 10:41:23 +01:00
Mael Rouxel-Labbé 2b32a81f30 Add missing header include 2024-02-23 10:41:17 +01:00
Mael Rouxel-Labbé 44c5f726e3 Update doc (new concepts, examples) 2024-02-23 10:40:46 +01:00
Mael Rouxel-Labbé 2ee864c7b0 Rewrite examples to emphasis data type and not contouring method 2024-02-23 10:40:37 +01:00
Mael Rouxel-Labbé 8e0140e641 New version of Isosurfacing_3:
- Completely restructure the domain classes to separate what is
  spatial partitioning, and what is value/gradient field definition.
- Improve DC edge-isosurfacing intersection, factorize code
- Refactor DC implementation to make it easier to use new (better)
  oracles
- Add concepts for these oracles, and document their models
2024-02-23 10:40:29 +01:00
Mael Rouxel-Labbé f9421efc89 Misc minor changes 2024-02-06 09:42:05 +01:00
Mael Rouxel-Labbé f4653e21a7 Precise comment 2024-02-06 09:36:21 +01:00
Mael Rouxel-Labbé 356c597e0e Fix narrowing conversion error 2024-01-31 16:38:04 +01:00
Mael Rouxel-Labbé 0549c36aaf Add a helper function to visualize a Cartesian_grid_3 object 2024-01-31 16:37:41 +01:00
Mael Rouxel-Labbé 22c8ae9169 Add default values for the parallel template parameter 2024-01-31 16:36:24 +01:00
Mael Rouxel-Labbé 7ac5b037a8 Type-erase the point function in Finite_diff_gradients_3 2024-01-31 16:34:54 +01:00
Mael Rouxel-Labbé 293f8ca146 Normalize gradients produced by Finite_diff_gradient_3 2024-01-31 16:33:53 +01:00
Mael Rouxel-Labbé 1530cd727b Misc minor changes 2024-01-25 11:44:41 +01:00
Mael Rouxel-Labbé ebe56a52ff Misc minor changes 2024-01-23 22:40:53 +01:00
Mael Rouxel-Labbé 00a6efef6b Don't compute placement if the cell is irrelevant 2024-01-23 22:40:16 +01:00
Mael Rouxel-Labbé fde721c471 Fix compilation after Eigen type changes 2024-01-23 22:29:06 +01:00
Mael Rouxel-Labbé 5aaf910d68 Change bounding box type
And other code improvements
2024-01-23 22:28:58 +01:00
Mael Rouxel-Labbé b2a98cbb7b Also rework the Octree domain to avoid aliases 2024-01-23 21:50:04 +01:00
Mael Rouxel-Labbé 449a5dc111 Misc minor doc / code fixes 2024-01-23 21:50:04 +01:00
Mael Rouxel-Labbé ddacceb7a7 Make implicit / explicit Cartesian domains inherit rather than aliases
+ document the constructor
2024-01-23 21:50:04 +01:00
Mael Rouxel-Labbé 23687c02ae Rework image from/to operators 2024-01-23 21:50:04 +01:00
Mael Rouxel-Labbé 932098c897 Fix range requirements 2024-01-23 21:50:04 +01:00
Julian Stahl c4002be297 Fix inrimage example 2024-01-23 13:54:09 +01:00
Mael Rouxel-Labbé f5b6b5934f Changes after R1 review 2024-01-17 16:58:35 +01:00
Andreas Fabri 3adf0d9484 fix tests 2024-01-16 11:26:31 +00:00
Andreas Fabri c558ba05a5 Update Isosurfacing_3/include/CGAL/Isosurfacing_3/internal/topologically_correct_marching_cubes_functors.h 2024-01-16 11:20:00 +01:00
Andreas Fabri f083aa4520 typo: face -> cell 2024-01-16 09:12:30 +00:00
Andreas Fabri 2baba7c94d typo 2024-01-16 08:23:20 +00:00
Andreas Fabri f61facedae polish and make the todos more readable 2024-01-16 08:15:45 +00:00
Andreas Fabri 7aba8d344d Fix dependencies and some backticks 2024-01-15 16:20:23 +00:00
Mael Rouxel-Labbé ae265012e3 Add missing citation 2024-01-15 17:00:38 +01:00
Mael Rouxel-Labbé aadc08b6f2 fix doc 2024-01-15 16:46:12 +01:00
Andreas Fabri f78e9ce819 doxygen warnings 2024-01-15 14:01:04 +00:00
Andreas Fabri 90fbd3bb04 doxygen warnings 2024-01-15 13:58:01 +00:00
Andreas Fabri 816a25895b Unify input and make that output can be written simultaneously (for example during the testsuite) 2024-01-15 13:46:15 +00:00
Julian Stahl 9a39ac9b61 Revert "Change comments"
This reverts commit b9bbc93d5b.
2024-01-15 11:30:21 +01:00
Julian Stahl a7e89b81ba Revert "Deduct GeomTraits template type"
This reverts commit ca1c78bbd0.
2024-01-15 11:29:23 +01:00
Julian Stahl 436cfe372c Deduct GeomTraits template type 2024-01-14 17:45:55 +01:00
Julian Stahl db58ee1e93 Change comments 2024-01-14 17:45:09 +01:00
Andreas Fabri 368be05c8a tiny fixes in user manual 2024-01-12 17:37:49 +00:00
Andreas Fabri decb99a624 Polygon -> Triangle 2024-01-12 17:37:10 +00:00
Andreas Fabri 46eaa3f145 example uses TBB 2024-01-12 16:55:45 +00:00
Mael Rouxel-Labbé 967dd08ec0 Fix some compilation errors 2024-01-09 12:04:57 +01:00
Mael Rouxel-Labbé 237940883d Add remarks 2024-01-09 10:59:48 +01:00
Pierre Alliez 7b18855e0c Example : Parallel vs sequential Marching cubes 2024-01-05 15:50:11 +01:00
Pierre Alliez 254818cf70 added example that compares parallel with sequential MC 2024-01-05 14:39:47 +01:00
Pierre Alliez 5d3859505a Merge branch 'gsoc2022-isosurface' of https://github.com/JulyCode/cgal into gsoc2022-isosurface
# Conflicts:
#	Isosurfacing_3/examples/Isosurfacing_3/dual_contouring_octree.cpp
2024-01-05 14:15:27 +01:00
Pierre Alliez 26848f3d67 Example DC on octree (still uses the octree wrapper) 2024-01-05 14:10:41 +01:00
Julian Stahl 8f85ff8844 Small doc change 2024-01-02 20:53:27 +01:00
Julian Stahl 3f3f08f977 Small fixes in examples 2024-01-02 20:52:07 +01:00
Julian Stahl 56ebc7b17b Remove unused imports 2024-01-02 20:03:39 +01:00
Julian Stahl ea95b6c3b6 Use eigen wrapper 2024-01-02 19:46:12 +01:00
Julian Stahl 86ac3311e8 Cast literals to correct type 2024-01-02 18:29:34 +01:00
Julian Stahl 2357d23d76 Change Eigen matrix to use correct type 2024-01-02 18:28:23 +01:00
Pierre Alliez d2c94538ae Few more minor changes to examples 2023-12-25 18:46:33 +01:00
Pierre Alliez d83fcf752c DC - iwp
updated figure
2023-12-25 18:34:59 +01:00
Pierre Alliez 60ed632e50 use CGAL timer instead of TBB 2023-12-25 18:17:04 +01:00
Pierre Alliez 4fd413619e Figure MC vs DC 2023-12-25 14:27:59 +01:00
Pierre Alliez e1634a256e added figure : output surface with boundaries 2023-12-25 14:15:21 +01:00
Pierre Alliez 5d9e631357 user manual
description
2023-12-25 14:05:12 +01:00
Pierre Alliez 829120a1f6 user manual 2023-12-25 11:48:42 +01:00
Pierre Alliez 4ad741df38 description 2023-12-25 11:07:03 +01:00
Pierre Alliez 570dfa468c replace bunny by tractor offset 2023-12-25 08:01:37 +01:00
Pierre Alliez aa32e71876 multiple offsets (for the teaser) 2023-12-24 18:40:18 +01:00
Pierre Alliez 5239cac781 example implicit sphere 2023-12-23 19:25:43 +01:00
Pierre Alliez f782daba86 Merge branch 'gsoc2022-isosurface' of https://github.com/JulyCode/cgal into gsoc2022-isosurface
# Conflicts:
#	Isosurfacing_3/examples/Isosurfacing_3/marching_cubes_implicit_sphere.cpp
2023-12-23 19:03:18 +01:00
Pierre Alliez 77649cdfc8 Example implicit sphere 2023-12-23 18:59:54 +01:00
Julian Stahl 70cf9535a2 Fix tmc synchronization 2023-12-20 13:56:02 +01:00
Julian Stahl 499e0a8a2c Start rework and testing 2023-08-09 00:55:59 +02:00
Julian Stahl 6cacbee79f Fix Cartesian_grid_3 segfault 2023-03-14 12:21:36 +01:00
Mael Rouxel-Labbé 01c0a1434e Enhancements & fixes after Round1 review
https://cgal.geometryfactory.com/CGAL/Members/wiki/Features/Isosurfacing_3/1st_round
2023-02-14 16:37:37 +01:00
Mael Rouxel-Labbé 02fba3afd6 Doc fixes 2023-02-06 15:02:14 +01:00
Julian Stahl cf648ed37c Remove whitespace 2023-02-06 15:01:31 +01:00
Mael Rouxel-Labbé fdcb180242 Revert "Replace Explicit_Cartesian_grid_geometry with Implicit_cartesian_grid_geometry"
This reverts commit bbd02550ff.

See discussion in initial commit:
bbd02550ff
2023-01-27 22:29:31 +01:00
Julian Stahl 209af6e64b Fix MSVC conversion error 2023-01-24 14:09:09 +01:00
Julian Stahl 40deb97794 Replace Explicit_Cartesian_grid_geometry with Implicit_cartesian_grid_geometry 2023-01-24 14:08:16 +01:00
Pierre Alliez 155a844e38 Merge branch 'gsoc2022-isosurface' of github.com:JulyCode/cgal into gsoc2022-isosurface 2023-01-19 13:05:29 +01:00
Pierre Alliez 832434a8b7 user manual: leave comments into [] 2023-01-19 13:05:18 +01:00
Mael Rouxel-Labbé 98ecfe8b21 Move \cgalrefines lower because \brief goes automatically above \cgalrefines 2023-01-19 13:03:33 +01:00
Pierre Alliez 491b12ac89 Global pass on isosurfacing: ref and user manual, improve a bit consistency of terms. 2023-01-19 11:59:28 +01:00
Mael Rouxel-Labbé 72f82ca1ff Describe what concepts are for 2023-01-18 11:00:48 +01:00
Mael Rouxel-Labbé ab35faf3e5 Simplify traits class 2023-01-18 11:00:21 +01:00
Mael Rouxel-Labbé 6e5504a453 Minor fixes 2023-01-17 17:10:35 +01:00
Mael Rouxel-Labbé 00fe9a9a4f Minor fixes 2023-01-16 14:28:57 +01:00
Mael Rouxel-Labbé 1ee5b90f1b Concept fixes 2023-01-14 19:05:26 +01:00
Mael Rouxel-Labbé 085ac024ac Fix namespace 2023-01-14 00:54:20 +01:00
Mael Rouxel-Labbé 77cd381ca1 Small doc fixes 2023-01-14 00:03:46 +01:00
Mael Rouxel-Labbé c1aeeed055 Misc small code fixes / improvements 2023-01-14 00:02:57 +01:00
Mael Rouxel-Labbé c4a298b6dd Bump up CMake version 2023-01-14 00:02:04 +01:00
Mael Rouxel-Labbé 4ee5f28c54 Refactor Isosurfacing_3 2023-01-14 00:00:54 +01:00
Mael Rouxel-Labbé c47b16c9de Update year 2023-01-11 13:35:46 +01:00
Mael Rouxel-Labbé 6633d4714f Remove shared pointers 2023-01-09 17:36:46 +01:00
Mael Rouxel-Labbé 67e45ce48a Fix comment (Manhattan distance is the L1 norm) 2023-01-09 11:07:46 +01:00
Mael Rouxel-Labbé 88c79dc237 Remove pointless template from Zero_gradient 2023-01-09 11:06:54 +01:00
Mael Rouxel-Labbé d7bc1ecc21 Tiny examples / tests fixes 2023-01-09 11:06:21 +01:00
Mael Rouxel-Labbé 4b3b9dda98 Doc improvements 2023-01-09 11:04:52 +01:00
Mael Rouxel-Labbé d52468c350 Move most headers into include/CGAL/Isosurfacing_3 2023-01-06 22:31:07 +01:00
Mael Rouxel-Labbé 93a59fcd77 4 --> 2 spaces indentation and "typedef" --> "using" 2023-01-06 17:45:10 +01:00
Julian Stahl 271b455d4a Change zero vector to member 2022-12-09 16:17:45 +01:00
Julian Stahl 67bf9af86a Replace iso(-|_)value with isovalue 2022-12-08 21:06:06 +01:00
Julian Stahl 0336c3315f Fix include and some formulations 2022-12-08 21:02:49 +01:00
Julian Stahl cb63a646b4 Document code 2022-12-08 16:45:48 +01:00
Julian Stahl 46149a6882 Separate gradients into more files 2022-12-03 20:13:07 +01:00
Julian Stahl d4528dd067 Improve reference manual 2022-12-03 20:12:38 +01:00
Andreas Fabri ec3162912b typos 2022-11-24 07:41:05 +00:00
Andreas Fabri 855987c77a superficial doc fixes 2022-11-23 14:19:50 +00:00
Andreas Fabri 79acf4f993 Use CGAL_PI and add dependencies file in the documentation 2022-11-23 12:07:11 +00:00
Andreas Fabri 35ad0e0b50 Add return 0 and whitespace 2022-11-23 10:57:16 +00:00
Andreas Fabri f06bbd7313 backtick and whitespace 2022-11-23 10:44:13 +00:00
Andreas Fabri 16a89b8d01 Move #include of license check file 2022-11-23 10:21:00 +00:00
Pierre Alliez 1a50b533c7 massaging Isosurfacing examples
rename mesh offset to signed mesh offset
2022-11-21 19:37:24 +01:00
Pierre Alliez e627a68205 massaging documentation (first global pass) 2022-11-21 08:29:28 +01:00
Pierre Alliez 87217eeba5 second pass over examples 2022-11-20 18:57:23 +01:00
Pierre Alliez 6078e1ddc5 more massage on the doc.
some comments/todo for Julian, to discuss
2022-11-20 18:42:21 +01:00
Pierre Alliez 8c00951ecb massaging documentation (work in progress) 2022-11-20 18:12:04 +01:00
Pierre Alliez d381e38296 massaging examples and doc (work in progress) 2022-11-20 17:32:14 +01:00
Julian Stahl 97beade7ef Remove trailing whitespace 2022-11-18 01:49:50 +01:00
Julian Stahl 65f975d697 Extend the package description 2022-11-18 01:39:10 +01:00
Julian Stahl 30d9c1d595 Further improve user manual 2022-11-18 01:20:35 +01:00
Julian Stahl 4942129f4b Fix non utf8 char 2022-11-11 23:58:31 +01:00
Julian Stahl 9752692b25 Add more reference doc 2022-11-11 23:43:24 +01:00
Julian Stahl 5a31df49de Use shared_ptr from user and fix compile errors 2022-11-11 22:06:21 +01:00
Julian Stahl 777a39c65a Change domain members to shared_ptr 2022-11-03 19:11:53 +01:00
Julian Stahl 2b22009983 Fix cell_edges in Octree_wrapper 2022-10-02 14:58:52 +02:00
Julian Stahl 4104d0e7df Specialize domain with gradient in doc 2022-10-01 21:08:07 +02:00
Julian Stahl 4586dabb14 Add missing template specifier 2022-09-27 14:41:27 +02:00
Julian Stahl 5a28b1ff22 Specify base class template params and add missing tags 2022-09-22 00:46:05 +02:00
Julian Stahl 73f07b59c0 Add missing typedefs 2022-09-21 14:33:07 +02:00
Julian Stahl 57668f744b Add parenthesis around min / max 2022-09-21 01:32:22 +02:00
Julian Stahl f23bde11ec Only compute dim once 2022-09-21 01:12:15 +02:00
Julian Stahl fe43c7f09c Always add benchmark definitions 2022-09-21 01:03:19 +02:00
Julian Stahl 9196bad565 Fix tests and benchmark 2022-09-21 00:55:39 +02:00
Julian Stahl b617e090bd Replace handle and tag parameter 2022-09-21 00:23:02 +02:00
Julian Stahl 533e23fab1 Make examples run shorter 2022-09-21 00:22:15 +02:00
Julian Stahl 30f71523cd Merge branch 'gsoc2022-isosurface' of github.com:JulyCode/cgal into gsoc2022-isosurface 2022-09-20 23:42:14 +02:00
Julian Stahl 30e3475974 Update examples to use new domains 2022-09-20 23:41:31 +02:00
Julian Stahl 0f59fb58cc Add trilinear interpolation to gradients in grid 2022-09-20 23:40:11 +02:00
Julian Stahl 05792f846a Add operator() to grid 2022-09-20 23:38:42 +02:00
Julian Stahl 5002d8c16c Move Cell_type 2022-09-20 23:33:31 +02:00
Julian Stahl a649221899 Refactor domains to separate topology, geometry, function, gradient 2022-09-20 23:32:59 +02:00
Sébastien Loriot 2d62e881c4 update dependencies 2022-09-20 17:12:35 +02:00
Sébastien Loriot 618e47d4ba missing include statement 2022-09-20 13:32:39 +02:00
Sébastien Loriot 9d8afee2a9 add missing include statement 2022-09-20 11:32:50 +02:00
Sébastien Loriot c528f09722 fix compilation errors 2022-09-20 10:12:50 +02:00
Sébastien Loriot 0819991b59 handle case when tbb is not present 2022-09-19 21:21:59 +02:00
Daniel Zint ec48e7389f Remove Cubes_table from Dual Contouring 2022-09-19 15:42:53 +02:00
Daniel Zint cd2fe4627b replace tabs by whitespaces 2022-09-19 14:51:54 +02:00
Daniel Zint 2ff88cb02c Generalize Dual Contouring to run on any domain. 2022-09-19 14:36:52 +02:00
Daniel Zint f6cdcb4441 Make sure that the faces are generated correctly, also on boundaries, i.e. faces around boundary cell edges are ignored. 2022-09-19 14:17:21 +02:00
Daniel Zint 29e725d59b Generalize position computation for Dual Contouring. 2022-09-19 12:05:16 +02:00
Daniel Zint 66c441c2f8 Add description of Dual Contouring. 2022-09-16 12:39:20 +02:00
Julian Stahl dadc205da5 Disable some examples if Eigen is not found 2022-09-16 10:15:16 +02:00
Andreas Fabri 63aeab326c Make examples compile with VC++ 2022-09-16 07:42:13 +01:00
Julian Stahl 5c1ad94140 Rename algorithms and use data_file_path 2022-09-15 18:09:26 +02:00
Julian Stahl b10a086fe6 Merge TMC into MC and change naming 2022-09-15 17:41:03 +02:00
Sébastien Loriot c3774d83c2 trailing whitespaces 2022-09-15 16:57:13 +02:00
Sébastien Loriot 37fe3d8778 add new license header 2022-09-15 16:55:35 +02:00
Sébastien Loriot ff3c63d596 fix project name 2022-09-15 16:49:50 +02:00