Skip to content

[mxcad_3d API Document](../README. md)/Mx3dGeomBizierSurface

Class: Mx3dGeomBezierSurface

Represents a Bezier surface, inherited from Mx3dGeomSounddSurface. Provide multiple operations and query methods to handle Bezier surfaces.

Hierarchy

Table of contents

Constructors

Methods

Constructors

constructor

new Mx3dGeomBezierSurface(SurfacePoles, PoleWeights?)

Constructor is used to create a Bezier surface.

Parameters

NameTypeDescription
SurfacePoles[Mx3dGePoint. md] []Control point array, in the form of a two-dimensional array
PoleWeights?Number [] []Control point weight array (optional)

Overrides

Mx3dGeomBoundedSurface.constructor

Methods

Bounds

Bounds(U1U2V1V2): void

Obtain the boundary range of the surface.

Parameters

NameTypeDescription
U1U2V1V2[dU1: number, dU2: number, dV1: number, dV2: number]Range array

Returns

void


Continuity

Continuity(): MxGAShapeEnum

Obtain the continuity of the surface.

Returns

MxGAShapeEnum

Return the continuity enumeration value.


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 a surface at a specified point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)Output point

Returns

void


D1

D1(U, V, P, D1U, D1V): void

Calculate the first derivative of a surface at a specified point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)Output point
D1U[Mx3dGeVec] (Mx3dGeVec. md)Output the first-order derivative vector in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)Output the first derivative vector in the V direction

Returns

void


D2

D2(U, V, P, D1U, D1V, D2U, D2V, D2UV): void

Calculate the second derivative of a surface at a specified point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)Output point
D1U[Mx3dGeVec] (Mx3dGeVec. md)Output the first-order derivative vector in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)Output the first derivative vector in the V direction
D2U[Mx3dGeVec] (Mx3dGeVec. md)Output the second derivative vector in the U direction
D2V[Mx3dGeVec] (Mx3dGeVec. md)Output the second derivative vector in the V direction
D2UV[Mx3dGeVec] (Mx3dGeVec. md)Output the second derivative vector in the UV direction

Returns

void


D3

D3(U, V, P, D1U, D1V, D2U, D2V, D2UV, D3U, D3V, D3UUV, D3UVV): void

Calculate the third derivative of a surface at a specified point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
P[Mx3dGePoint] (Mx3dGePoint. md)Output point
D1U[Mx3dGeVec] (Mx3dGeVec. md)Output the first-order derivative vector in the U direction
D1V[Mx3dGeVec] (Mx3dGeVec. md)Output the first derivative vector in the V direction
D2U[Mx3dGeVec] (Mx3dGeVec. md)Output the second derivative vector in the U direction
D2V[Mx3dGeVec] (Mx3dGeVec. md)Output the second derivative vector in the V direction
D2UV[Mx3dGeVec] (Mx3dGeVec. md)Output the second derivative vector in the UV direction
D3U[Mx3dGeVec] (Mx3dGeVec. md)Output the third derivative vector in the U direction
D3V[Mx3dGeVec] (Mx3dGeVec. md)Output the third derivative vector in the V direction
D3UUV[Mx3dGeVec] (Mx3dGeVec. md)Output the third derivative vector in the UU direction
D3UVV[Mx3dGeVec] (Mx3dGeVec. md)Output the third derivative vector in the UV direction

Returns

void


DN

DN(U, V, Nu, Nv): Mx3dGeVec

Calculate the Nth derivative of a surface at a specified point.

Parameters

NameTypeDescription
Unumberparameter U value
Vnumberparameter V value
NunumberU-direction order
Nvnumberorder in the V direction

Returns

Mx3dGeVec

Return the derivative vector.


DynCast

DynCast(theObject): Mx3dGeomBezierSurface

Parameters

NameType
theObjectMx3dGeomObject

Returns

Mx3dGeomBezierSurface

Overrides

Mx3dGeomBoundedSurface.DynCast


DynamicType

DynamicType(): string

Return the dynamic type string of the object.

Returns

string

Dynamic type string.

Inherited from

Mx3dGeomBoundedSurface.DynamicType


ExchangeUV

ExchangeUV(): void

Exchange the order of 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.


Increase

