# sr #108442: making gts boolean more robust

 Submitter: gianluca de santis Submitted: Mon 18 Nov 2013 10:07:04 AM UTC Category: Plugins Priority: 5 - Normal Severity: 1 - Wish Privacy: Public Assigned to: None Open/Closed: Open Operating System: None
* Mandatory Fields

Add a New Comment

Comment Type & Canned Response:

## Discussion

Mon 18 Nov 2013 11:12:55 AM UTC, comment #1:

I think this can never be robust enough.

First: 'the intersection is not a closed curve' is not the same as 'the surfaces do not intersect'. There might be many reasons for the algorithms with floating point values to fail, due to some very peculiar and/or erroneous geometry.

Then, when you would be 100% sure they do not intersect, testing a single point would not be enough: You can never be sure whether a single point is exactly on the surface, just inside, or just outside. You would have to test all the points.

I think the best thing to do is to report: no intersection found.
And then leave it up to the user what to do further with that knowledge.

Benedict Verhegghe <bverheg>
Mon 18 Nov 2013 10:07:04 AM UTC, original submission:

pyformex_gts boolean does return an error if you try to find the intersection of 2 surfaces if the surfaces do not intersect eachother. This case is recognized by gts: if you print P.err the last line is:

gtsset: the intersection of `/var/tmp/tmpy8C2r_.gts' and `/var/tmp/tmpj9f6BX.gts' is not a closed curve

Thus, if the 2 surfaces do not intersect, we could handle such a case correctly. E.g. in case of boolean intersection:
*if one single point of s1 is inside s2, then the intersection is s1 (the whole s1 is inside s2)
*if one single point of s2 is inside s1, then the intersection is s2 (the whole s2 is inside s1)
*else he intersection is an empty surface (s1 and s2 are fully separated).

gianluca de santis <gianlucadesi>

## Attached Files

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Comment:

No files currently attached

## Dependencies

Depends on the following items: None found

Items that depend on this one: None found

## Mail Notification Carbon-Copy List

Carbon-Copy List
• -email is unavailable- added by bverheg (Posted a comment)
• -email is unavailable- added by gianlucadesi (Submitted the item)
•

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

## History

No changes have been made to this item