Skip to content

Commit

Permalink
Optimize unnecessary normalizations for Transform::local_{xyz} (#14171
Browse files Browse the repository at this point in the history
)

Note that `GlobalTransform` already does it like this for `right`,
`left`, etc. so I didn't have to touch that one
  • Loading branch information
janhohenheim authored Jul 8, 2024
1 parent 33ea3b9 commit df80b99
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions crates/bevy_transform/src/components/transform.rs
Original file line number Diff line number Diff line change
Expand Up @@ -222,8 +222,8 @@ impl Transform {
/// Get the unit vector in the local `X` direction.
#[inline]
pub fn local_x(&self) -> Dir3 {
// Dir3::new(x) panics if x is of invalid length, but quat * unit vector is length 1
Dir3::new(self.rotation * Vec3::X).unwrap()
// Quat * unit vector is length 1
Dir3::new_unchecked(self.rotation * Vec3::X)
}

/// Equivalent to [`-local_x()`][Transform::local_x()]
Expand All @@ -241,8 +241,8 @@ impl Transform {
/// Get the unit vector in the local `Y` direction.
#[inline]
pub fn local_y(&self) -> Dir3 {
// Dir3::new(x) panics if x is of invalid length, but quat * unit vector is length 1
Dir3::new(self.rotation * Vec3::Y).unwrap()
// Quat * unit vector is length 1
Dir3::new_unchecked(self.rotation * Vec3::Y)
}

/// Equivalent to [`local_y()`][Transform::local_y]
Expand All @@ -260,8 +260,8 @@ impl Transform {
/// Get the unit vector in the local `Z` direction.
#[inline]
pub fn local_z(&self) -> Dir3 {
// Dir3::new(x) panics if x is of invalid length, but quat * unit vector is length 1
Dir3::new(self.rotation * Vec3::Z).unwrap()
// Quat * unit vector is length 1
Dir3::new_unchecked(self.rotation * Vec3::Z)
}

/// Equivalent to [`-local_z()`][Transform::local_z]
Expand Down

0 comments on commit df80b99

Please sign in to comment.