All Versions
35
Latest Version
Avg Release Cycle
59 days
Latest Release
1898 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v0.10.0 Changes
May 11, 2016โ Added
- A
MetricSpace
trait for types that have a distance between elements. - 0๏ธโฃ
EuclideanSpace::{midpoint, centroid}
functions with default implementations. Vector1
andPoint1
structs.- ๐ Serde support behind the
eders
feature flag. - An
ApproxEq
implementation forDecomposed
.
๐ Changed
- ๐ Depend on the
num-traits
crate rather thannum
, seeing as we only use the traits innum
.num_traits
has also been re-exported so that you can more easily use these in your project. - ๐ Use an
Euler
type for euler angle conversions. - Constrain
InnerSpace
byMetricSpace
. - Constrain
Rotation
byOne
- Implement
Transform
andTransform3
forMatrix4
. - Implement
Transform
,Transform2
, andTransform3
forMatrix4
. - ๐ Fix
Euler
-Quaternion
andQuaternion
-Euler
conversions. The axes are now correct, and the angles are applied in x-y-z order. The conversion now matches the conversion from axis angle. - ๐ Fix
Euler
-{Matrix3, Matrix4}
conversions.
- A
-
v0.9.1 Changes
April 20, 2016๐ Changed
- ๐ Fix angle assignment operators so that they actually mutate
self
.
- ๐ Fix angle assignment operators so that they actually mutate
-
v0.9.0 Changes
April 19, 2016๐ Changed
- Assignment operators implementations have been stabilised, to coincide with their stabilisation in Rust 1.8.
- ๐ Renames
Vector
trait toVectorSpace
. - ๐ Renames
EuclideanVector
toInnerSpace
. - ๐ Renames
Point
toEuclideanSpace
, andPoint::Vector
toEuclideanSpace::Diff
. Quaternion
s now implementVectorSpace
andInnerSpace
for the functions they share.- The
Matrix
trait is now constraint byVectorSpace
, withMatrix::Element
removed in favor ofVectorSpace::Scalar
.
-
v0.8.0 Changes
April 06, 2016โ Added
- Implements
fmt::Debug
forBasis2
,Basis3
, andAffineMatrix3
- A
prelude
module for easy importing of common traits. - Constrained conversion functions for assisting in situations where type inference is difficult.
- An
ElementWise
trait for non-mathematical element-wise operations. - 0๏ธโฃ A default implementation for
EuclideanVector::angle
.
๐ Changed
- ๐ Improves the
fmt::Debug
impls forVector
,Matrix
,Point
,Decomposed
,Quaternion
andAngle
to make them easier to derive, and have clearer formatting. - Marks vectors, points, matrices, and angles as
#[repr(C, packed)]
. - ๐ Renames the
Vector::{length, length2}
functions toVector::{magnitude, magnitude2}
. - ๐ Move
Angle::new
to be directly implemented on theRad
andDeg
types. - ๐ Move
Vector::dot
toEuclideanVector
trait. - ๐ Move
Vector::from_value
toArray
trait.
โ Removed
- ๐ The non-mathematical operator trait implementations have been removed from
the
Vector
trait, in favor of theElementWise
trait. Angle::equiv
.- โ Remove
neg_self
method on vectors and matrices.
- Implements
-
v0.7.0 Changes
December 23, 2015โ Added
- โ Add missing by-ref and by-val permutations of
Vector
,Matrix
,Point
,Quaternion
andAngle
operators. - Ease lifetime constraints by removing
'static
from some scalar type parameters. - Weaken type constraints on
perspective
function to take anInto<Rad<S>>
. - โ Add
Angle::new
for constructing angles from a unitless scalar. - ๐ Implement assignment operators for nightly builds, enabled by the
"unstable"
feature.
๐ Changed
Vector
,Matrix
,Point
, andAngle
are now constrained to require specific operators to be overloaded. This means that generic code can now use operators, instead of the operator methods.- Take a
Rad
forProjectionFov::fovy
, rather than arbitraryAngle
s. This simplifies the signature ofPerspectiveFov
fromPerspectiveFov<S, A>
toPerspectiveFov<S>
. - ๐ The following trait constraints were removed from
Angle
:Debug
,ScalarConv
,Into<Rad<S>>
,Into<Deg<S>>
. - ๐
Angle
no longer requiresOne
, and the implementations have been removed fromDeg
andRad
. This is because angles do not close over multiplication, and therefore cannot have a multiplicative identity. If we were truly accurate,Angle * Angle
would return anAngle^2
(not supported by the current api). - ๐ Make remainder operators on
Angle
s make sense from the perspective of dimensional analysis. - ๐ Moved free trigonometric functions onto
Angle
.
โ Removed
- โ Remove redundant
Point::{min, max}
methods - these are now covered by theArray::{min, max}
methods that were introduced in 0.5.0. - โ Removed
ToComponents
,ToComponents2
, andToComponents3
. If you were relying onToComponents::decompose
, you can produce the same effect by accessing the fields onDecomposed
directly. To create the scale vector, use:Vector::from_value(transform.scale)
. - โ Removed
CompositeTransform
,CompositeTransform2
, andCompositeTransform3
. - โ Remove
Vector::one
. Vectors don't really have a multiplicative identity. If you really want aone
vector, you can do something like:Vector::from_value(1.0)
. - โ Remove operator methods from
Vector
,Matrix
,Point
, andAngle
traits in favor of operator overloading. - โ Remove
*_self
methods fromVector
,Matrix
,Point
, andAngle
. The operator methods can be used via the unstable assignment operators. - โ Remove
#[derive(Hash)]
fromDeg
andRad
. This could never really be used these types, because they expect to be given aBaseFloat
under normal circumstances.
- โ Add missing by-ref and by-val permutations of
-
v0.6.0 Changes
December 12, 2015โ Added
- This CHANGELOG for keeping track of notable changes.
Matrix4::{from_scale, from_nonuniform_scale}
for easily constructing homogeneous scale matrices.
๐ Changed
- ๐ Renamed
SquareMatrix::one
toSquareMatrix::identity
.identity
is easier to search for, and the more common name for the multiplicative identity for matrices. - Matrix impls have now been constrained to
S: BaseFloat
.
-
v0.5.0 Changes
November 20, 2015๐ Changed
- Take many point and vector parameters by value.
- Take point and vector operator overloads by value.
- Divide
Matrix
trait intoMatrix
andSquareMatrix
, opening the door for non-square matrices in the future. - ๐ Make many trait type parameters associated types.
- ๐ Move element-wise methods from
Vector
andPoint
onto theArray1
trait, and rename it toArray
. - ๐ Make pointer access methods on
Array
match the naming scheme of those in the standard library.
โ Removed
- โ Removed collision types:
Ray
,Plane
,Frustum
,Aabb2
,Aabb3
Obb2
,Obb3
Sphere
,Cylinder
. These can now be found at csherratt/collision-rs. - โ Remove
Array2
trait, moving methods onto theMatrix
trait.
-
v0.4.0
October 25, 2015 -
v0.3.1
September 20, 2015 -
v0.3.0
September 20, 2015