NurbSurface(Int32, Int32, Boolean,
Int32, Int32, Point3dCollection,
DoubleCollection, KnotCollection,
KnotCollection) Constructor
|
Constructor for the NurbSurface class. Creates
a NURBS surface with the provided data.
Namespace: Teigha.DatabaseServices
Assembly: TD_Mgd (in TD_Mgd.dll) Version:
24.2.0.0
Syntax
public NurbSurface(
int uDegree,
int vDegree,
bool rational,
int uNumControlPoints,
int vNumControlPoints,
Point3dCollection ctrlPts,
DoubleCollection weights,
KnotCollection uKnots,
KnotCollection vKnots
)
Public Sub New (
uDegree As Integer,
vDegree As Integer,
rational As Boolean,
uNumControlPoints As Integer,
vNumControlPoints As Integer,
ctrlPts As Point3dCollection,
weights As DoubleCollection,
uKnots As KnotCollection,
vKnots As KnotCollection
)
public:
NurbSurface(
int uDegree,
int vDegree,
bool rational,
int uNumControlPoints,
int vNumControlPoints,
Point3dCollection^ ctrlPts,
DoubleCollection^ weights,
KnotCollection^ uKnots,
KnotCollection^ vKnots
)
new :
uDegree : int *
vDegree : int *
rational : bool *
uNumControlPoints : int *
vNumControlPoints : int *
ctrlPts : Point3dCollection *
weights : DoubleCollection *
uKnots : KnotCollection *
vKnots : KnotCollection -> NurbSurface
Parameters
- uDegree Int32
- [in] Degree in the u-direction.
- vDegree Int32
- [in] Degree in the v-direction.
- rational Boolean
- [in] Determines whether the surface is rational.
- uNumControlPoints Int32
- [in] Number of control points in the u-direction.
- vNumControlPoints Int32
- [in] Number of control points in the v-direction.
- ctrlPts Point3dCollection
- [in] Array of 3D control points.
- weights DoubleCollection
- [in] Array of weights.
- uKnots KnotCollection
- [in] Knot vector in the u-direction.
- vKnots KnotCollection
- [in] Knot vector 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.
See Also