Skip to content

[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 ​

Table of contents ​

Constructors ​

Methods ​

Constructors ​

constructor ​

• new Mx3dGeomBSplineSurface(Poles, dUKnots, dVKnots, iUMults, iVMults, UDegree, VDegree, UPeriodic, VPeriodic)

Constructor is used to create a B-spline surface.

Parameters ​

NameTypeDescription
Poles[Mx3dGePoint. md] []Control point array, a two-dimensional array representing control points in the U and V directions
DUKnotsnumber []Node sequence in the U direction
DVKnotsnumber []Node sequence in the V direction
The multiplicity of U-direction nodes in iUMultsnumber []
The multiplicity of nodes in the V direction in iVMultsnumber []
UDegreenumberThe order of the curve in the U direction
VDegreenumberorder of the curve in the V direction
UPeriodicbooleanIs the U direction periodic
VPeriodicbooleanIs 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 ​

NameTypeDescription
Poles[Mx3dGePoint. md] []Control point array, a two-dimensional array representing control points in the U and V directions
DWeightsnumber [] []A two-dimensional array of control point weights
DUKnotsnumber []Node sequence in the U direction
DVKnotsnumber []Node sequence in the V direction
The multiplicity of U-direction nodes in iUMultsnumber []
The multiplicity of nodes in the V direction in iVMultsnumber []
UDegreenumberThe order of the curve in the U direction
VDegreenumberorder of the curve in the V direction
UPeriodicbooleanIs the U direction periodic
VPeriodicbooleanIs the V direction periodic

Overrides ​

Mx3dGeomBoundedSurface.constructor

Methods ​

Bounds ​

▸ Bounds(U1U2V1V2): void

Obtain the boundary of the surface.

Parameters ​

NameTypeDescription
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 ​

NameTypeDescription
U1numberStarting U parameter
U2numberEnd the U parameter
V1numberStarting V parameter
V2numberEnd the V parameter

Returns ​

void


Continuity ​

▸ Continuity(): MxGAShapeEnum

Obtain the continuity of the surface.

Returns ​

MxGAShapeEnum

Return the continuity type of the surface.


Copy ​

▸ Copy(): Mx3dGeomObject

Copy the current surface object.

Returns ​

Mx3dGeomObject

Return a new surface object.


D0 ​

▸ D0(U, V, P): void

Calculate the zero derivative of the specified parameter point.

Parameters ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
Nunumberderivative order U
Nvnumberderivative order V

Returns ​

Mx3dGeVec

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 ​

NameTypeDescription
TolerantNumberTolerance

Returns ​

Mx3dShapeFace

Return the generated patch object.

▸ Face(W, Inside): Mx3dShapeFace

Generate patches based on lines and whether they are generated internally.

Parameters ​

NameTypeDescription
W[Mx3dShapeWire] (Mx3dShapeWire. md)Line object
InsidebooleanIs it inside

Returns ​

Mx3dShapeFace

Return the generated patch object.

▸ Face(UMin, UMax, VMin, VMax, TolDegen): Mx3dShapeFace

Generate patches based on U, V range and tolerance.

Parameters ​

NameTypeDescription
UMinnumberminimum value in the U direction
UMaxnumbermaximum value in the U direction
VMinnumberminimum value in the V direction
VMaxnumbermaximum value in the V direction
TolerantNumberTolerance

Returns ​

Mx3dShapeFace

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 ​

NameTypeDescription
UDegreenumberImproved U-direction order
VDegreenumberIncreased order in the V direction

Returns ​

void


IncreaseUMultiplicity ​

▸ IncreaseUMultiplicity(UIndex, M): void

Increase the multiplicity of U-direction nodes.

Parameters ​

NameTypeDescription
UIndesnumberNode index
MnumberMultiplicity increment

Returns ​

void

▸ IncreaseUMultiplicity(FromI1, ToI2, M): void

Increase the multiplicity of U-direction nodes within the specified interval.

Parameters ​

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
MnumberMultiplicity increment

Returns ​

void


IncreaseVMultiplicity ​

▸ IncreaseVMultiplicity(VIndex, M): void

Increase the multiplicity of nodes in the V direction.

Parameters ​

NameTypeDescription
VIndesnumberNode index
MnumberMultiplicity increment

Returns ​

void

▸ IncreaseVMultiplicity(FromI1, ToI2, M): void

Increase the multiplicity of nodes in the V direction within the specified interval.

Parameters ​

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
MnumberMultiplicity increment

Returns ​

void


IncrementUMultiplicity ​

▸ IncrementUMultiplicity(FromI1, ToI2, Step): void

Increase the multiplicity of U-direction nodes within the specified interval, step by step.

Parameters ​

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
StepNumberIncremental 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 ​

NameTypeDescription
FromI1numberStarting index
ToI2numberEnd index
StepNumberIncremental Step

Returns ​

void


InsertUKnot ​

▸ InsertUKnot(U, M, ParametricTolerance, Add): void

Insert U-direction node.

Parameters ​

NameTypeDescription
Unumbernode value
Mnumbermultiplicity
Parametric TolerancenumberParameter Tolerance
AddbooleanWhether to add to the surface

Returns ​

void


InsertUKnots ​

▸ InsertUKnots(dKnots, iMults, dParametricTolerance, Add): void

Insert U-direction node.

Parameters ​

NameTypeDescription
DKnotsnumber []Node value array
IMultsnumber []Node multiplicity array
DParameterTolerancenumberParameter tolerance
AddbooleanWhether to add to the surface

Returns ​

void


InsertVKnot ​

▸ InsertVKnot(V, M, ParametricTolerance, Add): void

Insert a node in the V direction.

Parameters ​

NameTypeDescription
Vnumbernode value
Mnumbermultiplicity
Parametric TolerancenumberParameter Tolerance
AddbooleanWhether to add to the surface

Returns ​

void


InsertVKnots ​

▸ InsertVKnots(dKnots, iMults, dParametricTolerance, Add): void

Insert a node in the V direction.

Parameters ​

NameTypeDescription
DKnotsnumber []Node value array
IMultsnumber []Node multiplicity array
DParameterTolerancenumberParameter tolerance
AddbooleanWhether to add to the surface

Returns ​

void


IsCNu ​

▸ IsCNu(N): boolean

Check if the U direction is a continuous N-order.

Parameters ​

NameTypeDescription
Nnumbercontinuous 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 ​

NameTypeDescription
Nnumbercontinuous 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd 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 ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberStarting node from the U direction
ToUK2numberEnd node in the U direction
FromVK1numberStarting node from the V direction
ToVK2numberEnd node in the V direction
Nunumberderivative order U
Nvnumberderivative order V

Returns ​

Mx3dGeVec

Return the derivative vector.


LocalValue ​

▸ LocalValue(U, V, FromUK1, ToUK2, FromVK1, ToVK2): Mx3dGePoint

Calculate points on the surface within a local range.

Parameters ​

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
FromUK1numberU-direction starting index
ToUK2numberEnd index in the U direction
FromVK1numberV-direction starting index
ToVK2numberEnd index in the V direction

Returns ​

Mx3dGePoint

Return the two-dimensional point of the calculation point.


LocateU ​

▸ LocateU(U, ParametricTolerance, I1I2, WithKnotRepetition): void

Locate the node in the U direction.

Parameters ​

NameTypeDescription
The parameter value of 'U''number'
Parametric TolerancenumberParameter Tolerance
I1I2[iI1: number, iI2: number]Returns the index of the starting and ending nodes
WithKnotRepectationbooleanDoes it contain node duplicates

Returns ​

void


LocateV ​

▸ LocateV(V, ParametricTolerance, I1I2, WithKnotRepetition): void

Locate the node in the V direction.

Parameters ​

NameTypeDescription
Vnumberparameter value
Parametric TolerancenumberParameter Tolerance
I1I2[iI1: number, iI2: number]Returns the index of the starting and ending nodes
WithKnotRepectationbooleanDoes it contain node duplicates

Returns ​

void


MirrorByAxis ​

▸ MirrorByAxis(A1): void

Mirror transform geometric objects through axes.

Parameters ​

NameTypeDescription
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 ​

NameTypeDescription
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 ​

NameTypeDescription
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 ​

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object

Returns ​

Mx3dGeomBSplineSurface

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 ​

NameTypeDescription
A2[Mx3dGeCSYSR] (Mx3dGeCSYSR. md)Right hand coordinate system object

Returns ​

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from ​

Mx3dGeomBoundedSurface.MirroredByCSYSR


MirroredByPoint ​

▸ MirroredByPoint(P): Mx3dGeomBSplineSurface

Return the new geometric object after point mirror transformation.

Parameters ​

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object

Returns ​

Mx3dGeomBSplineSurface

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 ​

NameTypeDescription
UnumberU parameter value
VnumberV parameter value
P[Mx3dGePoint] (Mx3dGePoint. md)New control point
UIndex1numberU-direction starting index
UIndex2numberEnd index in the U direction
VIndex1numberV-direction starting index
VIndex2NumberEnd 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 ​

NameTypeDescription
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 ​

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index

Returns ​

Mx3dGePoint

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 ​

NameTypeDescription
IIndexNumberNode Index
IMnumbermultiplicity
DTolerancenumbertolerance value

Returns ​

boolean

Return whether the removal was successful.


RemoveVKnot ​

▸ RemoveVKnot(iIndex, iM, dTolerance): boolean

Remove the node in the V direction.

Parameters ​

NameTypeDescription
IIndexNumberNode Index
IMnumbermultiplicity
DTolerancenumbertolerance value

Returns ​

boolean

Return whether the removal was successful.


Rotate ​

▸ Rotate(A1, Ang): void

Rotate geometric objects.

Parameters ​

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object
AngnumberRotation angle

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.Rotate


Rotated ​

▸ Rotated(A1, Ang): Mx3dGeomBSplineSurface

Return the rotated new geometric object.

Parameters ​

NameTypeDescription
A1[Mx3dGeAxis] (Mx3dGeAxis. md)Axis object
AngnumberRotation angle

Returns ​

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from ​

Mx3dGeomBoundedSurface.Rotated


Scale ​

▸ Scale(P, S): void

Scale geometric objects.

Parameters ​

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object
Snumberscaling ratio

Returns ​

void

Inherited from ​

Mx3dGeomBoundedSurface.Scale


Scaled ​

▸ Scaled(P, S): Mx3dGeomBSplineSurface

Return the scaled new geometric object.

Parameters ​

NameTypeDescription
P[Mx3dGePoint] (Mx3dGePoint. md)Point object
Snumberscaling ratio

Returns ​

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from ​

Mx3dGeomBoundedSurface.Scaled


Segment ​

▸ Segment(U1, U2, V1, V2): void

Retrieve surface fragments within the specified range of U and V.

Parameters ​

NameTypeDescription
U1numberStarting U parameter
U2numberEnd the U parameter
V1numberStarting V parameter
V2numberEnd the V parameter

Returns ​

void


SetPole ​

▸ SetPole(UIndex, VIndex, P): void

Set control points for specified U and V indices.

Parameters ​

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-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 ​

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index
P[Mx3dGePoint] (Mx3dGePoint. md)Control point
Weightnumberweight value

Returns ​

void


SetPoleCol ​

▸ SetPoleCol(VIndex, CPoles): void

Set the control point column for the specified V-direction index.

Parameters ​

NameTypeDescription
VIndesnumberV-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 ​

NameTypeDescription
VIndesnumberV-direction index
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array
DCPoleWeightsnumber []Control point weight array

Returns ​

void


SetPoleRow ​

▸ SetPoleRow(UIndex, CPoles): void

Set the control point row for the specified U-direction index.

Parameters ​

NameTypeDescription
UIndesnumberU-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 ​

NameTypeDescription
UIndesnumberU-direction index
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array
DCPoleWeightsnumber []Control point weight array

Returns ​

void


SetUKnot ​

▸ SetUKnot(UIndex, K): void

Set the node value in the U direction.

Parameters ​

NameTypeDescription
UIndesnumberNode index
KnumberNew node value

Returns ​

void

▸ SetUKnot(UIndex, K, M): void

Set node values in the U direction, including multiplicity.

Parameters ​

NameTypeDescription
UIndesnumberNode index
KnumberNew node value
Mnumbermultiplicity

Returns ​

void


SetUKnots ​

▸ SetUKnots(dUK): void

Set the sequence of U-direction nodes.

Parameters ​

NameTypeDescription
DUKnumber []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 ​

NameTypeDescription
IndexNumberOrigin 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 ​

NameTypeDescription
VIndesnumberNode index
KnumberNew node value

Returns ​

void

▸ SetVKnot(VIndex, K, M): void

Set node values in the V direction, including multiplicity.

Parameters ​

NameTypeDescription
VIndesnumberNode index
KnumberNew node value
Mnumbermultiplicity

Returns ​

void


SetVKnots ​

▸ SetVKnots(dVK): void

Set the sequence of nodes in the V direction.

Parameters ​

NameTypeDescription
DVKnumber []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 ​

NameTypeDescription
IndexNumberOrigin 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 ​

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-direction index
Weightnumberweight value

Returns ​

void


SetWeightCol ​

▸ SetWeightCol(VIndex, dCPoleWeights): void

Set the weight column for the specified V-direction index.

Parameters ​

NameTypeDescription
VIndesnumberV-direction index
DCPoleWeightsnumber []Weight array

Returns ​

void


SetWeightRow ​

▸ SetWeightRow(UIndex, dCPoleWeights): void

Set the weight row for the specified U-direction index.

Parameters ​

NameTypeDescription
UIndesnumberU-direction index
DCPoleWeightsnumber []Weight array

Returns ​

void


Transform ​

▸ Transform(T): void

Apply transformation matrix to surface.

Parameters ​

NameTypeDescription
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 ​

NameTypeDescription
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 ​

NameTypeDescription
T[Mx3dGetStrf] (Mx3dGetStrf. md)Transform the object

Returns ​

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from ​

Mx3dGeomBoundedSurface.Transformed


TranslateBy2Points ​

▸ TranslateBy2Points(P1, P2): void

Translate geometric objects through two points.

Parameters ​

NameTypeDescription
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 ​

NameTypeDescription
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 ​

NameTypeDescription
P1[Mx3dGePoint] (Mx3dGePoint. md)Starting point object
P2[Mx3dGePoint] (Mx3dGePoint. md)End point object

Returns ​

Mx3dGeomBSplineSurface

New geometric objects.

Inherited from ​

Mx3dGeomBoundedSurface.TranslatedBy2Points


TranslatedByVec ​

▸ TranslatedByVec(V): Mx3dGeomBSplineSurface

Return the new geometric object after vector translation.

Parameters ​

NameTypeDescription
V[Mx3dGeVec] (Mx3dGeVec. md)Vector object

Returns ​

Mx3dGeomBSplineSurface

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 ​

NameTypeDescription
UIndesnumberNode 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 ​

NameTypeDescription
UIndesnumberNode 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 ​

Mx3dGeomBSplineSurface

Return the current object to implement a chain call.

Inherited from ​

Mx3dGeomBoundedSurface.UReversed


UReversedParameter ​

▸ UReversedParameter(U): number

Calculate the U-direction reverse parameter.

Parameters ​

NameTypeDescription
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 ​

NameTypeDescription
VIndesnumberNode 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 ​

NameTypeDescription
VIndesnumberNode 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 ​

Mx3dGeomBSplineSurface

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 ​

NameTypeDescription
Vnumberparameter 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 ​

NameTypeDescription
UnumberSurface parameter U
VnumberSurface parameter V

Returns ​

Mx3dGePoint

Corresponding point.

Inherited from ​

Mx3dGeomBoundedSurface.Value


Weight ​

▸ Weight(UIndex, VIndex): number

Retrieve the weight values for the specified U and V indices.

Parameters ​

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberV-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 ​

NameTypeDescription
TheObject[Mx3dGeomObject] (Mx3dGeomObject. md)Parent class object

Returns ​

Mx3dGeomBSplineSurface

Mx3dGeomBSpline Surface class object