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

Feature/gunderman/bezier polygon #112

Closed
wants to merge 49 commits into from

Conversation

davidgunderman
Copy link
Contributor

@davidgunderman davidgunderman commented Oct 2, 2019

Summary

  • This PR adds intersection capabilities for polygons with curved edges

This PR adds a CurvedPolygon class and implements an algorithm for computing the intersections of curved polygons and their areas and centroids. It leaves out some special cases, including tangent polygon intersection and intersections of polygons whose component curves overlap for the following reasons:

  • Typically tangent polygon intersection won't come up often in practice.
  • Intersecting polygons whose component curves overlap could come up, but we haven't gotten to this yet.

It also leaves out a full mesh-mesh intersection example, because I'd like to add arbitrary polynomial field transfer (not just areas and centroids) functionality before pushing a full example.

davidgunderman and others added 30 commits July 8, 2019 12:26
…imal_bezier.cpp, added eval_bezier.hpp to operators
… yet. Added a test for splitting to the primal_bezier.cpp file
…intersections, dt function (tangent vector of BezierCurve), and stable orientation function for directional walking method
Matrix can now be used as a value type for containers like std::map.
…/LLNL/axom into feature/gunderman/bezier-polygon

adding Kenny's changes
The current example generates two mfem meshes and finds the pairs of
possibly intersecting elements.
…rman/bezier-polygon

Adding bezier-mesh-example to my local working repo
… 3-space curves. Added tests curves of different orders, non-intersecting curves.
… high order mesh intersection example. TODO: deal with case of total inclusion and separation
@kennyweiss kennyweiss added the Primal Issues related to Axom's 'primal component label Oct 8, 2019
@kennyweiss
Copy link
Member

@davidgunderman -- I pushed some changes/bugfixes to this branch.
Here is a brief summary:

  • I pushed an mfem nurbs mesh to the axom_data submodule.
    The quest example no longer depends on a missing mesh.
    (This should be converted to a command line argument in the future)
  • The code now builds and passes all tests on MSVC.
  • BezierCurve::dt() now returns a primal::Vector, rather than a primal::Point
  • Some additional minor improvements/corrections in the API
  • Looks like there is still a compilation problem with macos
    (related to sorting? -- https://dev.azure.com/axom/axom/_build/results?buildId=604 )

@kennyweiss
Copy link
Member

Superseded by #590, which brings this PR up to date with our develop branch and touches up the code a bit

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.

2 participants