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 Request: implement all the things from alga #511

Closed
richard-uk1 opened this issue Dec 27, 2018 · 5 comments
Closed

Feature Request: implement all the things from alga #511

richard-uk1 opened this issue Dec 27, 2018 · 5 comments

Comments

@richard-uk1
Copy link

richard-uk1 commented Dec 27, 2018

I was looking for implementors of alga::linear::AffineTransformation, but the request could equally apply to other traits. Is it part of the plan to implement them all?

@sebcrozet
Copy link
Member

They are already all implemented whenever they are relevant. We may have missed a few spots though. Do you have anything specific in mind? What type should implement AffineTransformation and does not (currently it is implement by Translation{2,3}, Isometry{2,3}, Similarity{2,3}, and Affine{2,3})?

@jswrenn
Copy link
Contributor

jswrenn commented Dec 27, 2018

I think this may be an unfortunate API discoverability issue. Although AffineTransformation is already implemented for Similarity, UnitQuaternion, UnitComplex, Rotation, Translation, and Isometry, it's not really possible to get that list without grepping the nalgebra source.

To solve this, we can add this to lib.rs:

/// For documentation purposes only; do not rely on items from this module.
#[deprecated(note = "For documentation purposes only; do not rely on items from this module.")]
pub mod alga_documentation {
    pub use alga::*;
}

This will cause rustdoc to display all of the nalgebra types that implement each trait:
screenshot--2018 12 27-15-18-27

Once doc_cfg is stabilized, we can actually hide that module for everything except rustdoc-triggered compilations.

@richard-uk1
Copy link
Author

I see. That's unfortunate, but thanks for getting back to me! I saw no implementors in the alga docs and assumed they hadn't been implemented.

However it's great that they are already implemented! :)

@richard-uk1
Copy link
Author

It seems that the implementation of AffineTransformation for Transformation is commented out with a note saying that you need SVD, but I think SVD is implemented.

I tried to get it working but can't cope with the trait bound errors :'(

@Andlon
Copy link
Collaborator

Andlon commented Apr 3, 2024

Since the design of nalgebra has pivoted to simba instead of alga, I will close this issue.

@Andlon Andlon closed this as completed Apr 3, 2024
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

No branches or pull requests

4 participants