cellcomplex.property_topomesh.optimization.property_topomesh_edge_split_optimization¶
-
cellcomplex.property_topomesh.optimization.property_topomesh_edge_split_optimization(topomesh, maximal_length=None, split_adjacent_faces=True, iterations=1, verbose=False, debug=False, loglevel=0)[source]¶ Perform a topological optimization of a PropertyTopomesh using edge splits.
The edges of the topomesh are iteratively splitted in order to become all lesser than a target maximal length, while keeping the structure valid topologically and geometrically. The edges are splitted in the descending order of their lengths, until no edge is longer than maximal_length or the maximal number of iterations is reached.
- Parameters
topomesh (
cellcomplex.property_topomesh.PropertyTopomesh) – The structure on which to perform the optimizationmaximal_length (float) – The edge length above which the edges will be splitted
split_adjacent_faces (bool) – Whether to divide the faces adjacent to the splitted edges
iterations (int) – Number of optimization passes to perform
- Returns
n_splits – Number of edges splitted in the last iteration
- Return type
Note
The PropertyTopomesh passed as argument is updated.
Warning
If the PropertyTopomesh must is a triangular topomesh the split_adjacent_faces argument should be True