public struct ArcF : IComparable<ArcF>, IEquatable<ArcF>
Adds an Arc type to the Eto.Drawing namespace.

Constructors

ArcF

#
public ArcF(CircleF circle, float startAngle, float sweepAngle)
Create a new Arc.
circle (CircleF)Base circle.
startAngle (float)Start angle of arc in degrees, clockwise, starting from positive X.
sweepAngle (float)Sweep angle of arc in degrees, clockwise.

ArcF

#
public ArcF(float centreX, float centreY, float radius, float startAngle, float sweepAngle)
Create a new Arc.
centreX (float)Centre point x.
centreY (float)Centre point y.
radius (float)Radius.
startAngle (float)Start angle of arc in degrees, clockwise, starting from positive X.
sweepAngle (float)Sweep angle of arc in degrees, clockwise.

ArcF

#
public ArcF(PointF centre, float radius, float startAngle, float sweepAngle)
Create a new Arc.
centre (PointF)Centre point.
radius (float)Radius.
startAngle (float)Start angle of arc in degrees, clockwise, starting from positive X.
sweepAngle (float)Sweep angle of arc in degrees, clockwise.

Properties

Bounds

#
public RectangleF Bounds { get; }
Gets the bounding box of this arc.

Centre

#
public PointF Centre { get; set; }
Gets or sets the centre point of the arc.

CircleBounds

#
public RectangleF CircleBounds { get; }
Gets the frame of the arc (ie. the bounding box of the circle underlying the arc).

Empty

#
public static ArcF Empty { get; }
Returns an empty arc.

IsCircular

#
public bool IsCircular { get; }
Gets whether this arc is identical to a full circle.

IsEmpty

#
public bool IsEmpty { get; }
Gets whether this arc is empty, ie. has a radius of exactly zero, or a sweep angle of exactly zero.

IsUnset

#
public bool IsUnset { get; }
Gets whether this arc is unset, ie. whether any of its values are NaNs.

Length

#
public float Length { get; }
Gets the length of this arc. Arcs with negative radii will have negative circumferences, but negative sweep angles result in positive lengths.

Radius

#
public float Radius { get; set; }
Gets or sets the radius of the arc.

Start

#
public float Start { get; set; }
Gets or sets the start angle (in degrees, clockwise, starting from positive X).

Sweep

#
public float Sweep { get; set; }
Gets or sets the sweep angle (in degrees, clockwise).

Unset

#
public static ArcF Unset { get; }
Returns an unset arc.

Methods

ClosestPoint

#
[Pure] public PointF ClosestPoint(PointF point)
Gets the point on the arc edge closest to a locus point.
point (PointF)Locus point.
Point on arc edge.

CompareTo

#
[Pure] public int CompareTo(ArcF other)
Compare this circle to another.
other (ArcF)Circle to compare to.
Sort order.

CreateTangent

#
public static ArcF CreateTangent(PointF start, PointF end, PointF direction)
Create an arc using start, end and directional points.
start (PointF)Start of arc.
end (PointF)End of arc.
direction (PointF)Point along start tangent direction.
Arc, or, if no arc is possible, None.

CreateTangent

#
public static ArcF CreateTangent(PointF start, PointF end, SizeF tangent)
Create an arc using start and end points, and a tangent direction.
start (PointF)Start of arc.
end (PointF)End of arc.
tangent (SizeF)Tangent direction at start.
Arc, or, if no arc is possible, None.

CreateThreePoint

#
public static ArcF CreateThreePoint(PointF start, PointF interior, PointF end)
Create an arc through three points.
start (PointF)Start of arc.
interior (PointF)Point on arc interior.
end (PointF)End of arc.
Arc.

DirectionAt

#
[Pure] public SizeF DirectionAt(float angle)
Gets the tangent direction on the arc at the given angle. This is similar to the TangentAt(float) property but takes the sweep direction in account.
angle (float)Angle in degrees, clockwise starting from positive x.
Direction on arc.

Distance

#
[Pure] public float Distance(PointF point)
Gets the distance from a point to the boundary of the circle.
point (PointF)Point to measure.
Distance from circle edge to point.

Divide

#
[Pure] public PointF[] Divide(double deviation)
Divide the arc into segments.
deviation (double)Maximum deviation between arc and polygon.
Array of points.

Equals

#
[Pure] public bool Equals(ArcF other)
Compare one circle to another.
other (ArcF)Circle to compare to.
True if circles are equals.

Offset

#
[Pure] public ArcF Offset(float amount)
Modify this arc by offsetting it.
amount (float)Amount to offset.
Offsetted arc.

PointAt

#
[Pure] public PointF PointAt(float angle)
Gets the point on the arc at the given angle. Angles are evaluated on the circle underlying the arc.
angle (float)Angle in degrees, clockwise starting from positive x.
Point on arc.

Reverse

#
[Pure] public ArcF Reverse()
Reverse this arc direction.
Reversed arc.

TangentAt

#
[Pure] public SizeF TangentAt(float angle)
Gets the tangent on the arc at the given angle. Angles are evaluated on the circle underlying the arc.
angle (float)Angle in degrees, clockwise starting from positive x.
Tangent on arc.

ToRhinoArc

#
[EditorBrowsable(EditorBrowsableState.Never)] [Pure] public Arc ToRhinoArc()
Create a Rhino arc out of this ArcF.

ToString

#
public override string ToString()
Gets a string representation of this arc.
Description.

Convertors

OperationResultDescription
implicitArcFArcDefines widening conversion from Eto.ArcF to Rhino.Geometry.Arc.
implicitArcArcFDefines widening conversion from Rhino.Geometry.Arc to Eto.ArcF.
implicitArcFRectangleFDefines widening conversion to Bounding rectangle.