All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fix some of the plane.create_(xz,xy,yz) not inverting correctly.
- Fix incorrect distance in point_height_above_plane.
- Add MANIFEST.in and add /tests and /docs to source dist (#90)
- Fix unit tests failing due to changes in numpy.testing (#77)
- Drop Python 3.3 as numpy no longer supports it.
- Ensure the latest versions of dependencies are installed when testing (#79)
- Add quaternion exp method (#74)
- Remove todo notes about quaternion methods that exist (#73)
- Remove Python 2.6 Support (#76)
- Add methods to create a quaternion from an axis (#72)
- Handle negative values in ray_intersect_aabb (#71)
- Made create_from_eulers use configurable order from euler.py (#69)
- Affine matrix decomposition (#65)
- Added equality operators for quaternion and matrices objects (#67)
0.9.2 - 2017-07-18
- Add
pyrr.vector3.generate_vertex_normals
- Fix ignored
normalize_result
inpyrr.vector3.generate_normals
0.9.1 - 2017-07-06
- Fix
dtype
to numpy array conversion.
0.9.0 - 2017-06-28
Thanks to Szabolcs Dombi for his contributions to this release.
- Add slerp / lerp to Quaternion.
- Add American spelling variation of 'normalise' ('normalize').
- Deprecate matrix functions with
*_matrix
in the name. Use the new alternatives provided. - Add
create_look_at
in Matrix.
- Fix Matrix33 / Matrix44 object API multiplication being logically backwards.
- Fix rotation of zero length vector by a quaternion causing error
- Fix Matrix <-> Quaternion conversions
- Remove notes about customising euler indices. If you change the axis indices then create_from_(x,y,z)_rotation will no longer work.
- Change euler parameter order for create function, was (pitch, roll, yaw, ...), now (roll, pitch, yaw, ..).
- Make eulers always use the indices for extracting and putting values.
- Make euler indices configurable by modifying euler.index.(pitch,roll,yaw)
- Fix euler -> matrix33 conversion.
- Add euler.create_from_(x,y,z)_rotation. This ignores pitch, roll, yaw indices and is a straight insertion into the x, y z values of the array.
- Add tests to ensure euler, quaternion, and matrix rotations are all equivalent.
- Merge #37 - fix test suite name
- Fix #36 Move tests inside pyrr, include in pkg
Note: that this version corrected an issue with quaternion rotations (quaternion cross) being inverted. Please ensure any quaternion logic is updated accordingly.
- Fixed quaternion cross product being reversed.
- Add more tests including quaternion identities.
- Added subtraction support to object api, this is to support np.allclose.
- Add tests for Vector3/4 |^ operators
- Add support for numpy.number types
- Fix Vector3/4 normalise failing.
- Add support for +- Matrix33/44. Fixes #24.
- Add scalar support to Matrix33/44. Fixes #23.
- Add scalar support to Vector3/4. Fixes #22.
- Update version (0.6.2 was marked as 0.6.1!)
- Remove import of unicode_literals. It seems to bebuggering up 'from pyrr import *'
- Move import tests into each module
- Readd vector3|4.from_matrix44_translation.
- Remove unused import
- Use type(obj) instead of obj.class
- Add tests for = and += on NpProxy
- Remove unused imports.
- Add docstrings to functions.
- Remove Matrix44.translation. Multiply a vector by the matrix to get this.
- Rename vector3|4.negative to inverse. This matches matrix.
- Remove ambiguous conversions in object api Matrix44->Vector, etc.
- Add Vector4.from_vector3 with w parameter, default w=0.0.
- Add Vector4.xyw.
- Add multipledispatch to setup.py requirements
-
Add quaternion.is_identity
-
Remove vector3.create_from_vector4, this is ambiguous and was assuming 3d graphics style conversion (w=1.0). Do this manually instead to remove ambiguities.
-
Remove vector3|4.create_from_matrix44_translation. This was assuming vector4 had w=1.0 again. Instead create a basic vector and multiply it by the matrix.
-
Move vector.cross into vector3. This is ambiguous for vector4.
-
Move vector.generate_normals into vector3. This is ambiguous for vector4.
-
Change how quaternion.apply_to_vector works. Previously vectors were converted to vec3s with w=0. Now vectors are converted to vec4s, with vector 4's being untouched.
-
Change how matrix44 works with vector4s. It no longer divides by W for vector4s. Vector 3's are converted to vec4s during the calculation and back again. They were previously not divided by W if W was 0. Now they are converted to [np.inf, ...] in the case that W is 0.
-
Remove conversions from Vector4 and Vector3 in the OO API. These were ambiguous.
-
Remove Vector3|4.vector3 and Vector3|4.vector4. These conversions were ambiguous, convert manually.
-
Remove ability to transform vector4's in matrix33.apply_to_vector. This was ambiguous. Perform the conversion manually then call this. Or convert to a matrix44 and then transform.
-
Make matrix44.create_perspective_projection_matrix use matrix44.create_perspective_projection_matrix_from_bounds based on code from GLU.
- Make vec4 w component default to 0.
- Remove Vector3 and Vector4 interoperability
- Add object oriented API.
- Fix python 3 errors and numpy deprecated calls (np.array != None).
- Finally track down and fully resolve matrix / quaternion rotations. Matrices were rotating in the opposite direction.
- Remove unittest2
- Add unittest2 on Travis for python 2.6 to enable skipping tests rather than commenting them out.
- Fixing matrix / quaternion rotation differences.
- Add tests for nearly all functions.
- Fix plane.create_xy|yz|xz and add a distance parameter.
- Change rect default to np.float, was np.int.
- Clean up matrix33.create_direction_scale.
- Fix some functions incorrectly using 'all_parameters_as_numpy_arrays', which would attempt to np.array the dtype parameters.
- Fix geometric_tests.point_closest_point_on_line not keeping the normalised vector and therefore returning incorrect results.
- Fix aambb calling np.zeros as np.zeroEs.
- Rename aambb functions parameter bbs to aabbs.
- Fix aambb.add_points.
- Fix aabb.clamp_points.
- Fix aabb.zeros.
- skipped
- Fix matrix44.create_from_eulers calling function with invalid params.
- Fix quaternion inverse calling squared_length instead of length.
- Fix matrix33.create_from_inverse_of_quaternion, had a - instead of a +.
- Fix syntax error in quaternion.power.
- Remove matrix33.apply_scale. Function was a duplicate of matrix33.create_from_scale with an incorrect name.