Increase(UDeg, VDeg): void

Increase the order of the surface.

Parameters

NameTypeDescription
UDegnumberincrease order in the U direction
VDegnumberincrease order in the V direction

Returns

void


InsertPoleColAfter

InsertPoleColAfter(VIndex, CPoles, CPoleWeights?): void

Insert a new control point column after the specified column.

Parameters

NameTypeDescription
Index of column 'VIndes'' number '
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array to be inserted
CPoleWeights?Number []Control point weight array (optional)

Returns

void


InsertPoleColBefore

InsertPoleColBefore(VIndex, CPoles, CPoleWeights?): void

Insert a new control point column before the specified column.

Parameters

NameTypeDescription
Index of column 'VIndes'' number '
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array to be inserted
CPoleWeights?Number []Control point weight array (optional)

Returns

void


InsertPoleRowAfter

InsertPoleRowAfter(UIndex, CPoles, CPoleWeights?): void

Insert a new control point row after the specified row.

Parameters

NameTypeDescription
The index of the 'UIndes'' number 'row
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array to be inserted
CPoleWeights?Number []Control point weight array (optional)

Returns

void


InsertPoleRowBefore

InsertPoleRowBefore(UIndex, CPoles, CPoleWeights?): void

Insert a new control point line before the specified line.

Parameters

NameTypeDescription
The index of the 'UIndes'' number 'row
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array to be inserted
CPoleWeights?Number []Control point weight array (optional)

Returns

void


IsCNu

IsCNu(N): boolean

Determine the continuous order in the U direction.

Parameters

NameTypeDescription
Nnumberorder

Returns

boolean

Returns a Boolean value indicating whether it is continuous.


IsCNv

IsCNv(N): boolean

Determine the continuous order in the V direction.

Parameters

NameTypeDescription
Nnumberorder

Returns

boolean

Returns a Boolean value indicating whether it is continuous.


IsUClosed

IsUClosed(): boolean

Determine whether the U direction is closed.

Returns

boolean

Returns a Boolean value indicating whether it is closed or not.


IsUPeriodic

IsUPeriodic(): boolean

Determine whether the U direction is periodic.

Returns

boolean

Return a Boolean value indicating whether it is periodic.


IsURational

IsURational(): boolean

Determine whether the U direction is a rational surface.

Returns

boolean

Returns the Boolean value of a rational surface.


IsVClosed

IsVClosed(): boolean

Determine whether the V direction is closed.

Returns

boolean

Returns a Boolean value indicating whether it is closed or not.


IsVPeriodic

IsVPeriodic(): boolean

Determine whether the V direction is periodic.

Returns

boolean

Return a Boolean value indicating whether it is periodic.


IsVRational

IsVRational(): boolean

Determine whether the V direction is a rational surface.

Returns

boolean

Returns the Boolean value of a rational surface.


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): Mx3dGeomBezierSurface

Return the new geometric object transformed through axis mirroring.

Parameters

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

Returns

Mx3dGeomBezierSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.MirroredByAxis


MirroredByCSYSR

MirroredByCSYSR(A2): Mx3dGeomBezierSurface

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

Mx3dGeomBezierSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.MirroredByCSYSR


MirroredByPoint

MirroredByPoint(P): Mx3dGeomBezierSurface

Return the new geometric object after point mirror transformation.

Parameters

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

Returns

Mx3dGeomBezierSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.MirroredByPoint


NbUPoles

NbUPoles(): number

Obtain the number of control points in the U direction.

Returns

number

Return the number of control points in the U direction.


NbVPoles

NbVPoles(): number

Obtain the number of control points in the V direction.

Returns

number

Return the number of control points in the V direction.


Pole

Pole(UIndex, VIndex): Mx3dGePoint

Retrieve the specified control point location.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberindex in the V direction

Returns

Mx3dGePoint

Return to the control point location.


Poles

Poles(): Mx3dGePoint[][]

Retrieve all control point arrays.

Returns

Mx3dGePoint[][]

Return a two-dimensional array of control points.


RemovePoleCol

RemovePoleCol(VIndex): void

Remove the control point of the specified column.

Parameters

NameTypeDescription
Index of column 'VIndes'' number '

Returns

void


RemovePoleRow

RemovePoleRow(UIndex): void

Remove the control point of the specified row.

Parameters

NameTypeDescription
The index of the 'UIndes'' number 'row

Returns

void


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): Mx3dGeomBezierSurface

Return the rotated new geometric object.

Parameters

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

Returns

Mx3dGeomBezierSurface

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): Mx3dGeomBezierSurface

Return the scaled new geometric object.

Parameters

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

Returns

Mx3dGeomBezierSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.Scaled


Segment

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

Define a part of the surface and specify the range of U and V.

Parameters

NameTypeDescription
U1numberStarting U value
U2numberEnd U value
V1numberStarting V value
V2NumberEnd V value

Returns

void


SetPole

SetPole(UIndex, VIndex, P, Weight?): void

Set control points and weights for the specified location.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberindex in the V direction
P[Mx3dGePoint] (Mx3dGePoint. md)Control point position
Weight?NumberControl point weights (optional)

Returns

void


SetPoleCol

SetPoleCol(VIndex, CPoles, CPoleWeights?): void

Set the control points and weights for the specified column.

Parameters

NameTypeDescription
Index of column 'VIndes'' number '
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array
CPoleWeights?Number []Control point weight array (optional)

Returns

void


SetPoleRow

SetPoleRow(UIndex, CPoles, CPoleWeights?): void

Set the control points and weights for the specified row.

Parameters

NameTypeDescription
The index of the 'UIndes'' number 'row
CPoles[Mx3dGePoint] (Mx3dGePoint. md) []Control point array
CPoleWeights?Number []Control point weight array (optional)

Returns

void


SetWeight

SetWeight(UIndex, VIndex, Weight): void

Set the weight of the specified control point.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberindex in the V direction
Weightnumberweight value

Returns

void


SetWeightCol

SetWeightCol(VIndex, CPoleWeights): void

Set the control point weights for the specified column.

Parameters

NameTypeDescription
Index of column 'VIndes'' number '
CPoleWeightsnumber []Control point weight array

Returns

void


SetWeightRow

SetWeightRow(UIndex, CPoleWeights): void

Set the control point weights for the specified row.

Parameters

NameTypeDescription
The index of the 'UIndes'' number 'row
CPoleWeightsnumber []Control point 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): Mx3dGeomBezierSurface

Return the transformed new geometric object.

Parameters

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

Returns

Mx3dGeomBezierSurface

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): Mx3dGeomBezierSurface

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

Mx3dGeomBezierSurface

New geometric objects.

Inherited from

Mx3dGeomBoundedSurface.TranslatedBy2Points


TranslatedByVec

TranslatedByVec(V): Mx3dGeomBezierSurface

Return the new geometric object after vector translation.

Parameters

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

Returns

Mx3dGeomBezierSurface

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.


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 parameter in the U direction.

Returns

void


UReversed

UReversed(): Mx3dGeomBezierSurface

Parameterization of reversing the U direction.

Returns

Mx3dGeomBezierSurface

Return the current object to implement a chain call.

Inherited from

Mx3dGeomBoundedSurface.UReversed


UReversedParameter

UReversedParameter(U): number

Calculate the reverse U parameter.

Parameters

NameTypeDescription
Unumberparameter U value

Returns

number

Return the reverse parameter.


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 parameters in the V direction.

Returns

void


VReversed

VReversed(): Mx3dGeomBezierSurface

Parameterization of reversing the V direction.

Returns

Mx3dGeomBezierSurface

Return the current object to implement a chain call.

Inherited from

Mx3dGeomBoundedSurface.VReversed


VReversedParameter

VReversedParameter(V): number

Calculate the reverse V parameter.

Parameters

NameTypeDescription
Vnumberparameter V value

Returns

number

Return the reverse parameter.


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

Obtain the weight of the specified control point.

Parameters

NameTypeDescription
UIndesnumberU-direction index
VIndesnumberindex in the V direction

Returns

number

Return weight values.


Weights

Weights(): number[][]

Retrieve an array of all control point weights.

Returns

number[][]

Return a two-dimensional array of control point weights.


DownCast

Static DownCast(theObject): Mx3dGeomBezierSurface

Parameters

NameType
theObjectMx3dGeomObject

Returns

Mx3dGeomBezierSurface