Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geometry_Engine: Add more control over what checks to run initially on methods #2803

Closed
IsakNaslundBh opened this issue Apr 28, 2022 · 0 comments · Fixed by #2841
Closed
Assignees
Labels
type:feature New capability or enhancement

Comments

@IsakNaslundBh
Copy link
Contributor

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

  • 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

@IsakNaslundBh IsakNaslundBh added the type:feature New capability or enhancement label Apr 28, 2022
@IsakNaslundBh IsakNaslundBh self-assigned this Apr 28, 2022
IsakNaslundBh added a commit that referenced this issue Apr 28, 2022
Commenting out IsSelfIntersecting check for normal calculation for now until a better solution is added in #2803
IsakNaslundBh added a commit that referenced this issue May 19, 2022
Commenting out IsSelfIntersecting check for normal calculation for now until a better solution is added in #2803
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature New capability or enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant