mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-08 02:18:12 +08:00
Update dependencies and lock files (#1841)
* Bump lock files * Fix glam mismatch version * Add tokio feature * Update all deps * Fix gpu-compiler not able to reference the root workspace * Bump a few more deps --------- Co-authored-by: Keavon Chambers <keavon@keavon.com>
This commit is contained in:
co-authored by
Keavon Chambers
parent
ab71d26d84
commit
fa1535d0bb
@@ -273,7 +273,7 @@ impl Bezier {
|
||||
BezierHandles::Cubic { .. } => {
|
||||
// Axis align the curve.
|
||||
let translated_bezier = self.translate(-self.start);
|
||||
let angle = translated_bezier.end.angle_between(DVec2::new(1., 0.));
|
||||
let angle = translated_bezier.end.angle_to(DVec2::new(1., 0.));
|
||||
let rotated_bezier = translated_bezier.rotate(angle);
|
||||
if let BezierHandles::Cubic { handle_start, handle_end } = rotated_bezier.handles {
|
||||
// These formulas and naming conventions follows https://pomax.github.io/bezierinfo/#inflections
|
||||
@@ -413,7 +413,7 @@ impl Bezier {
|
||||
if other.is_linear() {
|
||||
// Rotate the bezier and the line by the angle that the line makes with the x axis
|
||||
let line_directional_vector = other.end - other.start;
|
||||
let angle = line_directional_vector.angle_between(DVec2::new(0., 1.));
|
||||
let angle = line_directional_vector.angle_to(DVec2::new(0., 1.));
|
||||
let rotation_matrix = DMat2::from_angle(angle);
|
||||
let rotated_bezier = self.apply_transformation(|point| rotation_matrix * point);
|
||||
|
||||
@@ -452,7 +452,7 @@ impl Bezier {
|
||||
/// If this needs to be called frequently with a line of the same rotation angle, consider instead using [`line_test_crossings_prerotated`] and moving this function's setup code into your own logic before the repeated call.
|
||||
pub fn line_test_crossings(&self, point_on_line: DVec2, direction_vector: DVec2) -> impl Iterator<Item = f64> + '_ {
|
||||
// Rotate the bezier and the line by the angle that the line makes with the x axis
|
||||
let angle = direction_vector.angle_between(DVec2::new(0., 1.));
|
||||
let angle = direction_vector.angle_to(DVec2::new(0., 1.));
|
||||
let rotation_matrix = DMat2::from_angle(angle);
|
||||
let rotated_bezier = self.apply_transformation(|point| rotation_matrix * point);
|
||||
|
||||
@@ -476,7 +476,7 @@ impl Bezier {
|
||||
/// If this needs to be called frequently with a ray of the same rotation angle, consider instead using [`ray_test_crossings_prerotated`] and moving this function's setup code into your own logic before the repeated call.
|
||||
pub fn ray_test_crossings(&self, ray_start: DVec2, ray_direction: DVec2) -> impl Iterator<Item = f64> + '_ {
|
||||
// Rotate the bezier and the line by the angle that the line makes with the x axis
|
||||
let angle = ray_direction.angle_between(DVec2::new(0., 1.));
|
||||
let angle = ray_direction.angle_to(DVec2::new(0., 1.));
|
||||
let rotation_matrix = DMat2::from_angle(angle);
|
||||
let rotated_bezier = self.apply_transformation(|point| rotation_matrix * point);
|
||||
|
||||
|
||||
@@ -140,8 +140,8 @@ impl Bezier {
|
||||
}
|
||||
// Verify all the handles are located on a single side of the curve.
|
||||
if let BezierHandles::Cubic { handle_start, handle_end } = self.handles {
|
||||
let angle_1 = (self.end - self.start).angle_between(handle_start - self.start);
|
||||
let angle_2 = (self.end - self.start).angle_between(handle_end - self.start);
|
||||
let angle_1 = (self.end - self.start).angle_to(handle_start - self.start);
|
||||
let angle_2 = (self.end - self.start).angle_to(handle_end - self.start);
|
||||
if (angle_1 > 0. && angle_2 < 0.) || (angle_1 < 0. && angle_2 > 0.) {
|
||||
return false;
|
||||
}
|
||||
@@ -533,9 +533,9 @@ impl Bezier {
|
||||
let center = wrapped_center.unwrap();
|
||||
let radius = center.distance(p1);
|
||||
|
||||
let angle_p1 = DVec2::new(1., 0.).angle_between(p1 - center);
|
||||
let angle_p2 = DVec2::new(1., 0.).angle_between(p2 - center);
|
||||
let angle_p3 = DVec2::new(1., 0.).angle_between(p3 - center);
|
||||
let angle_p1 = DVec2::new(1., 0.).angle_to(p1 - center);
|
||||
let angle_p2 = DVec2::new(1., 0.).angle_to(p2 - center);
|
||||
let angle_p3 = DVec2::new(1., 0.).angle_to(p3 - center);
|
||||
|
||||
let mut start_angle = angle_p1;
|
||||
let mut end_angle = angle_p3;
|
||||
|
||||
Reference in New Issue
Block a user