Skip to content
Closed
Show file tree
Hide file tree
Changes from 105 commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
c1dfe7d
Initial hexmeshing commit, Import query_replace
theo97490 Jun 19, 2024
5794aad
create_vertices_for_templates
theo97490 Jun 19, 2024
1d4027a
Working example for a substitution with either 1 / 2 initially marked…
theo97490 Jun 19, 2024
5ab7e49
Working example for 1/2 template substitution
theo97490 Jun 20, 2024
664b552
Query replace extension for custom marking init per template
theo97490 Jun 20, 2024
77b62fc
Temporary fix for a bug in Pattern_substituer
theo97490 Jun 21, 2024
2ad400b
Working 3-template substitution
theo97490 Jun 25, 2024
c4e37d0
Working 3-template substitution
theo97490 Jun 25, 2024
31fc30f
Switching to header files
theo97490 Jun 26, 2024
bf9f9a0
Odd/even planes marking
theo97490 Jun 27, 2024
74de966
Small fix for last commit
theo97490 Jun 27, 2024
dd417cf
Robust plane traversal (But issues with adjacent templates substitution)
theo97490 Jun 28, 2024
3bd66cc
Fix 3-cell substitution and face refining
theo97490 Jul 2, 2024
0cfaabd
Refine the connected 3-templates
theo97490 Jul 3, 2024
c5e8780
Fix sew3 of adjacent faces of 3template
theo97490 Jul 3, 2024
e781002
Working 1 iteration
theo97490 Jul 3, 2024
f86fe44
wip fix_impossible_cases()
theo97490 Jul 8, 2024
45096a2
Fix marking identified cell issue + Use 3-attr instead
theo97490 Jul 8, 2024
f57cea6
Huge changes (see description):
theo97490 Jul 9, 2024
e15917e
Fix 4-vsubtitution and Fix marking repair
theo97490 Jul 10, 2024
200018b
c++17 / compilation on windows fixes
theo97490 Jul 10, 2024
31c8431
Propagation almost functionnal
theo97490 Jul 11, 2024
18ae360
wip
theo97490 Jul 12, 2024
19a936b
wip Iteration 3 :
theo97490 Jul 17, 2024
c9b35c7
Full iteration working
theo97490 Jul 18, 2024
c247417
wip
theo97490 Jul 18, 2024
250fa61
Fix plane traversal edge case + validations scripts
theo97490 Jul 19, 2024
fe3add4
WIP Multi level refinement
theo97490 Jul 23, 2024
2e5e44e
WIP Multi refinement - OOM bug
theo97490 Jul 25, 2024
eb8046f
Multi Level Refinement works
theo97490 Jul 27, 2024
754148a
Fix unused lib + perf
theo97490 Jul 28, 2024
f100a53
Validation modularity
theo97490 Jul 31, 2024
2f52a1a
Multi threading domain subdivision/communication
theo97490 Aug 3, 2024
1461e0f
Multi threading: Marked cells communication
theo97490 Aug 5, 2024
e6354e0
Fix identification MT/ST
theo97490 Aug 7, 2024
8796c77
Multi threading : first iteration working
theo97490 Aug 9, 2024
b7e1944
Remove duplicated code for tree communications
theo97490 Aug 9, 2024
b8817a1
Multi threading : Rollback + New system
theo97490 Aug 13, 2024
2cf8d40
MT: fix 3 template ids
theo97490 Aug 24, 2024
a86b41d
GSOC 2024 submission commit
theo97490 Aug 25, 2024
7bc52d6
Small fix for MT + Fix faces_around_node assertion
theo97490 Aug 26, 2024
346eb85
Merge branch 'CGAL:master' into gsoc2024-hexahedral_mesh_generation-t…
theo97490 Aug 29, 2024
cea19f6
test push
gdamiand Aug 29, 2024
99b83fb
Fix plane dart storage after refinement
theo97490 Sep 2, 2024
e9cb63b
MT with multi level (wip)
theo97490 Sep 2, 2024
9bfee33
Minor fixes
theo97490 Sep 5, 2024
3c36ea6
first commit
hofwe Jun 3, 2025
169383b
resolution for the Debug mode compilation problem
hofwe Jun 16, 2025
995d8dd
split hexmeshing.h
hofwe Jun 25, 2025
2e4f128
add smoothing
hofwe Aug 7, 2025
1391d23
split hexmeshing_sequential.h
hofwe Aug 20, 2025
301ad9b
change the file to load
hofwe Aug 20, 2025
8d29755
Merge branch 'master' into gsoc2025-hexahedral_mesh_generation-syamazaki
hofwe Aug 27, 2025
6c2bdd4
adjust to latest cgal
hofwe Aug 27, 2025
c2a68af
add licence and copyright
hofwe Aug 29, 2025
7a4f009
delete unnecessary file
hofwe Sep 1, 2025
854cb15
trim trailing whitespaces
hofwe Sep 1, 2025
60979ce
delete huge files
hofwe Sep 1, 2025
b29557d
fix include file error
hofwe Sep 1, 2025
b66ad64
fix the way of reference external url
hofwe Sep 1, 2025
addd982
update dependencies
hofwe Sep 1, 2025
1bdd243
using html notation to href
hofwe Sep 1, 2025
0903fb5
organize the classes and examples
hofwe Sep 1, 2025
10363af
integrate classes into generate_two_refinement_mesh
hofwe Sep 22, 2025
15d398f
add generate_two_refinement_mesh in documentation
hofwe Sep 22, 2025
8752e3a
Correction anchor name in lcc doc
gdamiand Sep 23, 2025
c44a137
update hexmeshing example
gdamiand Sep 25, 2025
e38c102
Merge branch 'main' into gsoc2025-hexahedral_mesh_generation-syamazaki
gdamiand May 18, 2026
f8a6423
Merge branch 'main' into gsoc2025-hexahedral_mesh_generation-syamazaki
gdamiand Jul 28, 2026
3c2b52c
Add several reader/writer for lcc
gdamiand Jul 29, 2026
8d7ac56
Add several tools for lcc.
gdamiand Jul 29, 2026
fd5c19c
Update query-replace for lcc
gdamiand Jul 29, 2026
a14d397
Update hexmeshing
gdamiand Jul 29, 2026
d8d1826
cleanup old code
gdamiand Jul 29, 2026
eaec50b
Change method name to avoid clash
gdamiand Jul 29, 2026
3ed8cf6
Add missing inline
gdamiand Jul 29, 2026
8d9b98e
Update hexmeshing example: TODO bug
gdamiand Jul 29, 2026
eb4214f
hexmeshing needs load additional pattern
gdamiand Jul 29, 2026
f28e937
add command line parameters to hexmeshing prog
gdamiand Jul 29, 2026
7d550e8
add one inline
gdamiand Jul 29, 2026
f7f2d9c
add one inline
gdamiand Jul 29, 2026
aa316a7
change function name for hexmeshing
gdamiand Jul 30, 2026
4c8b8b6
add inline for many functions hexmeshing
gdamiand Jul 30, 2026
0f35c78
2 more inline
gdamiand Jul 30, 2026
032fbef
Rename example name in Lcc
gdamiand Jul 30, 2026
df280da
Doc for hexmeshing
gdamiand Jul 30, 2026
ff553ee
Replace some handle by descriptor in comment
gdamiand Jul 30, 2026
e071718
Replace more handle by descriptor
gdamiand Jul 30, 2026
d21fe96
Replace many handle by descriptor
gdamiand Jul 30, 2026
6a613d0
Update doc and example for hexmeshing
gdamiand Jul 30, 2026
02653db
Move some code to CMap
gdamiand Jul 30, 2026
621510d
Update tests for hexmeshing
gdamiand Jul 30, 2026
30ecd2e
Update biblio
gdamiand Jul 30, 2026
95f54f7
Rename function for hex meshing
gdamiand Jul 30, 2026
671a0bc
Remove possibility to load file
gdamiand Jul 30, 2026
9b053ba
More genericity: now work (and test) with Surface mesh
gdamiand Jul 30, 2026
4e5f1f0
Comments Andrea and Sebastien
gdamiand Jul 30, 2026
0df866e
Add CGAL_ add prefix for #ifdef name
gdamiand Jul 30, 2026
baa57e5
User manual
gdamiand Jul 31, 2026
f84271e
Parallel version not yet finished.
gdamiand Jul 31, 2026
a1a7e97
clean
gdamiand Jul 31, 2026
74689a4
Doc
gdamiand Jul 31, 2026
9180368
Hexmeshing doc: add details
gdamiand Jul 31, 2026
675d5aa
Merge branch 'main' into gsoc2025-hexahedral_mesh_generation-syamazaki
gdamiand Jul 31, 2026
aa5d26e
spaces
gdamiand Jul 31, 2026
e427656
Simplify hex meshing example; add an option to enable/disable smoothing
gdamiand Jul 31, 2026
b6d4dd4
Simpler example, without options
gdamiand Jul 31, 2026
4116791
Doc hexmeshing
gdamiand Jul 31, 2026
7b635d9
Guards
gdamiand Jul 31, 2026
de985e1
Two-refinement
gdamiand Jul 31, 2026
7a1591d
spaces
gdamiand Jul 31, 2026
22318c4
Add assertion before free marks
gdamiand Jul 31, 2026
14231ca
Bug fix in hexmesh test
gdamiand Jul 31, 2026
8a3d1bb
Replace assert by cgal_assertion
gdamiand Jul 31, 2026
fc77429
Improve mark management
gdamiand Jul 31, 2026
5e46809
Reduce size of test
gdamiand Jul 31, 2026
69ddb66
Remove some useless tests
gdamiand Jul 31, 2026
b36274c
Add () after function name in ref manual
gdamiand Aug 25, 2026
aedea0a
two-refinement
gdamiand Aug 25, 2026
4836413
i.e.,
gdamiand Aug 25, 2026
08423a9
Laplacian
gdamiand Aug 25, 2026
718dc97
Add lcc as template parameter for generate_hexahedral_mesh_using_two_…
gdamiand Aug 25, 2026
d6921e4
Add named parameters for the function generate_two_refinement_mesh
gdamiand Aug 25, 2026
3c0984a
rename read_MOKA
gdamiand Aug 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// Copyright (c) 2025 CNRS and LIRIS' Establishments (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org)
//
// $URL$
// $Id$
// SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial
//
// Author(s) : Guillaume Damiand <guillaume.damiand@liris.cnrs.fr>
//
////////////////////////////////////////////////////////////////////////////////
#ifndef CGAL_CMAP_3CLOSE_CC_H
#define CGAL_CMAP_3CLOSE_CC_H

#include <cstddef>

namespace CGAL::internal
{
////////////////////////////////////////////////////////////////////////////////
/** 3-close a connected component
* @param dh a dart
* @return the number of new darts.
*/
template<typename LCC>
std::size_t close_cc_for_beta3(LCC& lcc, typename LCC::Dart_descriptor dh)
{
std::size_t res=0;
typename LCC::Dart_descriptor d, d2;

for (auto it=lcc.template darts_of_cell<3>(dh).begin(),
itend=lcc.template darts_of_cell<3>(dh).end(); it!=itend; ++it)
{
if(lcc.template is_free<3>(it))
{
d=lcc.create_dart();
++res;
lcc.template link_beta_for_involution<3>(it, d);

// Special cases for 0 and 1
if (!lcc.template is_free<1>(it) &&
!lcc.template is_free<3>(lcc.template beta<1>(it)))
{ lcc.template link_beta<1>(lcc.template beta<1,3>(it),d); }
if (!lcc.template is_free<0>(it) &&
!lcc.template is_free<3>(lcc.template beta<0>(it)))
{ lcc.template link_beta<0>(lcc.template beta<0,3>(it),d); }

d2=lcc.template beta<2>(it);
while (d2!=lcc.null_dart_descriptor &&
!lcc.template is_free<2>(lcc.template beta<3>(d2)))
{ d2=lcc.template beta<3, 2>(d2); }
if (d2!=lcc.null_dart_descriptor && !lcc.template is_free<3>(d2))
{
lcc.template basic_link_beta_for_involution<2>
(lcc.template beta<3>(d2), d);
}
}
}
return res;
}
////////////////////////////////////////////////////////////////////////////////
}
#endif // CGAL_CMAP_3CLOSE_CC_H
Loading
Loading