Generated by DocFX

Class Circle

Represents a circle.
The base values of the circle are the radius and a plane, with origin at the center of the circle.

Inheritance
System.Object
NurbsBase
Circle
Arc
Inherited Members
NurbsBase.Weights
NurbsBase.Degree
NurbsBase.ControlPointLocations
NurbsBase.ControlPoints
NurbsBase.Knots
NurbsBase.IsClosed
NurbsBase.IsPeriodic
NurbsBase.Close()
NurbsBase.ParameterAtChordLength(Double, Double)
NurbsBase.DivideByChordLength(Double)
NurbsBase.Extrema()
NurbsBase.CurvatureAt(Double)
NurbsBase.PerpendicularFrameAt(Double)
NurbsBase.Reverse()
NurbsBase.ParameterAtLength(Double)
NurbsBase.ClampEnds()
NurbsBase.Offset(Double, Plane)
NurbsBase.Join(IList<NurbsBase>)
NurbsBase.DecomposeIntoBeziers()
NurbsBase.ElevateDegree(Int32)
NurbsBase.ReduceDegree(Double)
NurbsBase.Divide(Int32)
NurbsBase.Divide(Double, Boolean)
NurbsBase.PerpendicularFrames(List<Double>, Nullable<Vector3>, Nullable<Vector3>)
NurbsBase.SplitAt(Double)
NurbsBase.SplitAt(Double[])
NurbsBase.SubCurve(Interval)
NurbsBase.Equals(NurbsBase)
NurbsBase.Equals(Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Syntax
public class Circle : NurbsBase, IGeometry<NurbsBase>, IEquatable<NurbsBase>, ITransformable<NurbsBase>, IGeometry<Circle>, IEquatable<Circle>, ITransformable<Circle>
Examples
// Initializes a circle from a plane and a radius.
Point3 center = new Point3(85.591741, 24.79606, 1.064717);
Vector3 xDir = new Vector3(-0.687455, 0.703828, -0.178976);
Vector3 yDir = new Vector3(-0.726183, -0.663492, 0.180104);
Plane plane = new Plane(center, xDir, yDir);
_circle2D = new Circle(plane, 23);

// Initializes a circle from 3 points.
Point3 pt1 = new Point3(74.264416, 36.39316, -1.884313);
Point3 pt2 = new Point3(97.679126, 13.940616, 3.812853);
Point3 pt3 = new Point3(100.92443, 30.599893, -0.585116);
_circle3D = new Circle(pt1, pt2, pt3);

Constructors

| Improve this Doc View Source

Circle(Plane, Double)

Initializes a circle on a plane with a given radius.

Declaration
public Circle(Plane plane, double radius)
Parameters
Type Name Description
Plane plane

Plane of the circle. Plane origin defines the center of the circle.

System.Double radius

Radius of the circle.

| Improve this Doc View Source

Circle(Point3, Point3, Point3)

Initializes an circle from three points. https://github.com/sergarrido/random/tree/master/circle3d

Declaration
public Circle(Point3 pt1, Point3 pt2, Point3 pt3)
Parameters
Type Name Description
Point3 pt1

Start point of the arc.

Point3 pt2

Interior point on arc.

Point3 pt3

End point of the arc.

| Improve this Doc View Source

Circle(Double)

Initializes a circle on planeXY with center in 0,0,0 by a given radius.

Declaration
public Circle(double radius)
Parameters
Type Name Description
System.Double radius

Radius of the circle.

Properties

| Improve this Doc View Source

AngleDomain

Gets the angle domain (in radians) of this circular curve.

Declaration
public Interval AngleDomain { get; }
Property Value
Type Description
Interval
| Improve this Doc View Source

Center

Gets the center of the circular curve.

Declaration
public Point3 Center { get; }
Property Value
Type Description
Point3
| Improve this Doc View Source

EndPoint

Gets the end point of the circular curve.

Declaration
public override Point3 EndPoint { get; }
Property Value
Type Description
Point3
Overrides
NurbsBase.EndPoint
| Improve this Doc View Source

Length

Gets the circumference of the circular curve.

Declaration
public override double Length { get; }
Property Value
Type Description
System.Double
Overrides
NurbsBase.Length
| Improve this Doc View Source

MidPoint

Gets the mid-point of the circular curve.

Declaration
public override Point3 MidPoint { get; }
Property Value
Type Description
Point3
Overrides
NurbsBase.MidPoint
| Improve this Doc View Source

Plane

Gets the plane where the circular curve lays.

Declaration
public Plane Plane { get; }
Property Value
Type Description
Plane
| Improve this Doc View Source

Radius

Gets the radius of the circular curve.

Declaration
public double Radius { get; }
Property Value
Type Description
System.Double
| Improve this Doc View Source

StartPoint

Gets the start point of the circular curve.

Declaration
public override Point3 StartPoint { get; }
Property Value
Type Description
Point3
Overrides
NurbsBase.StartPoint

Methods

| Improve this Doc View Source

ClosestParameter(Point3)

Gets the parameter on the circular curve which is closest to the test point.

Declaration
public override double ClosestParameter(Point3 pt)
Parameters
Type Name Description
Point3 pt

The test point to project onto the circular curve.

Returns
Type Description
System.Double

The parameter on the circular curve that is close to the test point.

Overrides
NurbsBase.ClosestParameter(Point3)
| Improve this Doc View Source

ClosestPoint(Point3)

Gets the point on the circular curve which is closest to the test point.

Declaration
public override Point3 ClosestPoint(Point3 pt)
Parameters
Type Name Description
Point3 pt

The test point to project onto the circular curve.

Returns
Type Description
Point3

The point on the circular curve that is close to the test point.

Overrides
NurbsBase.ClosestPoint(Point3)
| Improve this Doc View Source

DerivativeAt(Double, Int32)

Determines the value of the Nth derivative at a parameter.

Declaration
public Vector3 DerivativeAt(double t, int derivative = 0)
Parameters
Type Name Description
System.Double t

Parameter to evaluate derivative. A parameter between 0.0 and angle domain in radians.

System.Int32 derivative

Which order of derivative is wanted. Valid values are 0,1,2,3.

Returns
Type Description
Vector3

The derivative of the circle at the given parameter.

| Improve this Doc View Source

Equals(Circle)

Determines whether the circle is equal to another. The circles are equal if have the same plane and radius.

Declaration
public bool Equals(Circle other)
Parameters
Type Name Description
Circle other

The circle to compare to.

Returns
Type Description
System.Boolean

True if the circle are equal, otherwise false.

| Improve this Doc View Source

GetBoundingBox()

Gets the bounding box of this circular curve.

Declaration
public override BoundingBox GetBoundingBox()
Returns
Type Description
BoundingBox
Overrides
NurbsBase.GetBoundingBox()
| Improve this Doc View Source

GetHashCode()

Computes a hash code for the circle.

Declaration
public override int GetHashCode()
Returns
Type Description
System.Int32

A unique hashCode of an circle.

Overrides
NurbsBase.GetHashCode()
| Improve this Doc View Source

LengthAt(Double)

Returns the length at a given parameter.

Declaration
public override double LengthAt(double t)
Parameters
Type Name Description
System.Double t

A parameter between 0.0 and angle domain in radians.

Returns
Type Description
System.Double

The curve length at t.

Overrides
NurbsBase.LengthAt(Double)
| Improve this Doc View Source

Offset(Double)

Computes the offset of a circle.

Declaration
public Circle Offset(double distance)
Parameters
Type Name Description
System.Double distance

The distance of the offset. If negative the offset will be in the opposite side.

Returns
Type Description
Circle

The offset circle.

| Improve this Doc View Source

PointAt(Double)

Evaluates the point at the parameter t on the circular curve.

Declaration
public override Point3 PointAt(double t)
Parameters
Type Name Description
System.Double t

A parameter between 0.0 and angle domain in radians.>

Returns
Type Description
Point3

Point on the circular curve.

Overrides
NurbsBase.PointAt(Double)
| Improve this Doc View Source

PointAtLength(Double)

Evaluates a point at the specif length.

Declaration
public override Point3 PointAtLength(double length)
Parameters
Type Name Description
System.Double length

The length where to evaluate the point.

Returns
Type Description
Point3

The point at the length.

Overrides
NurbsBase.PointAtLength(Double)
| Improve this Doc View Source

PointAtNormalizedLength(Double)

Evaluates a point at the normalized length.

Declaration
public override Point3 PointAtNormalizedLength(double normalizedLength)
Parameters
Type Name Description
System.Double normalizedLength

The length factor is normalized between 0.0 and 1.0.

Returns
Type Description
Point3

The point at the length.

Overrides
NurbsBase.PointAtNormalizedLength(Double)
| Improve this Doc View Source

TangentAt(Double)

Calculates the tangent at the parameter on the circular curve.

Declaration
public override Vector3 TangentAt(double t)
Parameters
Type Name Description
System.Double t

A parameter between 0.0 and angle domain in radians.

Returns
Type Description
Vector3

Unitized tangent vector at the parameter.

Overrides
NurbsBase.TangentAt(Double)
| Improve this Doc View Source

TangentAtLength(Double)

Evaluates the tangent at the specific length.

Declaration
public Vector3 TangentAtLength(double length)
Parameters
Type Name Description
System.Double length

The length where to evaluate the tangent.

Returns
Type Description
Vector3

The unitize tangent at the length.

| Improve this Doc View Source

ToString()

Gets the text representation of an circle.

Declaration
public override string ToString()
Returns
Type Description
System.String

Text value.

Overrides
NurbsBase.ToString()
| Improve this Doc View Source

Transform(TransformMatrix)

Applies a transformation to the plane where the circle is on.

Declaration
public Circle Transform(TransformMatrix t)
Parameters
Type Name Description
TransformMatrix t

Transformation matrix to apply.

Returns
Type Description
Circle

A transformed arc.

Implements

IGeometry<T>
System.IEquatable<T>
ITransformable<T>
IGeometry<T>
System.IEquatable<T>
ITransformable<T>