Changes in v1.2
- Improved the octree structure generation code speed.
- Modified default parameters for better performance.
- Cleaned unnecessary or even unused code, improved code readability.
- Improved output message readability.
Input
The program supports .raw
input models. The format of a .raw
file should look like this, below is a unit cube centered at (0, 0, 0):
8 12
-0.5 -0.5 -0.5
0.5 -0.5 -0.5
0.5 0.5 -0.5
-0.5 0.5 -0.5
-0.5 -0.5 0.5
0.5 -0.5 0.5
0.5 0.5 0.5
-0.5 0.5 0.5
0 1 2
0 3 2
4 5 6
4 7 6
0 1 5
0 4 5
1 2 6
1 5 6
2 3 7
2 6 7
0 3 7
0 4 7
Line 1
contains two integers, representing #vert
and #elem
.
Line 2
to Line #vert+1
contain three real numbers, representing xyz
coordinates.
Line #vert+2
to Line #vert+#elem+1
contain three integers in [0, #vert)
, representing three indexes to form triangles
.
Please replace the volumeFileName
in Main.cpp Line 8
with your own input file name.
Parameters
The default parameters should work for most of the models, as they are relatively conservative (although this leads to some unnecessary elements).
- To adjust
the deepest octree level
, modify theVOXEL_SIZE
inInitialization.h Line 6
. Feasible values: 3, 4, 5, ..., 9. - To make the mesh
coarse/dense at detailed features
, modify theC_THRES
andH_THRES
inInitialization.h Line 7, 8
. Smaller C_THRES and H_THRES result in denser mesh.
Output
The mesh result is in finalMesh.vtk
. Notice that the program does not quit by itself. You can take the mesh result and terminate the program when you are satisfied with the mesh quality.
Compilation
Please compile with cmake. No third-party packages are needed.
Issue Report
Please report issues in the Issues
column or email me.