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

Clean profiles #934

Merged
merged 6 commits into from
Dec 29, 2022
Merged

Clean profiles #934

merged 6 commits into from
Dec 29, 2022

Conversation

andrewheumann
Copy link
Member

@andrewheumann andrewheumann commented Dec 28, 2022

BACKGROUND:

  • When editing profiles via overrides in the Hypar web UI, certain configurations result in "illegal" topologies, like infinitely thin triangles, which break the editor. Some examples of these configurations are:
    • adjacent profiles that are nearly-but-not-quite aligned
    • profiles where one adjacent edge has an intermediate vertex but the other does not
  • This is avoided by providing a "clean" set of profiles.

DESCRIPTION:

  • Adds a static Profile.Cleaned extension method which cleans up a set of profiles into a clean graph which can be edited.

TESTING:

  • I added several tests for the method which passed
  • I have also been utilizing this method in production in a real hypar function, with good success. I am moving it to elements because I have another function that needs it.

FUTURE WORK:

  • the Hypar web UI should become more resilient to bad geometry input.

REQUIRED:

  • All changes are up to date in CHANGELOG.md.

This change is Reviewable

Copy link
Contributor

@cdriesler cdriesler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 3 of 3 files at r1, all commit messages.
Reviewable status: :shipit: complete! 1 of 1 approvals obtained

@andrewheumann andrewheumann merged commit e755b8e into master Dec 29, 2022
@andrewheumann andrewheumann deleted the clean-profiles branch December 29, 2022 22:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants