[mxcad_3d API Document](../README. md)/Mx3dGeomBSpline Surface
Class: Mx3dGeomBSplineSurface 
Represents a B-spline surface, inherited from Mx3dGeomSounddSurface. Provide multiple operations and query methods to process B-spline surfaces.
Hierarchy 
- ↳ - Mx3dGeomBSplineSurface
Table of contents 
Constructors 
Methods 
- Bounds
- CheckAndSegment
- Continuity
- Copy
- D0
- D1
- D2
- D3
- DN
- DynamicType
- ExchangeUV
- Face
- FirstUKnotIndex
- FirstVKnotIndex
- IncreaseDegree
- IncreaseUMultiplicity
- IncreaseVMultiplicity
- IncrementUMultiplicity
- IncrementVMultiplicity
- InsertUKnot
- InsertUKnots
- InsertVKnot
- InsertVKnots
- IsCNu
- IsCNv
- IsUClosed
- IsUPeriodic
- IsURational
- IsVClosed
- IsVPeriodic
- IsVRational
- LastUKnotIndex
- LastVKnotIndex
- LocalD0
- LocalD1
- LocalD2
- LocalD3
- LocalDN
- LocalValue
- LocateU
- LocateV
- MirrorByAxis
- MirrorByCSYSR
- MirrorByPoint
- MirroredByAxis
- MirroredByCSYSR
- MirroredByPoint
- MovePoint
- NbUKnots
- NbUPoles
- NbVKnots
- NbVPoles
- PeriodicNormalization
- Pole
- Poles
- RemoveUKnot
- RemoveVKnot
- Rotate
- Rotated
- Scale
- Scaled
- Segment
- SetPole
- SetPoleCol
- SetPoleRow
- SetUKnot
- SetUKnots
- SetUNotPeriodic
- SetUOrigin
- SetUPeriodic
- SetVKnot
- SetVKnots
- SetVNotPeriodic
- SetVOrigin
- SetVPeriodic
- SetWeight
- SetWeightCol
- SetWeightRow
- Transform
- TransformParameters
- Transformed
- TranslateBy2Points
- TranslateByVec
- TranslatedBy2Points
- TranslatedByVec
- UDegree
- UKnot
- UKnotSequence
- UKnots
- UMultiplicities
- UMultiplicity
- UPeriod
- UReverse
- UReversed
- UReversedParameter
- VDegree
- VKnot
- VKnotSequence
- VKnots
- VMultiplicities
- VMultiplicity
- VPeriod
- VReverse
- VReversed
- VReversedParameter
- Value
- Weight
- Weights
- DownCast
Constructors 
constructor 
• new Mx3dGeomBSplineSurface(Poles, dUKnots, dVKnots, iUMults, iVMults, UDegree, VDegree, UPeriodic, VPeriodic)
Constructor is used to create a B-spline surface.
Parameters 
| Name | Type | Description | 
|---|---|---|
| Poles | [Mx3dGePoint. md] [] | Control point array, a two-dimensional array representing control points in the U and V directions | 
| DUKnots | number [] | Node sequence in the U direction | 
| DVKnots | number [] | Node sequence in the V direction | 
| The multiplicity of U-direction nodes in iUMults | number [] | |
| The multiplicity of nodes in the V direction in iVMults | number [] | |
| UDegree | number | The order of the curve in the U direction | 
| VDegree | number | order of the curve in the V direction | 
| UPeriodic | boolean | Is the U direction periodic | 
| VPeriodic | boolean | Is the V direction periodic | 
Overrides 
Mx3dGeomBoundedSurface.constructor
• new Mx3dGeomBSplineSurface(Poles, dWeights, dUKnots, dVKnots, iUMults, iVMults, UDegree, VDegree, UPeriodic, VPeriodic)
The constructor is used to create a weighted B-spline surface.
Parameters 
| Name | Type | Description | 
|---|---|---|
| Poles | [Mx3dGePoint. md] [] | Control point array, a two-dimensional array representing control points in the U and V directions | 
| DWeights | number [] [] | A two-dimensional array of control point weights | 
| DUKnots | number [] | Node sequence in the U direction | 
| DVKnots | number [] | Node sequence in the V direction | 
| The multiplicity of U-direction nodes in iUMults | number [] | |
| The multiplicity of nodes in the V direction in iVMults | number [] | |
| UDegree | number | The order of the curve in the U direction | 
| VDegree | number | order of the curve in the V direction | 
| UPeriodic | boolean | Is the U direction periodic | 
| VPeriodic | boolean | Is the V direction periodic | 
Overrides 
Mx3dGeomBoundedSurface.constructor
Methods 
Bounds 
▸ Bounds(U1U2V1V2): void
Obtain the boundary of the surface.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U1U2V1V2 | [dU1: number, dU2: number, dV1: number, dV2: number] | Boundary parameter | 
Returns 
void
CheckAndSegment 
▸ CheckAndSegment(U1, U2, V1, V2): void
Check and retrieve surface fragments within the specified range of U and V.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U1 | number | Starting U parameter | 
| U2 | number | End the U parameter | 
| V1 | number | Starting V parameter | 
| V2 | number | End the V parameter | 
Returns 
void
Continuity 
▸ Continuity(): MxGAShapeEnum
Obtain the continuity of the surface.
Returns 
Return the continuity type of the surface.
Copy 
▸ Copy(): Mx3dGeomObject
Copy the current surface object.
Returns 
Return a new surface object.
D0 
▸ D0(U, V, P): void
Calculate the zero derivative of the specified parameter point.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
Returns 
void
D1 
▸ D1(U, V, P, D1U, D1V): void
Calculate the first derivative of a specified parameter point.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
| D1U | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the U direction | 
| D1V | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the V direction | 
Returns 
void
D2 
▸ D2(U, V, P, D1U, D1V, D2U, D2V, D2UV): void
Calculate the second derivative of the specified parameter point.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
| D1U | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the U direction | 
| D1V | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the V direction | 
| D2U | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the U direction | 
| D2V | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the V direction | 
| D2UV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed second derivative in the U and V directions | 
Returns 
void
D3 
▸ D3(U, V, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV): void
Calculate the third derivative of the specified parameter point.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
| D1U | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the U direction | 
| D1V | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the V direction | 
| D2U | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the U direction | 
| D2V | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the V direction | 
| D2UV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed second derivative in the U and V directions | 
| D3U | [Mx3dGeVec] (Mx3dGeVec. md) | Third derivative in the U direction | 
| D3V | [Mx3dGeVec] (Mx3dGeVec. md) | Third derivative in the V direction | 
| D3UUV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed third derivative in the U and U directions | 
| D3UVV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed third derivative in the U and V directions | 
Returns 
void
DN 
▸ DN(U, V, Nu, Nv): Mx3dGeVec
Calculate the Nth derivative of the specified parameter point.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| Nu | number | derivative order U | 
| Nv | number | derivative order V | 
Returns 
Return the derivative vector.
DynamicType 
▸ DynamicType(): string
Get the dynamic type name.
Returns 
string
Returns a string of the type name.
Overrides 
Mx3dGeomBoundedSurface.DynamicType
ExchangeUV 
▸ ExchangeUV(): void
Exchange node sequences in the U and V directions.
Returns 
void
Face 
▸ Face(TolDegen): Mx3dShapeFace
Generate patches based on tolerance.
Parameters 
| Name | Type | Description | 
|---|---|---|
| Tolerant | Number | Tolerance | 
Returns 
Return the generated patch object.
▸ Face(W, Inside): Mx3dShapeFace
Generate patches based on lines and whether they are generated internally.
Parameters 
| Name | Type | Description | 
|---|---|---|
| W | [Mx3dShapeWire] (Mx3dShapeWire. md) | Line object | 
| Inside | boolean | Is it inside | 
Returns 
Return the generated patch object.
▸ Face(UMin, UMax, VMin, VMax, TolDegen): Mx3dShapeFace
Generate patches based on U, V range and tolerance.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UMin | number | minimum value in the U direction | 
| UMax | number | maximum value in the U direction | 
| VMin | number | minimum value in the V direction | 
| VMax | number | maximum value in the V direction | 
| Tolerant | Number | Tolerance | 
Returns 
Return the generated patch object.
FirstUKnotIndex 
▸ FirstUKnotIndex(): number
Retrieve the first node index in the U direction.
Returns 
number
Return the index of the first node.
FirstVKnotIndex 
▸ FirstVKnotIndex(): number
Retrieve the index of the first node in the V direction.
Returns 
number
Return the index of the first node.
IncreaseDegree 
▸ IncreaseDegree(UDegree, VDegree): void
Increase the order of the surface in the U and V directions.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UDegree | number | Improved U-direction order | 
| VDegree | number | Increased order in the V direction | 
Returns 
void
IncreaseUMultiplicity 
▸ IncreaseUMultiplicity(UIndex, M): void
Increase the multiplicity of U-direction nodes.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | Node index | 
| M | number | Multiplicity increment | 
Returns 
void
▸ IncreaseUMultiplicity(FromI1, ToI2, M): void
Increase the multiplicity of U-direction nodes within the specified interval.
Parameters 
| Name | Type | Description | 
|---|---|---|
| FromI1 | number | Starting index | 
| ToI2 | number | End index | 
| M | number | Multiplicity increment | 
Returns 
void
IncreaseVMultiplicity 
▸ IncreaseVMultiplicity(VIndex, M): void
Increase the multiplicity of nodes in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | Node index | 
| M | number | Multiplicity increment | 
Returns 
void
▸ IncreaseVMultiplicity(FromI1, ToI2, M): void
Increase the multiplicity of nodes in the V direction within the specified interval.
Parameters 
| Name | Type | Description | 
|---|---|---|
| FromI1 | number | Starting index | 
| ToI2 | number | End index | 
| M | number | Multiplicity increment | 
Returns 
void
IncrementUMultiplicity 
▸ IncrementUMultiplicity(FromI1, ToI2, Step): void
Increase the multiplicity of U-direction nodes within the specified interval, step by step.
Parameters 
| Name | Type | Description | 
|---|---|---|
| FromI1 | number | Starting index | 
| ToI2 | number | End index | 
| Step | Number | Incremental Step | 
Returns 
void
IncrementVMultiplicity 
▸ IncrementVMultiplicity(FromI1, ToI2, Step): void
Increase the multiplicity of nodes in the V direction within the specified interval, step by step.
Parameters 
| Name | Type | Description | 
|---|---|---|
| FromI1 | number | Starting index | 
| ToI2 | number | End index | 
| Step | Number | Incremental Step | 
Returns 
void
InsertUKnot 
▸ InsertUKnot(U, M, ParametricTolerance, Add): void
Insert U-direction node.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | node value | 
| M | number | multiplicity | 
| Parametric Tolerance | number | Parameter Tolerance | 
| Add | boolean | Whether to add to the surface | 
Returns 
void
InsertUKnots 
▸ InsertUKnots(dKnots, iMults, dParametricTolerance, Add): void
Insert U-direction node.
Parameters 
| Name | Type | Description | 
|---|---|---|
| DKnots | number [] | Node value array | 
| IMults | number [] | Node multiplicity array | 
| DParameterTolerance | number | Parameter tolerance | 
| Add | boolean | Whether to add to the surface | 
Returns 
void
InsertVKnot 
▸ InsertVKnot(V, M, ParametricTolerance, Add): void
Insert a node in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | number | node value | 
| M | number | multiplicity | 
| Parametric Tolerance | number | Parameter Tolerance | 
| Add | boolean | Whether to add to the surface | 
Returns 
void
InsertVKnots 
▸ InsertVKnots(dKnots, iMults, dParametricTolerance, Add): void
Insert a node in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| DKnots | number [] | Node value array | 
| IMults | number [] | Node multiplicity array | 
| DParameterTolerance | number | Parameter tolerance | 
| Add | boolean | Whether to add to the surface | 
Returns 
void
IsCNu 
▸ IsCNu(N): boolean
Check if the U direction is a continuous N-order.
Parameters 
| Name | Type | Description | 
|---|---|---|
| N | number | continuous order | 
Returns 
boolean
Return whether it is a continuous N-order.
IsCNv 
▸ IsCNv(N): boolean
Check if the V direction is a continuous N-order.
Parameters 
| Name | Type | Description | 
|---|---|---|
| N | number | continuous order | 
Returns 
boolean
Return whether it is a continuous N-order.
IsUClosed 
▸ IsUClosed(): boolean
Check if the U direction is periodic.
Returns 
boolean
Return whether it is periodic.
IsUPeriodic 
▸ IsUPeriodic(): boolean
Check if the U direction is periodic.
Returns 
boolean
Return whether it is periodic.
IsURational 
▸ IsURational(): boolean
Check if the U direction is reasonable.
Returns 
boolean
Return whether it is reasonable.
IsVClosed 
▸ IsVClosed(): boolean
Check if the V direction is periodic.
Returns 
boolean
Return whether it is periodic.
IsVPeriodic 
▸ IsVPeriodic(): boolean
Check if the V direction is periodic.
Returns 
boolean
Return whether it is periodic.
IsVRational 
▸ IsVRational(): boolean
Check if the V direction is reasonable.
Returns 
boolean
Return whether it is reasonable.
LastUKnotIndex 
▸ LastUKnotIndex(): number
Retrieve the index of the last node in the U direction.
Returns 
number
Return the index of the last node.
LastVKnotIndex 
▸ LastVKnotIndex(): number
Retrieve the index of the last node in the V direction.
Returns 
number
Return the index of the last node.
LocalD0 
▸ LocalD0(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P): void
Calculate the zero order derivative of local parameter points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| FromUK1 | number | Starting node from the U direction | 
| ToUK2 | number | End node in the U direction | 
| FromVK1 | number | Starting node from the V direction | 
| ToVK2 | number | End node in the V direction | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
Returns 
void
LocalD1 
▸ LocalD1(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P, D1U, D1V): void
Calculate the first derivative of local parameter points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| FromUK1 | number | Starting node from the U direction | 
| ToUK2 | number | End node in the U direction | 
| FromVK1 | number | Starting node from the V direction | 
| ToVK2 | number | End node in the V direction | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
| D1U | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the U direction | 
| D1V | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the V direction | 
Returns 
void
LocalD2 
▸ LocalD2(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P, D1U, D1V, D2U, D2V, D2UV): void
Calculate the second derivative of local parameter points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| FromUK1 | number | Starting node from the U direction | 
| ToUK2 | number | End node in the U direction | 
| FromVK1 | number | Starting node from the V direction | 
| ToVK2 | number | End node in the V direction | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
| D1U | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the U direction | 
| D1V | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the V direction | 
| D2U | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the U direction | 
| D2V | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the V direction | 
| D2UV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed second derivative in the U and V directions | 
Returns 
void
LocalD3 
▸ LocalD3(U, V, FromUK1, ToUK2, FromVK1, ToVK2, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV): void
Calculate the third derivative of local parameter points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| FromUK1 | number | Starting node from the U direction | 
| ToUK2 | number | End node in the U direction | 
| FromVK1 | number | Starting node from the V direction | 
| ToVK2 | number | End node in the V direction | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | The point returned | 
| D1U | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the U direction | 
| D1V | [Mx3dGeVec] (Mx3dGeVec. md) | First derivative in the V direction | 
| D2U | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the U direction | 
| D2V | [Mx3dGeVec] (Mx3dGeVec. md) | Second derivative in the V direction | 
| D2UV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed second derivative in the U and V directions | 
| D3U | [Mx3dGeVec] (Mx3dGeVec. md) | Third derivative in the U direction | 
| D3V | [Mx3dGeVec] (Mx3dGeVec. md) | Third derivative in the V direction | 
| D3UUV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed third derivative in the U and U directions | 
| D3UVV | [Mx3dGeVec] (Mx3dGeVec. md) | Mixed third derivative in the U and V directions | 
Returns 
void
LocalDN 
▸ LocalDN(U, V, FromUK1, ToUK2, FromVK1, ToVK2, Nu, Nv): Mx3dGeVec
Calculate the Nth derivative of local parameter points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| FromUK1 | number | Starting node from the U direction | 
| ToUK2 | number | End node in the U direction | 
| FromVK1 | number | Starting node from the V direction | 
| ToVK2 | number | End node in the V direction | 
| Nu | number | derivative order U | 
| Nv | number | derivative order V | 
Returns 
Return the derivative vector.
LocalValue 
▸ LocalValue(U, V, FromUK1, ToUK2, FromVK1, ToVK2): Mx3dGePoint
Calculate points on the surface within a local range.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | parameter U value | 
| V | number | parameter V value | 
| FromUK1 | number | U-direction starting index | 
| ToUK2 | number | End index in the U direction | 
| FromVK1 | number | V-direction starting index | 
| ToVK2 | number | End index in the V direction | 
Returns 
Return the two-dimensional point of the calculation point.
LocateU 
▸ LocateU(U, ParametricTolerance, I1I2, WithKnotRepetition): void
Locate the node in the U direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| The parameter value of 'U' | 'number' | |
| Parametric Tolerance | number | Parameter Tolerance | 
| I1I2 | [iI1: number, iI2: number] | Returns the index of the starting and ending nodes | 
| WithKnotRepectation | boolean | Does it contain node duplicates | 
Returns 
void
LocateV 
▸ LocateV(V, ParametricTolerance, I1I2, WithKnotRepetition): void
Locate the node in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | number | parameter value | 
| Parametric Tolerance | number | Parameter Tolerance | 
| I1I2 | [iI1: number, iI2: number] | Returns the index of the starting and ending nodes | 
| WithKnotRepectation | boolean | Does it contain node duplicates | 
Returns 
void
MirrorByAxis 
▸ MirrorByAxis(A1): void
Mirror transform geometric objects through axes.
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | [Mx3dGeAxis] (Mx3dGeAxis. md) | Axis object | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.MirrorByAxis
MirrorByCSYSR 
▸ MirrorByCSYSR(A2): void
Mirror transform geometric objects using a right-handed coordinate system.
Parameters 
| Name | Type | Description | 
|---|---|---|
| A2 | [Mx3dGeCSYSR] (Mx3dGeCSYSR. md) | Right hand coordinate system object | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.MirrorByCSYSR
MirrorByPoint 
▸ MirrorByPoint(P): void
Mirror transform geometric objects through points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | [Mx3dGePoint] (Mx3dGePoint. md) | Point object | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.MirrorByPoint
MirroredByAxis 
▸ MirroredByAxis(A1): Mx3dGeomBSplineSurface
Return the new geometric object transformed through axis mirroring.
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | [Mx3dGeAxis] (Mx3dGeAxis. md) | Axis object | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.MirroredByAxis
MirroredByCSYSR 
▸ MirroredByCSYSR(A2): Mx3dGeomBSplineSurface
Return the new geometric object after mirror transformation through the right-handed coordinate system.
Parameters 
| Name | Type | Description | 
|---|---|---|
| A2 | [Mx3dGeCSYSR] (Mx3dGeCSYSR. md) | Right hand coordinate system object | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.MirroredByCSYSR
MirroredByPoint 
▸ MirroredByPoint(P): Mx3dGeomBSplineSurface
Return the new geometric object after point mirror transformation.
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | [Mx3dGePoint] (Mx3dGePoint. md) | Point object | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.MirroredByPoint
MovePoint 
▸ MovePoint(U, V, P, UIndex1, UIndex2, VIndex1, VIndex2, UFULVFVL): void
Move the control points for the specified U and V indices.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | U parameter value | 
| V | number | V parameter value | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | New control point | 
| UIndex1 | number | U-direction starting index | 
| UIndex2 | number | End index in the U direction | 
| VIndex1 | number | V-direction starting index | 
| VIndex2 | Number | End index in the V direction | 
| UFULVFVL | [iUF: number, iUL: number, iVF: number, iVL: number] | Index array | 
Returns 
void
NbUKnots 
▸ NbUKnots(): number
Obtain the number of U-direction nodes.
Returns 
number
Return the number of nodes.
NbUPoles 
▸ NbUPoles(): number
Obtain the number of U-direction control points.
Returns 
number
Return the number of control points.
NbVKnots 
▸ NbVKnots(): number
Obtain the number of nodes in the V direction.
Returns 
number
Return the number of nodes.
NbVPoles 
▸ NbVPoles(): number
Obtain the number of control points in the V direction.
Returns 
number
Return the number of control points.
PeriodicNormalization 
▸ PeriodicNormalization(UV): void
Normalize the node sequence periodically.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UV | [dU: number, dV: number] | represents parameters in the U and V directions | 
Returns 
void
Pole 
▸ Pole(UIndex, VIndex): Mx3dGePoint
Retrieve control points for the specified U and V indices.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| VIndes | number | V-direction index | 
Returns 
Return to control point.
Poles 
▸ Poles(): Mx3dGePoint[][]
Obtain all control points.
Returns 
Mx3dGePoint[][]
Return the control point array.
RemoveUKnot 
▸ RemoveUKnot(iIndex, iM, dTolerance): boolean
Remove the U-direction node.
Parameters 
| Name | Type | Description | 
|---|---|---|
| IIndex | Number | Node Index | 
| IM | number | multiplicity | 
| DTolerance | number | tolerance value | 
Returns 
boolean
Return whether the removal was successful.
RemoveVKnot 
▸ RemoveVKnot(iIndex, iM, dTolerance): boolean
Remove the node in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| IIndex | Number | Node Index | 
| IM | number | multiplicity | 
| DTolerance | number | tolerance value | 
Returns 
boolean
Return whether the removal was successful.
Rotate 
▸ Rotate(A1, Ang): void
Rotate geometric objects.
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | [Mx3dGeAxis] (Mx3dGeAxis. md) | Axis object | 
| Ang | number | Rotation angle | 
Returns 
void
Inherited from 
Rotated 
▸ Rotated(A1, Ang): Mx3dGeomBSplineSurface
Return the rotated new geometric object.
Parameters 
| Name | Type | Description | 
|---|---|---|
| A1 | [Mx3dGeAxis] (Mx3dGeAxis. md) | Axis object | 
| Ang | number | Rotation angle | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.Rotated
Scale 
▸ Scale(P, S): void
Scale geometric objects.
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | [Mx3dGePoint] (Mx3dGePoint. md) | Point object | 
| S | number | scaling ratio | 
Returns 
void
Inherited from 
Scaled 
▸ Scaled(P, S): Mx3dGeomBSplineSurface
Return the scaled new geometric object.
Parameters 
| Name | Type | Description | 
|---|---|---|
| P | [Mx3dGePoint] (Mx3dGePoint. md) | Point object | 
| S | number | scaling ratio | 
Returns 
New geometric objects.
Inherited from 
Segment 
▸ Segment(U1, U2, V1, V2): void
Retrieve surface fragments within the specified range of U and V.
Parameters 
| Name | Type | Description | 
|---|---|---|
| U1 | number | Starting U parameter | 
| U2 | number | End the U parameter | 
| V1 | number | Starting V parameter | 
| V2 | number | End the V parameter | 
Returns 
void
SetPole 
▸ SetPole(UIndex, VIndex, P): void
Set control points for specified U and V indices.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| VIndes | number | V-direction index | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | Control point | 
Returns 
void
▸ SetPole(UIndex, VIndex, P, Weight): void
Set control points and weights for the specified U and V indices.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| VIndes | number | V-direction index | 
| P | [Mx3dGePoint] (Mx3dGePoint. md) | Control point | 
| Weight | number | weight value | 
Returns 
void
SetPoleCol 
▸ SetPoleCol(VIndex, CPoles): void
Set the control point column for the specified V-direction index.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | V-direction index | 
| CPoles | [Mx3dGePoint] (Mx3dGePoint. md) [] | Control point array | 
Returns 
void
▸ SetPoleCol(VIndex, CPoles, dCPoleWeights): void
Set the control point column and weight for the specified V-direction index.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | V-direction index | 
| CPoles | [Mx3dGePoint] (Mx3dGePoint. md) [] | Control point array | 
| DCPoleWeights | number [] | Control point weight array | 
Returns 
void
SetPoleRow 
▸ SetPoleRow(UIndex, CPoles): void
Set the control point row for the specified U-direction index.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| CPoles | [Mx3dGePoint] (Mx3dGePoint. md) [] | Control point array | 
Returns 
void
▸ SetPoleRow(UIndex, CPoles, dCPoleWeights): void
Set the control point row and weight for the specified U-direction index.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| CPoles | [Mx3dGePoint] (Mx3dGePoint. md) [] | Control point array | 
| DCPoleWeights | number [] | Control point weight array | 
Returns 
void
SetUKnot 
▸ SetUKnot(UIndex, K): void
Set the node value in the U direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | Node index | 
| K | number | New node value | 
Returns 
void
▸ SetUKnot(UIndex, K, M): void
Set node values in the U direction, including multiplicity.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | Node index | 
| K | number | New node value | 
| M | number | multiplicity | 
Returns 
void
SetUKnots 
▸ SetUKnots(dUK): void
Set the sequence of U-direction nodes.
Parameters 
| Name | Type | Description | 
|---|---|---|
| DUK | number [] | New U-direction node sequence | 
Returns 
void
SetUNotPeriodic 
▸ SetUNotPeriodic(): void
Set the U direction to non periodic.
Returns 
void
SetUOrigin 
▸ SetUOrigin(Index): void
Set the origin index in the U direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| Index | Number | Origin Index | 
Returns 
void
SetUPeriodic 
▸ SetUPeriodic(): void
Set the U direction to periodic.
Returns 
void
SetVKnot 
▸ SetVKnot(VIndex, K): void
Set the node values in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | Node index | 
| K | number | New node value | 
Returns 
void
▸ SetVKnot(VIndex, K, M): void
Set node values in the V direction, including multiplicity.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | Node index | 
| K | number | New node value | 
| M | number | multiplicity | 
Returns 
void
SetVKnots 
▸ SetVKnots(dVK): void
Set the sequence of nodes in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| DVK | number [] | New V-direction node sequence | 
Returns 
void
SetVNotPeriodic 
▸ SetVNotPeriodic(): void
Set the V direction to non periodic.
Returns 
void
SetVOrigin 
▸ SetVOrigin(Index): void
Set the origin index in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| Index | Number | Origin Index | 
Returns 
void
SetVPeriodic 
▸ SetVPeriodic(): void
Set the V direction to periodic.
Returns 
void
SetWeight 
▸ SetWeight(UIndex, VIndex, Weight): void
Set the weight values for the specified U and V indices.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| VIndes | number | V-direction index | 
| Weight | number | weight value | 
Returns 
void
SetWeightCol 
▸ SetWeightCol(VIndex, dCPoleWeights): void
Set the weight column for the specified V-direction index.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | V-direction index | 
| DCPoleWeights | number [] | Weight array | 
Returns 
void
SetWeightRow 
▸ SetWeightRow(UIndex, dCPoleWeights): void
Set the weight row for the specified U-direction index.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| DCPoleWeights | number [] | Weight array | 
Returns 
void
Transform 
▸ Transform(T): void
Apply transformation matrix to surface.
Parameters 
| Name | Type | Description | 
|---|---|---|
| T | [Mx3dGetStrf] (Mx3dGetStrf. md) | Transform matrix | 
Returns 
void
TransformParameters 
▸ TransformParameters(UV, T): void
Transform the surface parameters according to the given transformation matrix T.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UV | [dU: number, dV: number] | Parameter array containing the values of U and V | 
| T | [Mx3dGetStrf] (Mx3dGetStrf. md) | Transform matrix | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.TransformParameters
Transformed 
▸ Transformed(T): Mx3dGeomBSplineSurface
Return the transformed new geometric object.
Parameters 
| Name | Type | Description | 
|---|---|---|
| T | [Mx3dGetStrf] (Mx3dGetStrf. md) | Transform the object | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.Transformed
TranslateBy2Points 
▸ TranslateBy2Points(P1, P2): void
Translate geometric objects through two points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| P1 | [Mx3dGePoint] (Mx3dGePoint. md) | Starting point object | 
| P2 | [Mx3dGePoint] (Mx3dGePoint. md) | End point object | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.TranslateBy2Points
TranslateByVec 
▸ TranslateByVec(V): void
Translate geometric objects through vectors.
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | [Mx3dGeVec] (Mx3dGeVec. md) | Vector object | 
Returns 
void
Inherited from 
Mx3dGeomBoundedSurface.TranslateByVec
TranslatedBy2Points 
▸ TranslatedBy2Points(P1, P2): Mx3dGeomBSplineSurface
Return the new geometric object after translating through two points.
Parameters 
| Name | Type | Description | 
|---|---|---|
| P1 | [Mx3dGePoint] (Mx3dGePoint. md) | Starting point object | 
| P2 | [Mx3dGePoint] (Mx3dGePoint. md) | End point object | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.TranslatedBy2Points
TranslatedByVec 
▸ TranslatedByVec(V): Mx3dGeomBSplineSurface
Return the new geometric object after vector translation.
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | [Mx3dGeVec] (Mx3dGeVec. md) | Vector object | 
Returns 
New geometric objects.
Inherited from 
Mx3dGeomBoundedSurface.TranslatedByVec
UDegree 
▸ UDegree(): number
Obtain the order in the U direction.
Returns 
number
Return the order in the U direction.
UKnot 
▸ UKnot(UIndex): number
Get the node value in the specified U direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | Node index | 
Returns 
number
Return the node value.
UKnotSequence 
▸ UKnotSequence(): number[]
Obtain the sequence of U-direction nodes.
Returns 
number[]
Return the node sequence.
UKnots 
▸ UKnots(): number[]
Retrieve the U-direction node array.
Returns 
number[]
Return a node array.
UMultiplicities 
▸ UMultiplicities(): number[]
Retrieve the U-direction node multiplicity array.
Returns 
number[]
Return an array of node multiplicity.
UMultiplicity 
▸ UMultiplicity(UIndex): number
Obtain U-direction node multiplicity.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | Node index | 
Returns 
number
Return node multiplicity.
UPeriod 
▸ UPeriod(): number
Return the period of the surface in the U direction.
Returns 
number
The period of the surface in the U direction.
Inherited from 
Mx3dGeomBoundedSurface.UPeriod
UReverse 
▸ UReverse(): void
Reverse the sequence of U-direction nodes.
Returns 
void
UReversed 
▸ UReversed(): Mx3dGeomBSplineSurface
Parameterization of reversing the U direction.
Returns 
Return the current object to implement a chain call.
Inherited from 
Mx3dGeomBoundedSurface.UReversed
UReversedParameter 
▸ UReversedParameter(U): number
Calculate the U-direction reverse parameter.
Parameters 
| Name | Type | Description | 
|---|---|---|
| The parameter value of 'U' | 'number' | 
Returns 
number
Return the reversed parameter value.
VDegree 
▸ VDegree(): number
Obtain the order in the V direction.
Returns 
number
Return the order in the V direction.
VKnot 
▸ VKnot(VIndex): number
Get the node value in the specified V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | Node index | 
Returns 
number
Return the node value.
VKnotSequence 
▸ VKnotSequence(): number[]
Obtain the sequence of nodes in the V direction.
Returns 
number[]
Return the node sequence.
VKnots 
▸ VKnots(): number[]
Retrieve the array of nodes in the V direction.
Returns 
number[]
Return a node array.
VMultiplicities 
▸ VMultiplicities(): number[]
Retrieve the multiplicity array of nodes in the V direction.
Returns 
number[]
Return an array of node multiplicity.
VMultiplicity 
▸ VMultiplicity(VIndex): number
Obtain the multiplicity of nodes in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| VIndes | number | Node index | 
Returns 
number
Return node multiplicity.
VPeriod 
▸ VPeriod(): number
Return the period of the surface in the V direction.
Returns 
number
The period of the surface in the V direction.
Inherited from 
Mx3dGeomBoundedSurface.VPeriod
VReverse 
▸ VReverse(): void
Reverse the sequence of nodes in the V direction.
Returns 
void
VReversed 
▸ VReversed(): Mx3dGeomBSplineSurface
Parameterization of reversing the V direction.
Returns 
Return the current object to implement a chain call.
Inherited from 
Mx3dGeomBoundedSurface.VReversed
VReversedParameter 
▸ VReversedParameter(V): number
Calculate the reverse parameter in the V direction.
Parameters 
| Name | Type | Description | 
|---|---|---|
| V | number | parameter value | 
Returns 
number
Return the reversed parameter value.
Value 
▸ Value(U, V): Mx3dGePoint
Calculate the points on the surface corresponding to the parameters (U, V).
Parameters 
| Name | Type | Description | 
|---|---|---|
| U | number | Surface parameter U | 
| V | number | Surface parameter V | 
Returns 
Corresponding point.
Inherited from 
Weight 
▸ Weight(UIndex, VIndex): number
Retrieve the weight values for the specified U and V indices.
Parameters 
| Name | Type | Description | 
|---|---|---|
| UIndes | number | U-direction index | 
| VIndes | number | V-direction index | 
Returns 
number
Return weight values.
Weights 
▸ Weights(): number[][]
Retrieve all weight arrays.
Returns 
number[][]
Return the weight array.
DownCast 
▸ Static DownCast(theObject): Mx3dGeomBSplineSurface
Convert parent object to Mx3dGeomBSpline Surface class object
Parameters 
| Name | Type | Description | 
|---|---|---|
| TheObject | [Mx3dGeomObject] (Mx3dGeomObject. md) | Parent class object | 
Returns 
Mx3dGeomBSpline Surface class object