# Arc

Arc

## Constructor

Initializes a new instance of an arc from a base circle and an angle.
##### Parameters:
Name Type Description
circle Circle Circle to base arc upon.

### Members

#### angleDegrees :double

Gets or sets the sweep -or subtended- angle (in Radians) for this arc segment.
• double

#### angleDomain :Interval

Gets or sets the angle domain (in Radians) of this arc.
• Interval

#### center :Array.<x, y, z>

Gets or sets the center point for this arc.
##### Type:
• Array.<x, y, z>

#### circumference :double

Gets the circumference of the circle that is coincident with this arc.
• double

#### diameter :double

Gets or sets the Diameter of this arc.
• double

#### endAngle :double

Gets or sets the end angle (in Radians) for this arc segment.
• double

#### endAngleDegrees :double

Gets or sets the end angle (in Radians) for this arc segment.
• double

#### endPoint :Array.<x, y, z>

Gets the end point of the arc.
##### Type:
• Array.<x, y, z>

#### isCircle :bool

Gets a value indicating whether or not this arc is a complete circle.
• bool

#### isValid :bool

Gets a value indicating whether or not this arc is valid. Detail: Radius>0 and 0
• bool

#### length :double

Gets the length of the arc. (Length = Radius * (subtended angle in radians)).
• double

#### midPoint :Array.<x, y, z>

Gets the mid-point of the arc.
##### Type:
• Array.<x, y, z>

Gets or sets the radius of this arc.
• double

#### startAngle :double

Gets or sets the start angle (in Radians) for this arc segment.
• double

#### startAngleDegrees :double

Gets or sets the start angle (in Radians) for this arc segment.
• double

#### startPoint :Array.<x, y, z>

Gets the start point of the arc.
##### Type:
• Array.<x, y, z>

### Methods

...

#### boundingBox() → {BoundingBox}

Computes the 3D axis aligned bounding box for this arc.
##### Returns:
Bounding box of arc.
Type
BoundingBox

#### closestParameter(testPoint) → {double}

Gets parameter on the arc closest to a test point.
##### Parameters:
Name Type Description
testPoint Array.<x, y, z> Point to get close to.
##### Returns:
Parameter (in radians) of the point on the arc that is closest to the test point. If testPoint is the center of the arc, then the starting point of the arc is (arc.Domain()[0]) returned. If no parameter could be found, RhinoMath.UnsetValue is returned.
Type
double

#### closestPoint(testPoint) → {Array.<x, y, z>}

Computes the point on an arc that is closest to a test point.
##### Parameters:
Name Type Description
testPoint Array.<x, y, z> Point to get close to.
##### Returns:
The point on the arc that is closest to testPoint. If testPoint is the center of the arc, then the starting point of the arc is returned. UnsetPoint on failure.
Type
Array.<x, y, z>

#### pointAt(t) → {Array.<x, y, z>}

Gets the point at the given arc parameter.
##### Parameters:
Name Type Description
t double Arc parameter to evaluate.
##### Returns:
The point at the given parameter.
Type
Array.<x, y, z>

#### reverse()

Reverses the orientation of the arc. Changes the domain from [a,b] to [-b,-a].

#### tangentAt(t) → {Array.<x, y, z>}

Gets the tangent at the given parameter.
##### Parameters:
Name Type Description
t double Parameter of tangent to evaluate.
##### Returns:
The tangent at the arc at the given parameter.
Type
Array.<x, y, z>

#### toNurbsCurve() → {NurbsCurve}

Initializes a nurbs curve representation of this arc. This amounts to the same as calling NurbsCurve.CreateFromArc().
##### Returns:
A nurbs curve representation of this arc or null if no such representation could be made.
Type
NurbsCurve

#### transform(xform) → {bool}

Transforms the arc using a Transformation matrix.
##### Parameters:
Name Type Description
xform Transform Transformations to apply. Note that arcs cannot handle non-euclidean transformations.
##### Returns:
true on success, false on failure.
Type
bool

#### trim(domain) → {bool}

Sets arc's angle domain (in radians) as a sub-domain of the circle.
##### Parameters:
Name Type Description
domain Interval 0 < domain[1] - domain[0] <= 2.0 * RhinoMath.Pi.
##### Returns:
true on success, false on failure.
Type
bool