I have a set of vertices and faces from a correct, closed mesh, but the function unify_cycles fails. The reason for this is that when there are more than 100 faces, a different function (_face_vertices) is used for face adjacency. However, in my case, this function produces a different, and wrong result than face_adjacency, because the parameters of this function aren’t dependent on the input.
How would it be best to proceed: I could propose a fix, but should the parameters be determined based on the input (i.e determine the radius on the longest edge?), or should the user be allowed to select which function to use (unify_cycles(fast=True))? My understanding is that the _face_adjacency function was intended to increase performance. Wouldn’t it make sense for this to be user-controlled?
Describe the bug
I have a set of vertices and faces from a correct, closed mesh, but the function
unify_cycles
fails. The reason for this is that when there are more than 100 faces, a different function (_face_vertices
) is used for face adjacency. However, in my case, this function produces a different, and wrong result thanface_adjacency
, because the parameters of this function aren’t dependent on the input.How would it be best to proceed: I could propose a fix, but should the parameters be determined based on the input (i.e determine the radius on the longest edge?), or should the user be allowed to select which function to use (
unify_cycles(fast=True)
)? My understanding is that the_face_adjacency
function was intended to increase performance. Wouldn’t it make sense for this to be user-controlled?