-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing features and bugs in compute_CSG #113
Comments
done |
done |
done |
done Problem was in computing approximate points / snap rounding: since points are in homogeneous coordinates, the same point can be represented in different ways and snapped to different floating-point numbers !! |
done but to be understood Let us take a closer look at
We are here: one of the previous phases of the algorithm creates a facet with three perfectly aligned vertices. So for the next step, we just need to check for such degenerate facets at different checkpoints in the algorithm.
|
done but to be understood Did not see that problem again. |
TODO infinite loop in connected component classification by ray-tracing
|
WIPs:
|
|
|
2D boolean operations start to fly, but we have some problems:
|
done (but todo: double check interval_nt for FPEs)
So I extracted from With the filters deactivated, in debug mode, obtained the correct result (but took a super long amount of time). I guess that we are manipulating super long numbers under the hood. Now works with Also works with Still need to understand where it is spending all the time ! (track very long numbers in OK, And it is also better to take the original extremities of the constraints rather than the edge vertices passed to |
fixed
|
understood surface was not closed, tiny mismatch between some vertices on sharp creases
|
TODO sphere discretization is not exactly the same as in OpenSCAD: OpenSCAD does not generate poles, it generates a small polygon around each pole (shifted by half a period as compared to geogram). |
Fixed
Investigating:
Stats with simple example extracted from
|
Bug |
Bug
|
Fixed Ah, OK, it is not |
Bug
Investigation strategy:
Rewrote more elaborate data structure with 2D CIEL
Understood something Some meshes have pairs of triangles sharing the same three vertices, and then Mesh.facets.find_adjacent(f1,f2) is ambiguous -> replaced it with Mesh.facets.find_edge(f,v1,v2). Understood something else Sometimes I got triangles that are coplanar, but that have opposite orientation, then they should not be inserted in the same facet group. Note: this should not happen !!, because it means the result of the intersection still has intersecting triangles, this needs more investigation. I think I sometimes also get sets of triangles considered to be coplanar along some edges and not along some other edges... |
compute_CSG
does not work on all file inputsThe text was updated successfully, but these errors were encountered: