diff --git a/src/kernel/geometry/curves/circle.rs b/src/kernel/geometry/curves/circle.rs index 4a76b44f8..05fa0dcc8 100644 --- a/src/kernel/geometry/curves/circle.rs +++ b/src/kernel/geometry/curves/circle.rs @@ -16,15 +16,17 @@ pub struct Circle { /// The radius is represented by a vector that points from the center to the /// circumference. The point on the circumference that it points to defines /// the origin of the circle's 1-dimensional curve coordinate system. - pub radius: Vector<3>, + pub radius: Vector<2>, } impl Circle { #[must_use] pub fn transform(self, transform: &Isometry) -> Self { + let radius = vector![self.radius.x, self.radius.y, 0.]; + Self { center: transform.transform_point(&self.center), - radius: transform.transform_vector(&self.radius), + radius: transform.transform_vector(&radius).xy(), } } diff --git a/src/kernel/topology/edges.rs b/src/kernel/topology/edges.rs index 3084a6a87..1dfbaeb70 100644 --- a/src/kernel/topology/edges.rs +++ b/src/kernel/topology/edges.rs @@ -127,7 +127,7 @@ impl Edge { Self { curve: Curve::Circle(Circle { center: Point::origin(), - radius: vector![radius, 0., 0.], + radius: vector![radius, 0.], }), vertices: None, reverse: false,