Click or drag to resize

Arc Structure

Represents the value of a plane, two angles and a radius in a sub-curve 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

t -> center + cos(t)*radius*xaxis + sin(t)*radius*yaxis

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

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

The Arc type exposes the following members.

Constructors
  NameDescription
Public methodArc(Circle, Interval)
Initializes a new instance of an arc from a base circle and an interval of angles.
Public methodArc(Circle, Double)
Initializes a new instance of an arc from a base circle and an angle.
Public methodArc(Plane, Double, Double)
Initializes a new arc from a base plane, a radius value and an angle.
Public methodArc(Point3d, Point3d, Point3d)
Initializes a new arc through three points. If the points are coincident or co-linear, this will result in an Invalid arc.
Public methodArc(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.
Public methodArc(Point3d, Double, Double)
Initializes a new horizontal arc at the given center point, with a custom radius and angle.
Public methodArc(Plane, Point3d, Double, Double)
Initializes a new aligned arc at the given center point, with a custom radius and angle.
Top
Properties
  NameDescription
Public propertyAngle
Gets or sets the sweep -or subtended- angle (in Radians) for this arc segment.
Public propertyAngleDegrees
Gets or sets the sweep -or subtended- angle (in Degrees) for this arc segment.
Public propertyAngleDomain
Gets or sets the angle domain (in Radians) of this arc.
Public propertyCenter
Gets or sets the center point for this arc.
Public propertyCircumference
Gets the circumference of the circle that is coincident with this arc.
Public propertyDiameter
Gets or sets the Diameter of this arc.
Public propertyEndAngle
Gets or sets the end angle (in Radians) for this arc segment.
Public propertyEndAngleDegrees
Gets or sets the end angle (in Degrees) for this arc segment.
Public propertyEndPoint
Gets the end point of the arc.
Public propertyIsCircle
Gets a value indicating whether or not this arc is a complete circle.
Public propertyIsValid
Gets a value indicating whether or not this arc is valid. Detail: Radius>0 and 0<AngleRadians()<=2*Math.Pi.
Public propertyLength
Gets the length of the arc. (Length = Radius * (subtended angle in radians)).
Public propertyMidPoint
Gets the mid-point of the arc.
Public propertyPlane
Gets or sets the plane in which this arc lies.
Public propertyRadius
Gets or sets the radius of this arc.
Public propertyStartAngle
Gets or sets the start angle (in Radians) for this arc segment.
Public propertyStartAngleDegrees
Gets or sets the start angle (in Degrees) for this arc segment.
Public propertyStartPoint
Gets the start point of the arc.
Public propertyStatic memberUnset
Gets an Arc with Unset components.
Top
Methods
  NameDescription
Public methodBoundingBox
Computes the 3D axis aligned bounding box for this arc.
Public methodClosestParameter
Gets parameter on the arc closest to a test point.
Public methodClosestPoint
Computes the point on an arc that is closest to a test point.
Public methodEpsilonEquals
Check that all values in other are within epsilon of the values in this
Public methodEquals(Arc)
Determines whether another arc has the same value as this arc.
Public methodEquals(Object)
Determines whether another object is an arc and has the same value as this arc.
(Overrides ValueTypeEquals(Object).)
Public methodGetHashCode
Computes a hash code for the present arc.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodPointAt
Gets the point at the given arc parameter.
Public methodReverse
Reverses the orientation of the arc. Changes the domain from [a,b] to [-b,-a].
Public methodTangentAt
Gets the tangent at the given parameter.
Public methodToNurbsCurve
Initializes a nurbs curve representation of this arc. This amounts to the same as calling NurbsCurve.CreateFromArc().
Public methodToNurbsCurve(Int32, Int32)
Create a uniform non-rational cubic NURBS approximation of an arc.
Public methodToString
Returns the fully qualified type name of this instance.
(Inherited from ValueType.)
Public methodTransform
Transforms the arc using a Transformation matrix.
Public methodTrim
Sets arc's angle domain (in Radians) as a sub-domain of the circle.
Top
Operators
  NameDescription
Public operatorStatic memberEquality
Determines whether two arcs have equal values.
Public operatorStatic memberInequality
Determines whether two arcs have different values.
Top
See Also