This constructor creates a spline initialized to be an elliptical arc.
The center, unitNormal, and majorAxis are used to calculate the start point. majorAxis is the vector from the ellipse center point to the ellipse start point (or, half the major axis length). This vector is the zero angle for startAngle and endAngle. Positive angles are counterclockwise when looking down the normal vector (that is, right hand rule).
radiusRatio must be in the range 1e-6 to 1.0.
The dot product of normal with itself and majorAxis with itself must be greater than 1e-12.
majorAxis must perpendicular to normal within 1e-6.
The difference between startAngle and endAngle must be greater than 1e-6.
If any of the parameters are not acceptable, then the gelib object for the spline is not created and this constructor behaves like the default constructor (that is, the passed in values are not used and the data query methods on the spline return invalid values).
Use Spline.IsNull to determine if this constructor succeeded in initializing the spline to the values passed in. If Spline.IsNull returns false, then the initialization succeeded.
Public Sub New( center As Point3d, unitNormal As Vector3d, majorAxis As Vector3d, radiusRatio As double, startAngle As double, endAngle As double )
public Spline( Point3d center, Vector3d unitNormal, Vector3d majorAxis, double radiusRatio, double startAngle, double endAngle );
Parameters |
Description |
Point3d center |
Center point (in WCS coordinates) of the elliptical arc |
Vector3d unitNormal |
Vector (in WCS coordinates) representing the normal to the elliptical arc |
Vector3d majorAxis |
Major axis vector (in WCS coordinates) of the elliptical arc, measured from the ellipse center point to the ellipse start point |
double radiusRatio |
Ratio of minor or major axis length |
double startAngle |
Angle (in radians) of start point of elliptical arc |
double endAngle |
Angle (in radians) of end point of elliptical arc |
Comments? |