BSplineSurface3D
Canonical path: NemAll_Python_Geometry.BSplineSurface3D
class for 3D (non uniform, rational) B-spline surface geometry
Methods:
-
Clear–Clear data, getting invalid state
-
Get–Get all surface members
-
GetCenterPoint–Get center point
-
GetNormalVector–Evaluate normal vector for given parameters
-
GetPoints–Get control points
-
GetUDegree–Get surface u-degree
-
GetUKnots–Get u-knot vector
-
GetUPointsCount–Get control points count in u-direction
-
GetVDegree–Get surface v-degree
-
GetVKnots–Get v-knot vector
-
GetVPointsCount–Get control points count in v-direction
-
GetWeights–Get control points weights
-
IsPlanar–Check if surface is planar
-
IsRational–Check if the surface is rational
-
IsUClosed–Check if the surface is closed in U direction
-
IsUPeriodic–Check if the surface is periodic in U direction
-
IsVClosed–Check if the surface is closed in V direction
-
IsVPeriodic–Check if the surface is periodic in V direction
-
IsValid–Check surface validity
-
Set–Set all surface members
-
SetUDegree–Set surface v-degree
-
SetUKnots–Set u-knot vector
-
SetVDegree–Set surface v-degree
-
SetVKnots–Set v-knot vector
-
SetWeights–Set weights for control points
-
__eq__–Comparison of BSplineSurface3D without tolerance.
-
__init__–Overloaded function. See individual overloads.
-
__repr__–Convert to string
Attributes:
-
CenterPoint(Point3D) –Get center point
-
Planar(bool) –Check if surface is planar
-
Points(void) –Get control points
-
Rational(bool) –Check if the surface is rational
-
UClosed(bool) –Check if the surface is closed in U direction
-
UDegree(int) –Get surface u-degree
-
UKnots(VecDoubleList) –Get u-knot vector
-
UPeriodic(bool) –Check if the surface is periodic in U direction
-
UPointsCount(int) –Get control points count in u-direction
-
VClosed(bool) –Check if the surface is closed in V direction
-
VDegree(int) –Get surface v-degree
-
VKnots(VecDoubleList) –Get v-knot vector
-
VPeriodic(bool) –Check if the surface is periodic in V direction
-
VPointsCount(int) –Get control points count in v-direction
-
Valid(bool) –Check surface validity
-
Weights(VecDoubleList) –Get control points weights
Get
Get() -> tuple[
Point3DList,
VecDoubleList,
VecDoubleList,
VecDoubleList,
int,
int,
bool,
bool,
bool,
bool,
]
Get all surface members
Returns:
-
tuple[Point3DList, VecDoubleList, VecDoubleList, VecDoubleList, int, int, bool, bool, bool, bool]–tuple(all control points, all control points weights, knots in u direction, knots in v direction, degree in u direction, degree in v direction, periodic in u direction, periodic in v direction, closed in u direction, closed in v direction)
GetNormalVector
GetNormalVector(uv: Point2D) -> tuple[eGeometryErrorCode, Vector3D]
Evaluate normal vector for given parameters
Parameters:
-
uv(Point2D) –uv paramaters
Returns:
-
tuple[eGeometryErrorCode, Vector3D]–tuple(error code, result vector)
GetUKnots
GetUKnots() -> VecDoubleList
GetUPointsCount
Get control points count in u-direction
Returns:
-
int–size_t control points count
GetVKnots
GetVKnots() -> VecDoubleList
GetVPointsCount
Get control points count in v-direction
Returns:
-
int–size_t control points count
GetWeights
GetWeights() -> VecDoubleList
IsRational
Check if the surface is rational
Returns:
-
bool–bool true = rational
IsUClosed
Check if the surface is closed in U direction
Returns:
-
bool–bool true = closed
IsUPeriodic
Check if the surface is periodic in U direction
Returns:
-
bool–bool true = periodic
IsVClosed
Check if the surface is closed in V direction
Returns:
-
bool–bool true = closed
IsVPeriodic
Check if the surface is periodic in V direction
Returns:
-
bool–bool true = periodic
Set
Set(
points: Point3DList,
weights: VecDoubleList,
uknots: VecDoubleList,
vknots: VecDoubleList,
udegree: int,
vdegree: int,
isUPeriodic: bool,
isVPeriodic: bool,
isUClosed: bool,
isVClosed: bool,
)
Set all surface members
Parameters:
-
points(Point3DList) –all control points
-
weights(VecDoubleList) –all control points weights
-
uknots(VecDoubleList) –knots in u direction
-
vknots(VecDoubleList) –knots in v direction
-
udegree(int) –degree in u direction
-
vdegree(int) –degree in v direction
-
isUPeriodic(bool) –periodic in u direction
-
isVPeriodic(bool) –periodic in v direction
-
isUClosed(bool) –closed in u direction
-
isVClosed(bool) –closed in v direction
SetUKnots
SetUKnots(knots: VecDoubleList)
SetVKnots
SetVKnots(knots: VecDoubleList)
SetWeights
SetWeights(weights: VecDoubleList)
__eq__
__eq__(bsplinesrfc: BSplineSurface3D) -> object
Comparison of BSplineSurface3D without tolerance.
Be careful, this method work without tolerance!
Parameters:
-
bsplinesrfc(BSplineSurface3D) –Compared BSplineSurface3D.
Returns:
-
object–True when BSplineSurface3D are equal, otherwise false.
__init__
overloaded
Initialize
__init__(
points: Point3DList,
weights: VecDoubleList,
uknots: VecDoubleList,
vknots: VecDoubleList,
udegree: int,
vdegree: int,
isUPeriodic: bool,
isVPeriodic: bool,
isUClosed: bool,
isVClosed: bool,
)
Constructor
Parameters:
-
points(Point3DList) –all control points
-
weights(VecDoubleList) –all control points weights
-
uknots(VecDoubleList) –knots in u direction
-
vknots(VecDoubleList) –knots in v direction
-
udegree(int) –degree in u direction
-
vdegree(int) –degree in v direction
-
isUPeriodic(bool) –periodic in u direction
-
isVPeriodic(bool) –periodic in v direction
-
isUClosed(bool) –closed in u direction
-
isVClosed(bool) –closed in v direction
__init__(surface: BSplineSurface3D)