If I remember correctly, I said that I *****NEED***** and prefer the 3 euler angles to be specified for project(). Therefore the new version of project is not helpful, and I am going to go back to the version that satisfied my needs. I can always document everything as much as needed.
Following the discussion, I made the following changes: - there is now code to create a Rotation3D from ZYZ euler angles (moved from the old Euler ange class). Javi needs to fill out the documentation of this method to make it as well specified as the other Euler angle methods (ie are the axis fixed or not) as I don't know the answers to all the necessary questions and they weren't previously documented
- the project.h code uses Rotation3D - Rotation3D caches the rotation matrix since it made rotations about 20% faster and memory seemed unlikely to be an issue. There is a benchmark for this. - the 2D rotation class is now Rotation2D
- all tests still pass