You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of my work re-factoring / re-writing fiberassign, I discovered a bug in the collision calculation. The central body and ferrule holders are modeled as circles and segments, and overlap of these shapes are used to detect collisions. For mult-point segments, each subsegment must be checked for a collision. However, the current code returns immediately after checking only the first piece of a multi-point segment:
For verification of the problem, using the small test data set, tile 1148, fiber 1597 is assigned to a target which produces the configuration in the attached image. My new code identified this as a collision, but the master version did not. I'll open a PR in a moment to fix this in master, even though the code will be replaced shortly. The consequences are that any previous collision calculations involving the multi-point central body segment and the ferrule holder head, where the head crosses segments other than the first one, would be identified as not colliding.
The text was updated successfully, but these errors were encountered:
As part of my work re-factoring / re-writing fiberassign, I discovered a bug in the collision calculation. The central body and ferrule holders are modeled as circles and segments, and overlap of these shapes are used to detect collisions. For mult-point segments, each subsegment must be checked for a collision. However, the current code returns immediately after checking only the first piece of a multi-point segment:
https://github.com/desihub/fiberassign/blob/master/src/collision.cpp#L186
For verification of the problem, using the small test data set, tile 1148, fiber 1597 is assigned to a target which produces the configuration in the attached image. My new code identified this as a collision, but the master version did not. I'll open a PR in a moment to fix this in master, even though the code will be replaced shortly. The consequences are that any previous collision calculations involving the multi-point central body segment and the ferrule holder head, where the head crosses segments other than the first one, would be identified as not colliding.
The text was updated successfully, but these errors were encountered: