﻿Arc Structure
 Arc Structure
Represents the value of a plane, two angles and a radius in a subcurve of a three-dimensional circle.

The curve is parameterized by an angle expressed in radians. For an IsValid arc the total subtended angle AngleRadians() = Domain()(1) - Domain()(0) must satisfy 0 < AngleRadians() < 2*Pi

The parameterization of the Arc is inherited from the Circle it is derived from. In particular

where xaxis and yaxis, (part of Circle.Plane) form an othonormal frame of the plane containing the circle.

Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll) Version: 5.1.50000.0 (5.0.20693.0)
Syntax
```[SerializableAttribute]
public struct Arc : IEquatable<Arc>, IEpsilonComparable<Arc>```

The Arc type exposes the following members.

Constructors
NameDescription
Arc(Circle, Interval)
Initializes a new instance of an arc from a base circle and an interval of angles.
Arc(Circle, Double)
Initializes a new instance of an arc from a base circle and an angle.
Arc(Plane, Double, Double)
Initializes a new arc from a base plane, a radius value and an angle.
Arc(Point3d, Point3d, Point3d)
Initializes a new arc through three points. If the points are coincident or colinear, this will result in an Invalid arc.
Arc(Point3d, Vector3d, Point3d)
Initializes a new arc from end points and a tangent vector. If the tangent is parallel with the endpoints this will result in an Invalid arc.
Arc(Point3d, Double, Double)
Initializes a new horizontal arc at the given center point, with a custom radius and angle.
Arc(Plane, Point3d, Double, Double)
Initializes a new aligned arc at the given center point, with a custom radius and angle.
Top
Properties
NameDescription
Angle
Gets or sets the sweep -or subtended- angle (in Radians) for this arc segment.
AngleDegrees
Gets or sets the sweep -or subtended- angle (in Radians) for this arc segment.
AngleDomain
Gets or sets the angle domain (in Radians) of this arc.
Center
Gets or sets the center point for this arc.
Circumference
Gets the circumference of the circle that is coincident with this arc.
Diameter
Gets or sets the Diameter of this arc.
EndAngle
Gets or sets the end angle (in Radians) for this arc segment.
EndAngleDegrees
Gets or sets the end angle (in Radians) for this arc segment.
EndPoint
Gets the end point of the arc.
IsCircle
Gets a value indicating whether or not this arc is a complete circle.
IsValid
Gets a value indicating whether or not this arc is valid. Detail: Radius>0 and 0<AngleRadians()<=2*Math.Pi.
Length
Gets the length of the arc. (Length = Radius * (subtended angle in radians)).
MidPoint
Gets the mid-point of the arc.
Plane
Gets or sets the plane in which this arc lies.
Gets or sets the radius of this arc.
StartAngle
Gets or sets the start angle (in Radians) for this arc segment.
StartAngleDegrees
Gets or sets the start angle (in Radians) for this arc segment.
StartPoint
Gets the start point of the arc.
Unset
Gets an Arc with Unset components.
Top
Methods
NameDescription
BoundingBox
Computes the 3D axis aligned bounding box for this arc.
ClosestParameter
Gets parameter on the arc closest to a test point.
ClosestPoint
Computes the point on an arc that is closest to a test point.
EpsilonEquals
Check that all values in other are within epsilon of the values in this
Equals(Object)
Determines whether another object is an arc and has the same value as this arc.
(Overrides ValueTypeEquals(Object).)
Equals(Arc)
Determines whether another arc has the same value as this arc.
GetHashCode
Computes a hash code for the present arc.
(Overrides ValueTypeGetHashCode.)
GetType
Gets the Type of the current instance.
(Inherited from Object.)
PointAt
Gets the point at the given arc parameter.
Reverse
Reverses the orientation of the arc. Changes the domain from [a,b] to [-b,-a].
TangentAt
Gets the tangent at the given parameter.
ToNurbsCurve
Initializes a nurbs curve representation of this arc. This amounts to the same as calling NurbsCurve.CreateFromArc().
ToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Transform
Transforms the arc using a Transformation matrix.
Trim
Sets arc's angle domain (in radians) as a subdomain of the circle.
Top
Operators
NameDescription
Equality
Determines whether two arcs have equal values.
Inequality
Determines whether two arcs have different values.
Top