1. Preprocessing

To modify the mesh, we utilize various packages from described in the CGAL page.

1.1. Operations to Perform:

As shown in the early result, we cannot give all type of mesh or point cloud to the Kinetic algorithm, if we want to be able to make a automatic mesh generator using kinetic we need to ensure the meshes meet the condition required for the execution.The condition we address are the following :

  • obtain a dense enough point cloud

  • Compute the normal for all the point if not provided

  • Re-orient the mesh

  • Fix any absurd self-intersection or or excessive number of them

So for that we will have our main follow this Workflow :

  1. Import the mesh and verify its validity

  2. Modify the mesh if necessary

  3. Convert the mesh to a point cloud

  4. Export the results

1.2. Detailed Workflow:

Importing and initial Checks:

First, we need to import the mesh from an .stl or .msh in our case, with the reader provided in ktirio library. Afterward We can pursue by checking if the mesh meets the constraint with using the function avaible in the ktirio library : Check properties Documentation here

Mesh Processing

After importing the mesh and identifying the properties that need repair, we use various functions from manipulation to repair our mesh and make it compatible with the Kinetic algorithm. The following functions are the most relevant:

  • refineSelfIntersect : This function checks for self-intersections in the mesh and modifies it to replace the problematic areas with a new, non-intersecting mesh.

  • Orient : This function look at the orientation of the diverse faces and reverse the one who are not outward oriented.

  • Remesh : This one will generated more vertices and edges on the mesh to densified to point cloud using isotropic remeshing.

  • gridSimplify : this one will unified the mesh by regularizing it. So there won’t be any absurd amount of point concentrat in a small part of the mesh.

  • computeNormal : implemented in Grid simplify function, it will calculate the normal for each point generated during the remesh.

After preprocessing the mesh, all that remains is to use the point cloud as input for the Kinetic algorithm and export the result as .off, .obj, .stl, or .msh files.

Next Labelling