BSplineSurface3D
Canonical path: NemAll_Python_Geometry.BSplineSurface3D
class for 3D (non uniform, rational) B-spline surface geometry
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)