CGAL / cgal

The public CGAL repository, see the README below
https://github.com/CGAL/cgal#readme
Other
4.99k stars 1.39k forks source link

orient_polygon_soup BUG #4746

Closed simonasdmd closed 4 years ago

simonasdmd commented 4 years ago

Please use the following template to help us solving your issue.

Issue Details

When I simplify the triangulation Entering this function does not exit Caton

Source Code

image

Environment

sloriot commented 4 years ago

Could you please provide the points + the faces so that we can try to reproduce the issue?

Side note: you are passing the vector of points and faces by copy and not by reference (which means that they are copied when calling the function).

simonasdmd commented 4 years ago

hi~ @sloriot this is my data: Tile_0_22.zip

simonasdmd commented 4 years ago

hello~ anybody here~ i need help from

sloriot commented 4 years ago

We had troubles reading your file so it took some time. You can call the function repair_polygon_soup() before calling orient and it should work.

simonasdmd commented 4 years ago

@sloriot thanks~ it‘s work It helped me a lot If you can. Can you tell me what caused it.

sloriot commented 4 years ago

The soup was not valid (degenerate elements IIRC).

simonasdmd commented 4 years ago

@sloriot hi ,I revised it as you said, but there are still problems. Zip contains the original data and the simplified data. Please help me see where I still need to change. test data: Tile_1.zip screenshot: image

simonasdmd commented 4 years ago

hi~ @sloriot @lrineau SMS::Count_ratio_stop_predicate stop(0.3); When I set it to 0.3, it will be like this。

I think we can judge the concept of "minimum" internally. For example, according to normal conditions. A model consists of 10000 triangles. He's reduced to 30% and should be able to maintain geometry. But some special models. For example, it's big or complicated. Geometry cannot be maintained below 6000. But users can't judge whether they should use 0.6 or 0.3. Can they add some judgments?

sloriot commented 4 years ago

It is impossible to understand what problem you have if you don't explain what problem you are having. This issue is about soup -> mesh and then you are talking about the simplification package. The best way to show a problem is to provide a minimal example that we can run and that show the problem.