#include "cs_base.h"
#include "cs_join_util.h"
#include "cs_mesh.h"
Go to the source code of this file.
|
int | cs_join_add (const char *sel_criteria, float fraction, float plane, int verbosity, int visualization) |
|
void | cs_join_set_advanced_param (int join_num, double mtf, double pmf, int tcm, int icm, int max_break, int max_sub_faces, int tml, int tmb, double tmr, double tmr_distrib) |
| Set advanced parameters for the joining algorithm. More...
|
|
void | cs_join_all (bool preprocess) |
|
void | cs_join_finalize (void) |
|
void | cs_join_mark_selected_faces (const cs_mesh_t *mesh, bool preprocess, bool b_select_flag[]) |
|
◆ cs_join_add()
int cs_join_add |
( |
const char * |
sel_criteria, |
|
|
float |
fraction, |
|
|
float |
plane, |
|
|
int |
verbosity, |
|
|
int |
visualization |
|
) |
| |
Add a cs_join_t structure to the list of pending joinings.
- Parameters
-
[in] | sel_criteria | boundary face selection criteria |
[in] | fraction | value of the fraction parameter |
[in] | plane | value of the plane parameter |
[in] | verbosity | level of verbosity required |
[in] | visualization | level of visualization required |
- Returns
- number (1 to n) associated with new joining
◆ cs_join_all()
void cs_join_all |
( |
bool |
preprocess | ) |
|
◆ cs_join_finalize()
void cs_join_finalize |
( |
void |
| ) |
|
◆ cs_join_mark_selected_faces()
void cs_join_mark_selected_faces |
( |
const cs_mesh_t * |
mesh, |
|
|
bool |
preprocess, |
|
|
bool |
b_select_flag[] |
|
) |
| |
◆ cs_join_set_advanced_param()
void cs_join_set_advanced_param |
( |
int |
join_num, |
|
|
double |
mtf, |
|
|
double |
pmf, |
|
|
int |
tcm, |
|
|
int |
icm, |
|
|
int |
max_break, |
|
|
int |
max_sub_faces, |
|
|
int |
tml, |
|
|
int |
tmb, |
|
|
double |
tmr, |
|
|
double |
tmr_distrib |
|
) |
| |
Set advanced parameters for the joining algorithm.
- Parameters
-
[in] | join_num | joining operation number |
[in] | mtf | merge tolerance factor |
[in] | pmf | pre-merge factor |
[in] | tcm | tolerance computation mode |
[in] | icm | intersection computation mode |
[in] | max_break | max number of equivalences to break (merge step) |
[in] | max_sub_faces | max. possible number of sub-faces by splitting a face |
[in] | tml | tree max level |
[in] | tmb | tree max boxes |
[in] | tmr | tree max ratio |
[in] | tmr_distrib | tree max ratio for distribution |
The first set of parameters allow modifing the intersection tolerance detection and interection merge behavior:
mtf
: merge tolerance factor, locally modifies the tolerance associated to each vertex before the merge step. The following cases apply:
- if mtf = 0, no vertex merge
- if mtf < 1, the vertex merge is stricter. It may increase the number of tolerance reductions and therefore define smaller subsets of vertices to merge together, possibly leading to more small edges.
- mtf = 1 is the default
- if mtf > 1, the vertex merging is less strict. The subset of vertices which can be merged is larger.
pmf
: a pre-merge factor. This parameter is used to define a limit under which two vertices are merged before the merge step (tolerance limit for the pre-merge = pmf * fraction),
tcm
: a tolerance computation mode. If its value is:
1
(default), the tolerance is the minimal edge length related to a vertex, multiplied by a fraction.
2
, the tolerance is computed as in 1
with an additional multiplication by a coefficient equal to max(sin(e1), sin(e2), where e1 and e2 are two edges sharing a same vertex v for the tolerance is computed.
11
: similar to 1
but taking into account only the selected faces.
12
: similar to 2
but taking into account only the selected faces.
icm
: the intersection computation mode. If its value is:
1
(default), the original algorithm is used. Care should be taken to clip the intersection to an extremity.
2
, a new intersection algorithm is used. Caution should be used to avoid clipping the intersection to an extremity.
maxbrk
: defines the maximum number of equivalence breaks which is enabled during the merge step,
max_sub_faces
: defines the maximum number of sub-faces allowed when splitting a selected face.
The following parameters used in the search algorithm for face intersections between selected faces (octree-like structure). They allow modifying the memory/speed tradeoffs, and are useful in case of excess memory usage:
tml
: the tree maximum level is the deepest level the tree can reach,
tmb
: the tree maximum boxes is the maximum number of bounding boxes (BB) which can be linked to a leaf of the tree (not necessary true for the deepest level),
tmr
: the tree maximum ratio. The building of the tree structure stops when the number of bounding boxes is superior to the product of tmr
with the number of faces to locate. This is efficient to reduce memory consumption.