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

Adds a curved polygon class to primal #844

Merged
merged 38 commits into from
Jun 22, 2022

Conversation

kennyweiss
Copy link
Member

@kennyweiss kennyweiss commented Jun 17, 2022

Summary

  • This PR is a feature
  • It adds primal::CurvedPolygon representing a polygon with BezierCurves as edges
  • It also adds functions to compute the sector_area and sector_centroid of a BezierCurve. These are used to compute the area and centroid of a CurvedPolygon, respectively.
  • This branch was cherry picked from feature/kweiss/bezier-polygon-revamp which uses the above functionality to intersect two curved polygons.

Credits: Much of this code was developed by @davidgunderman

TODO:

  • Update RELEASE-NOTES

@kennyweiss kennyweiss added the Primal Issues related to Axom's 'primal component label Jun 17, 2022
@kennyweiss kennyweiss self-assigned this Jun 17, 2022
@kennyweiss kennyweiss force-pushed the feature/kweiss/curved-polygon branch 3 times, most recently from aa2f1fe to 206a837 Compare June 21, 2022 02:09
Copy link
Member

@agcapps agcapps left a comment

Choose a reason for hiding this comment

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

Thank you, @davidgunderman and @kennyweiss .

davidgunderman and others added 24 commits June 22, 2022 10:48
Fixes CurvedPolygon::isClosed() and adds unit test.
The new name is more accurate: The function is computing the mean
of the vertex positions, not the centroid.
…CurvedPolygon

These are now provided as primal operators:
* BezierCurve: `sector_area()` / `sector_centroid()`
* CurvedPolygon: `area()` / `centroid()`

There operations only apply to 2D (polynomial) BezierCurves, so don't belong
in the dimension-templated classes.
* Moved from C2CReader
* Adds unit tests
* Use in `BezierCurve` class
@kennyweiss kennyweiss force-pushed the feature/kweiss/curved-polygon branch from 206a837 to f59b94c Compare June 22, 2022 18:17
@kennyweiss kennyweiss merged commit 8398168 into develop Jun 22, 2022
@kennyweiss kennyweiss deleted the feature/kweiss/curved-polygon branch June 22, 2022 19:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Primal Issues related to Axom's 'primal component
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants