@@ -340,6 +340,33 @@ pub enum PathSegment {
340
340
///from the end of the involute, otherwise it will start from that start.
341
341
reverse : bool ,
342
342
} ,
343
+ ///Adds an elliptical arc segment.
344
+ Ellipse {
345
+ /// The center point of the ellipse.
346
+ center : Point2d < LengthUnit > ,
347
+ /// Major radius of the ellipse (along the x axis).
348
+ major_radius : LengthUnit ,
349
+ /// Minor radius of the ellipse (along the y axis).
350
+ minor_radius : LengthUnit ,
351
+ /// Start of the path along the perimeter of the ellipse.
352
+ start_angle : Angle ,
353
+ /// End of the path along the perimeter of the ellipse.
354
+ end_angle : Angle ,
355
+ } ,
356
+ ///Adds a generic conic section specified by the end point, interior point and tangents at the
357
+ ///start and end of the section.
358
+ ConicTo {
359
+ /// Interior point that lies on the conic.
360
+ interior : Point2d < LengthUnit > ,
361
+ /// End point of the conic.
362
+ end : Point2d < LengthUnit > ,
363
+ /// Tangent at the start of the conic.
364
+ start_tangent : Point2d < LengthUnit > ,
365
+ /// Tangent at the end of the conic.
366
+ end_tangent : Point2d < LengthUnit > ,
367
+ /// Whether or not the interior and end points are relative to the previous path position.
368
+ relative : bool ,
369
+ } ,
343
370
}
344
371
345
372
/// An angle, with a specific unit.
0 commit comments