-
Notifications
You must be signed in to change notification settings - Fork 211
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
Implement missing Basis and Transform methods #290
Comments
Basis methods added in #373. |
shouldn't this be closed? |
|
Note that GDScript's Transform members have some ugly semantic inconsistencies, see godotengine/godot-proposals#1336. Perhaps it even would make sense to anticipate that change. |
The point of implementing them is to make porting easier, so for this issue we care more about what the methods are, not what they should be. |
Actually the missing methods were implemented for |
I'm taking a stab at this (Hi all). The Godot implementation seems to be inconsistent - some of the in-place methods call copy methods and then assign the result to self. Do you want to reproduce the same behavior in godot-rust, or can I have some freedom to fix those as I implement them? |
@Hexorg Thank you! I would only provide immutable methods for now (i.e. those returning a new object, not those modifying the existing one). Feel free to improve on the Godot implementation where needed! Would be great to add some tests with hardcoded values (ideally obtained by GDScript), like we did for |
The interfaces of Basis and Transform aren't on par with GDScript's yet. A list of methods available in GDScript on those types can be found at their respective doc pages:
Basis: http://docs.godotengine.org/en/stable/classes/class_basis.htmlAdditionally, methods available to the engine but not exposed to GDScript can be implemented if desirable:
Basis: https://github.com/godotengine/godot/blob/master/core/math/basis.hIf any of the methods need to be manually implemented, sanity tests should be added to make sure their output match Godot's.
The text was updated successfully, but these errors were encountered: