Parameters |
Description |
int degree |
[in] Degree of curve. |
const OdGeKnotVector& knots |
[in] Knot vector. |
const OdGePoint3dArray& controlPoints |
[in] Array of 3D control points. |
const OdGeDoubleArray& weights |
[in] Array of 3D control points. |
bool isPeriodic = false |
[in] True if and only if the curve is periodic. |
Constructor for the OdGeNurbCurve3d class.
High degree values make curve more flexible. For example degree 1 is used to define a polyline, degree 2 is used to define a nurb circle, etc.
A knot vector defines a sequence of parameter values that determine where and how the control points affect the curve. The knot vector is a sequence of parameter values and divides the parametric space into intervals, usually called knot spans. Values of knot vector must be provided in ascending order, for example: (0, 0, 0, 1, 2, 3, 3, 3) can be valid while (0, 0, 2, 0, 3, 1, 3, 3) cannot be valid. Knot vector does not affect the form of the nurb curve, it only affects its parameterization.
The control points specify the placement of the curve and adjust its shape. The quantity of control points must be at least the degree + 1.
The closer the weight value is to zero, the closer the curve is to a straight line near the corresponding control point. If the weight increases, the curve pulls toward the corresponding control point. If the weight decreases, the curve pushes from the corresponding control point.
If isPeriodic is false, then knots.length() must equal controlPoints.length() + degree + 1 If isPeriodic is true, then knots.length() must equal controlPoints.length(), the first and last controlPoints must be equal.
Copyright © 2002–2020. Open Design Alliance. All rights reserved.
|