[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