#260 pipe with min bend radius crashes mged

closed-fixed
7
2010-06-28
2010-06-09
No

A pipe with the bend radius set to exactly one half of the outside diameter causes the ev(aluate) command to crash mged.

pipe3.s crashes:
pipe3.s: pipe with 3 points
0 bend radius = 0.1 od=0.2
at=(0, 0.3, 0.5)
1 bend radius = 0.1 od=0.2
at=(0, 0, 0.5)
2 bend radius = 0.1 od=0.2
at=(0, 0, 0)

for a work around, I made the bend radius to a bit larger:

pipe3a.s: pipe with 3 points
0 bend radius = 0.1 od=0.2
at=(0, 0.3, 0.5)
1 bend radius = 0.100001 od=0.2
at=(0, 0, 0.5)
2 bend radius = 0.1 od=0.2
at=(0, 0, 0)

No doubt, this is a round off error where the bend radius becomes less than half of the od. This will cause the torus to intersect itself.

Gilligan

Discussion

  • John Anderson

    John Anderson - 2010-06-20

    This issue has been resolved in the latest (unreleased) version of the source code. Thank you for bringing the issue to our attention! You're welcome and encouraged to test and make sure this issue is resolved after the next source release of BRL-CAD.

     
  • John Anderson

    John Anderson - 2010-06-20

    tessellate_pipe_bend() was not able to handle cases where the bend radius
    equals the outer radius of the pipe. The problem was that such a situation
    produces degenerate faces. The fix was to add a vertex tree and a vertex
    array to help in identifying and skipping the degenerate faces.

     
  • John Anderson

    John Anderson - 2010-06-20
    • assigned_to: nobody --> johnranderson
    • status: open --> closed-fixed
     
  • Sean Morrison

    Sean Morrison - 2010-06-28
    • priority: 5 --> 7
     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks