Skip to content

Improvements to BezierCurve, BezierSurface, NURBSCurve and NURBSPatch interfaces #1528

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

Open
2 tasks
kennyweiss opened this issue Apr 1, 2025 · 0 comments
Open
2 tasks
Labels
design Issues related to design and software engineering enhancement New feature or request Primal Issues related to Axom's 'primal component usability Related to code usability

Comments

@kennyweiss
Copy link
Member

While using the NURBSCurve class, I noticed several usability enhancements:

  • Simplify the constructors -- there are numerous constructors for these classes, taking arrays of control points, weights and knot spans. Each has overloads for axom::Array and c-style arrays (+extra size parameters). We should simplify this to take array-like template parameters for classes that have a size() function and a subscript operator. This should then work for std::vector, axom::Arrayandaxom::ArrayView`. It will be straightforward for users to wrap their c-style arrays in an axom::Array.
  • Provide references to control points, weights and knot spans. Without these, it can be awkward to copy/manipulate the curves and surfaces
@kennyweiss kennyweiss added design Issues related to design and software engineering enhancement New feature or request Primal Issues related to Axom's 'primal component usability Related to code usability labels Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Issues related to design and software engineering enhancement New feature or request Primal Issues related to Axom's 'primal component usability Related to code usability
Projects
None yet
Development

No branches or pull requests

1 participant