1. Self intersection Fixing

To fix the self-intersection issues we used the autoRefineTriangleSoup function from CGAL. After modifying the mesh we obtain the following result from the different cubes we showed in the Context. Here’s the outcome after the autorefine and pre-processing : Next Performance

Table 1. New outcome of cube self-intersecting

2cubesksr

3cubesksr2

3cubesksr

5cubeoutcome

Same result as the beginning.

Ksr did not worked with default parameters,the result seems a lot like the 2 cube at each intersection

Ksr worked with default parameters, issue at the major intersection between 2 cubes out of three, a empty space was create at the intersection

Ksr workd with default parameters, issue at one of the major intersection with an empty space create between.

The autorefine allows us to use the meshes in the algorithm but at the cost of some issue at the generated mesh with some spaces and faces being erased but the mesh remains closed and watertight and keeping the global shape of the input. We also applied autorefine to other meshes like Three Zones or ACJasmin:

Here is a comparison between the refined and non-refined versions of the Three Zones mesh:

Table 2. Comparaison of three zones mesh refined

3zonerefine

3zones not refined

default parameters

KSR execution time : 7s , total time : 24s

KSR execution time 53s , total time : 66s

3zones refined 200

3zones non refined 200

parameters: min.region.size = 200 ,maximum distance=0.06

KSR execution time = 4s,total time = 23

KSR execution time = 3s,total time = 19

For the Three Zones mesh, refinement seems to improve the result. As the default parameters is really faster and closer to a closed mesh, only one wall is missing and on other hand with low parameters we have a more detailled mesh than the normal version but it a bit slower.

ACjasmin msh version comparaison :

Table 3. Comparaison of ACJasmin mesh refined

ACJAsmin refine

Jasmin hole

ACJasmin not refined

Jasmin not refined roof

default parameters

KSR execution time :403s ,total execution time : 453s

KSR execution time : 422s ,total execution time : 463s

ACJASMIN refine 2000

ACJASMIN 2000

parameters : min.region.size = 2000

KSR execution time : 37s ,total time = 75s

KSR execution time : 30s , total time : 68

ACJASMIN2000 0.04 refine

ACJASMIN 2000 0.04

parameters : min.region.size = 2000, maximum.distance=0.04

KSR execution time : 39s ,total time = 76s

KSR execution time : 32s , total time : 60

For the ACjasmin mesh, refinement initially improved execution time with default parameters but introduced a hole in the roof. With the default maximum distance, the issue worsened, creating a larger hole in the structure. However, with appropriately chosen parameters, the refined result can match the outcome without refinement.

Based on these observations, it would be beneficial to have the option to toggle auto-refine on and off. This approach allows for more flexibility in handling different mesh complexities and requirements.

Another issue encountered with refinement is an execution problem during isotropic remeshing who can last very long or not end at all.