my question is very general, I know that. But since this happened to me when using OCC and since it seems to be in inherent problem of doing computations with geometry, I dare to ask it here:
How can one cope with different computation precisions on different systems?
Let's assume that I have to curves and I compute whether they intersect. If they intersect, an intersection point is created and the user may define the color of the intersection point. I store the curves and the user defined color in a document file. Now the user opens the document file with the same application, but on another system (like the first one being Windows 64 Bit and the second one being Linux 32 Bit). Because the systems are different, the computations happen with different precisions. Perhaps it seems on the Linux system that the curves do not intersect at all. When the application reads in the document, it has to work with data that it cannot interpret, since the data seems wrong.
Isn't this something that happens for every CAD system?
My first idea was to introduce some tolerance parameter. But this won't help. After all an intersection is only found, if two curves are close to each other within some tolerance. So if their real distance is very close to the tolerance parameter, two systems might have different computation results.
Have you ever met a problem like this? What was your solution?
Thank you very much.