ArcCurve

ArcCurve

Represent arcs and circles. ArcCurve.IsCircle returns true if the curve is a complete circle. Details: an ArcCurve is a subcurve of a circle, with a constant speed parameterization. The parameterization is an affine linear reparameterzation of the underlying arc m_arc onto the domain m_t. A valid ArcCurve has Radius()>0 and 0<AngleRadians()<=2*PI and a strictly increasing Domain.

Constructor

new ArcCurve()

Extends

Members

angleDegrees :double

Gets the angles of this arc in degrees.
Type:
  • double

angleRadians :double

Gets the angles of this arc in radians.
Type:
  • double

degree :int

Inherited From:
Gets the maximum algebraic degree of any span or a good estimate if curve spans are not algebraic.
Type:
  • int

dimension :int

Inherited From:
Gets the dimension of the object. The dimension is typically three. For parameter space trimming curves the dimension is two. In rare cases the dimension can be one or greater than three.
Type:
  • int

domain :Interval

Inherited From:
Gets or sets the domain of the curve.
Type:
  • Interval

hasBrepForm :bool

Inherited From:
Returns true if the Brep.TryConvertBrep function will be successful for this object
Type:
  • bool

isClosed :bool

Inherited From:
Gets a value indicating whether or not this curve is a closed curve.
Type:
  • bool

isCompleteCircle :bool

Gets a value indicating whether or not this curve can be represented by a complete circle.
Type:
  • bool

isDeformable :bool

Inherited From:
true if object can be accurately modified with "squishy" transformations like projections, shears, and non-uniform scaling.
Type:
  • bool

isPeriodic :bool

Inherited From:
Gets a value indicating whether or not this curve is considered to be Periodic.
Type:
  • bool

objectType :ObjectType

Inherited From:
Useful for switch statements that need to differentiate between basic object types like points, curves, surfaces, and so on.
Type:
  • ObjectType

pointAtEnd :Array.<x, y, z>

Inherited From:
Evaluates point at the end of the curve.
Type:
  • Array.<x, y, z>

pointAtStart :Array.<x, y, z>

Inherited From:
Evaluates point at the start of the curve.
Type:
  • Array.<x, y, z>

radius :double

Gets the radius of this ArcCurve.
Type:
  • double

spanCount :int

Inherited From:
Gets the number of non-empty smooth (c-infinity) spans in the curve.
Type:
  • int

userStringCount

Inherited From:

Methods

changeClosedCurveSeam(t) → {bool}

Inherited From:
If this curve is closed, then modify it so that the start/end point is at curve parameter t.
Parameters:
Name Type Description
t double Curve parameter of new start/end point. The returned curves domain will start at t.
Returns:
true on success, false on failure.
Type
bool

changeDimension(desiredDimension) → {bool}

Inherited From:
Changes the dimension of a curve.
Parameters:
Name Type Description
desiredDimension int The desired dimension.
Returns:
true if the curve's dimension was already desiredDimension or if the curve's dimension was successfully changed to desiredDimension; otherwise false.
Type
bool

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

Inherited From:
Evaluate the curvature vector at a curve parameter.
Parameters:
Name Type Description
t double Evaluation parameter.
Returns:
Curvature vector of the curve at the parameter t.
Type
Array.<x, y, z>

encode()

Inherited From:
...

getBoundingBox(accurate) → {BoundingBox}

Inherited From:
Boundingbox solver. Gets the world axis aligned boundingbox for the geometry.
Parameters:
Name Type Description
accurate bool If true, a physically accurate boundingbox will be computed. If not, a boundingbox estimate will be computed. For some geometry types there is no difference between the estimate and the accurate boundingbox. Estimated boundingboxes can be computed much (much) faster than accurate (or "tight") bounding boxes. Estimated bounding boxes are always similar to or larger than accurate bounding boxes.
Returns:
The boundingbox of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
Type
BoundingBox

getUserString()

Inherited From:
...

isArc() → {bool}

Inherited From:
Test a curve to see if it can be represented by an arc or circle within RhinoMath.ZeroTolerance.
Returns:
true if the curve can be represented by an arc or a circle within tolerance.
Type
bool

isCircle() → {bool}

Inherited From:
Test a curve to see if it can be represented by a circle within RhinoMath.ZeroTolerance.
Returns:
true if the Curve can be represented by a circle within tolerance.
Type
bool

isEllipse() → {bool}

Inherited From:
Test a curve to see if it can be represented by an ellipse within RhinoMath.ZeroTolerance.
Returns:
true if the Curve can be represented by an ellipse within tolerance.
Type
bool

isLinear() → {bool}

Inherited From:
Test a curve to see if it is linear to within RhinoMath.ZeroTolerance units (1e-12).
Returns:
true if the curve is linear.
Type
bool

isPlanar() → {bool}

