Sets new data for the existing NURBS
surface.
Namespace: Teigha.DatabaseServices
Assembly: TD_Mgd (in TD_Mgd.dll) Version:
24.2.0.0
Syntax
public void Set(
int iUDegree,
int iVDegree,
bool bRational,
int iUNumControlPoints,
int iVNumControlPoints,
Point3dCollection ctrlPts,
DoubleCollection weights,
KnotCollection knotsInU,
KnotCollection knotsInV
)
Public Sub Set (
iUDegree As Integer,
iVDegree As Integer,
bRational As Boolean,
iUNumControlPoints As Integer,
iVNumControlPoints As Integer,
ctrlPts As Point3dCollection,
weights As DoubleCollection,
knotsInU As KnotCollection,
knotsInV As KnotCollection
)
public:
void Set(
int iUDegree,
int iVDegree,
bool bRational,
int iUNumControlPoints,
int iVNumControlPoints,
Point3dCollection^ ctrlPts,
DoubleCollection^ weights,
KnotCollection^ knotsInU,
KnotCollection^ knotsInV
)
member Set :
iUDegree : int *
iVDegree : int *
bRational : bool *
iUNumControlPoints : int *
iVNumControlPoints : int *
ctrlPts : Point3dCollection *
weights : DoubleCollection *
knotsInU : KnotCollection *
knotsInV : KnotCollection -> unit
Parameters
- iUDegree Int32
- [in] New value for degrees in the u-direction.
- iVDegree Int32
- [in] New value for degrees in the v-direction.
- bRational Boolean
- [in] Determines whether the surface is rational (new
value).
- iUNumControlPoints Int32
- [in] New value of the quantity of control points in the
u-direction.
- iVNumControlPoints Int32
- [in] New value of the quantity of control points in the
v-direction.
- ctrlPts Point3dCollection
- [in] New array of control points (in WCS coordinates).
- weights DoubleCollection
- [in] New array of the weights for each control point.
- knotsInU KnotCollection
- [in] New array of the knot values in the u-direction.
- knotsInV KnotCollection
- [in] New array of the knot values in the v-direction.
Remarks
The column indexes
are for the v-direction, and row indexes are for the u-direction.
For example, if the surface has n control
points in the u direction and
m control points in the v direction, the array looks like [0,0], [0,1],
...[0,n-1], ..., [m-1,0], [m-1,1], ...[m-1,n-1]. If the surface is
rational, the weights array must contain the same number of entries
as in the array of control points. All weight values must be
greater than 0.0. The values in the arrays of weights and control
points must have the same sequential order as the control points
array. If the surface is not rational, the weight array must be
empty. If the surface is not periodic in the u-direction, the size
of the uKnots vector must be equal to uNumControlPoints + uDegree +
1. If the surface is periodic in the u-direction, the size of the
uKnots vector must be uNumControlPoints + 1. Similarly, if the
surface is not periodic in the v-direction, the size of the vKnots
vector must be equal to vNumControlPoints + vDegree + 1. If the
surface is periodic in the v-direction, the size of the vKnots
vector must be vNumControlPoints + 1. Each knot must have a value
greater than or equal to the value of its predecessor in the array.
If any of the passed-in parameters are not valid, the surface is
not created. If this method is not implemented for a specific
modeler, throws the eNotImplementedYet
exception.
See Also