Class EllipticalArc
An elliptical arc.
Inherited Members
Namespace: Elements.Geometry
Assembly: Hypar.Elements.dll
Syntax
public class EllipticalArc : TrimmedCurve<Ellipse>, ICurve, ITransformable<Curve>, IBoundedCurve, ITrimmedCurve<Ellipse>
Constructors
EllipticalArc(Ellipse, Double, Double)
Create an elliptical arc.
Declaration
public EllipticalArc(Ellipse ellipse, double startAngle, double endAngle)
Parameters
Type | Name | Description |
---|---|---|
Ellipse | ellipse | The ellipse on which this trim is based. |
System.Double | startAngle | The start angle of the trim in degrees. |
System.Double | endAngle | The end parameter of the trim in degrees. |
EllipticalArc(Vector3, Double, Double, Double, Double)
Create an elliptical arc.
Declaration
[JsonConstructor]
public EllipticalArc(Vector3 center, double majorAxis, double minorAxis, double startAngle, double endAngle)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | center | The center of the ellipse. |
System.Double | majorAxis | The major axis (X) of the ellipse. |
System.Double | minorAxis | The minor axis (Y) of the ellipse. |
System.Double | startAngle | The start parameter of the trim. |
System.Double | endAngle | The end parameter of the trim. |
Properties
Domain
The domain of the curve.
Declaration
[JsonIgnore]
public override Domain1d Domain { get; }
Property Value
Type | Description |
---|---|
Domain1d |
Overrides
EndAngle
The angle from 0.0, in degrees, at which the arc will end with respect to the positive X axis.
Declaration
[JsonProperty("EndAngle", Required = Required.Always)]
[Range(0, 360)]
public double EndAngle { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
StartAngle
The angle from 0.0, in degrees, at which the arc will start with respect to the positive X axis.
Declaration
[JsonProperty("StartAngle", Required = Required.Always)]
[Range(0, 360)]
public double StartAngle { get; protected set; }
Property Value
Type | Description |
---|---|
System.Double |
Methods
ArcLength(Double, Double)
Calculate the length of the elliptical arc between start and end parameters.
Declaration
public override double ArcLength(double start, double end)
Parameters
Type | Name | Description |
---|---|---|
System.Double | start | |
System.Double | end |
Returns
Type | Description |
---|---|
System.Double | The length of the elliptical arc between start and end. |
Overrides
Bounds()
The bounds of the elliptical arc.
Declaration
public override BBox3 Bounds()
Returns
Type | Description |
---|---|
BBox3 |
Overrides
GetSubdivisionParameters(Double, Double)
Get parameters to be used to find points along the curve for visualization.
Declaration
public override double[] GetSubdivisionParameters(double startSetbackDistance = 0, double endSetbackDistance = 0)
Parameters
Type | Name | Description |
---|---|---|
System.Double | startSetbackDistance | An optional setback from the start of the curve. |
System.Double | endSetbackDistance | An optional setback from the end of the curve. |
Returns
Type | Description |
---|---|
System.Double[] | A collection of parameter values. |
Overrides
Length()
Calculate the length of the elliptical arc.
Declaration
public override double Length()
Returns
Type | Description |
---|---|
System.Double | The length of the elliptical arc. |
Overrides
ParameterAtDistanceFromParameter(Double, Double)
Get the parameter at a distance from the start parameter along the curve.
Declaration
public override double ParameterAtDistanceFromParameter(double distance, double start)
Parameters
Type | Name | Description |
---|---|---|
System.Double | distance | The distance from the start parameter. |
System.Double | start | The parameter from which to measure the distance. |
Returns
Type | Description |
---|---|
System.Double |
Overrides
PointAt(Double)
Get a point at a parameter on the elliptical arc.
Declaration
public override Vector3 PointAt(double u)
Parameters
Type | Name | Description |
---|---|---|
System.Double | u | The parameter at which to find a point. |
Returns
Type | Description |
---|---|
Vector3 | A point. |
Overrides
TransformAt(Double)
Get a transform at a parameter on the elliptical arc.
Declaration
public override Transform TransformAt(double u)
Parameters
Type | Name | Description |
---|---|---|
System.Double | u | The parameter at which to find a transform. |
Returns
Type | Description |
---|---|
Transform | A transform. |
Overrides
Transformed(Transform)
Create a transformed copy of this curve. Use of non-affine transforms (i.e. scale) will result in unpredictable results for curve methods such as Length().
Declaration
public override Curve Transformed(Transform transform)
Parameters
Type | Name | Description |
---|---|---|
Transform | transform | The transform to apply. |
Returns
Type | Description |
---|---|
Curve |