Inherited From:
Test a curve for planarity.
Returns:
true if the curve is planar (flat) to within RhinoMath.ZeroTolerance units (1e-12).
Type
bool

isPolyline() → {bool}

Inherited From:
Several types of Curve can have the form of a polyline including a degree 1 NurbsCurve, a PolylineCurve, and a PolyCurve all of whose segments are some form of polyline. IsPolyline tests a curve to see if it can be represented as a polyline.
Returns:
true if this curve can be represented as a polyline; otherwise, false.
Type
bool

makeDeformable() → {bool}

Inherited From:
If possible, converts the object into a form that can be accurately modified with "squishy" transformations like projections, shears, an non-uniform scaling.
Returns:
false if object cannot be converted to a deformable object. true if object was already deformable or was converted into a deformable object.
Type
bool

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

Inherited From:
Evaluates point at a curve parameter.
Parameters:
Name Type Description
t double Evaluation parameter.
Returns:
Point (location of curve at the parameter t).
Type
Array.<x, y, z>

reverse() → {bool}

Inherited From:
Reverses the direction of the curve.
Returns:
true on success, false on failure.
Type
bool

rotate(angleRadians, rotationAxis, rotationCenter) → {bool}

Inherited From:
Rotates the object about the specified axis. A positive rotation angle results in a counter-clockwise rotation about the axis (right hand rule).
Parameters:
Name Type Description
angleRadians double Angle of rotation in radians.
rotationAxis Array.<x, y, z> Direction of the axis of rotation.
rotationCenter Array.<x, y, z> Point on the axis of rotation.
Returns:
true if geometry successfully rotated.
Type
bool

scale(scaleFactor) → {bool}

Inherited From:
Scales the object by the specified factor. The scale is centered at the origin.
Parameters:
Name Type Description
scaleFactor double The uniform scaling factor.
Returns:
true if geometry successfully scaled.
Type
bool

setEndPoint(point) → {bool}

Inherited From:
Forces the curve to end at a specified point. Not all curve types support this operation.
Parameters:
Name Type Description
point Array.<x, y, z> New end point of curve.
Returns:
true on success, false on failure.
Type
bool

setStartPoint(point) → {bool}

Inherited From:
Forces the curve to start at a specified point. Not all curve types support this operation.
Parameters:
Name Type Description
point Array.<x, y, z> New start point of curve.
Returns:
true on success, false on failure.
Type
bool

setUserString()

Inherited From:
...

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

Inherited From:
Evaluates the unit tangent vector at a curve parameter.
Parameters:
Name Type Description
t double Evaluation parameter.
Returns:
Unit tangent vector of the curve at the parameter t.
Type
Array.<x, y, z>

toJSON()

Inherited From:
...

toNurbsCurve() → {NurbsCurve}

Inherited From:
Constructs a NURBS curve representation of this curve.
Returns:
NURBS representation of the curve on success, null on failure.
Type
NurbsCurve

transform(xform) → {bool}

Inherited From:
Transforms the geometry. If the input Transform has a SimilarityType of OrientationReversing, you may want to consider flipping the transformed geometry after calling this function when it makes sense. For example, you may want to call Flip() on a Brep after transforming it.
Parameters:
Name Type Description
xform Transform Transformation to apply to geometry.
Returns:
true if geometry successfully transformed.
Type
bool

translate(translationVector) → {bool}

Inherited From:
Translates the object along the specified vector.
Parameters:
Name Type Description
translationVector Array.<x, y, z> A moving vector.
Returns:
true if geometry successfully translated.
Type
bool

trim(t0, t1) → {Curve}

Inherited From:
Removes portions of the curve outside the specified interval.
Parameters:
Name Type Description
t0 double Start of the trimming interval. Portions of the curve before curve(t0) are removed.
t1 double End of the trimming interval. Portions of the curve after curve(t1) are removed.
Returns:
Trimmed portion of this curve is successfull, null on failure.
Type
Curve

tryGetArc(arc) → {bool}

Inherited From:
Try to convert this curve into an Arc using RhinoMath.ZeroTolerance.
Parameters:
Name Type Description
arc Arc On success, the Arc will be filled in.
Returns:
true if the curve could be converted into an arc.
Type
bool

tryGetCircle(circle) → {bool}

Inherited From:
Try to convert this curve into a circle using RhinoMath.ZeroTolerance.
Parameters:
Name Type Description
circle Circle On success, the Circle will be filled in.
Returns:
true if the curve could be converted into a Circle.
Type
bool

tryGetPolyline(polyline) → {bool}

Inherited From:
Several types of Curve can have the form of a polyline including a degree 1 NurbsCurve, a PolylineCurve, and a PolyCurve all of whose segments are some form of polyline. IsPolyline tests a curve to see if it can be represented as a polyline.
Parameters:
Name Type Description
polyline Polyline If true is returned, then the polyline form is returned here.
Returns:
true if this curve can be represented as a polyline; otherwise, false.
Type
bool