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)