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 discussed in #2797 we need better control over what checks are redundant to run at the start of our methods. This is especially critical for heavy checks such as IsSelfIntersecting on very low level methods such as Normal and Centroid as highlighted in the linked issue, as it can become a real performance burden.
Some different options discussed in call
Additional immutable curve classes to be added for closed planar non-selfintersecting PolyCurve and Polyline equivalents that are checked on creation and then do not require to be checked again. This might be the cleanest and simplest way to handle the issue.
Additional boolean inputs on methods such as unsafe or performChecks or similar, by default set to check everything, but can then be turned off depending on if called from methods where it is safe to do so.
Add additional UnsafeXXXXX (for example UnsafeNormal method that just does the computation without doing any checks. The method without the Unsafe prefix can then do all the checks first, and then call the Unsafe method for current behaviour, but internally we can choose whether to use the unsafe equivalent or not in various algorithms.
Might be more options than this, and even a combination of the above. @pawelbaran@al-fisher fyi
The text was updated successfully, but these errors were encountered:
Description:
As discussed in #2797 we need better control over what checks are redundant to run at the start of our methods. This is especially critical for heavy checks such as IsSelfIntersecting on very low level methods such as Normal and Centroid as highlighted in the linked issue, as it can become a real performance burden.
Some different options discussed in call
unsafe
orperformChecks
or similar, by default set to check everything, but can then be turned off depending on if called from methods where it is safe to do so.UnsafeXXXXX
(for exampleUnsafeNormal
method that just does the computation without doing any checks. The method without the Unsafe prefix can then do all the checks first, and then call theUnsafe
method for current behaviour, but internally we can choose whether to use the unsafe equivalent or not in various algorithms.Might be more options than this, and even a combination of the above. @pawelbaran @al-fisher fyi
The text was updated successfully, but these errors were encountered: