Generic Quaternion and Vector extensions #2
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is a change proposal to have generic quaternion and vector extensions that we can use in Anamnesis. This library already offered some type extensions but they were very limited in the functionality they provided.
So, I made extensive vector and quaternion extensions based on existing features in Anamnesis' code. The goal of this change proposal is to consolidate everything in one place to reduce code duplication. Furthermore, it makes use of the Vector and Quaternion types offered with System.Numerics, instead of relying on custom implementations, so that we can take advantage of hardware-accelerated calculations (Microsoft Docs).
An accompanying pull request will be made in the other repository.
Note: Also, I renamed the folder from "3D" to "Math3D" and fixed the typo in the namespace. This is just a minor annoyance that I had with it.