Skip to content

B Spline2D

Class full path: NemAll_Python_Geometry.BSpline2D

Bases: PolyPoints2D

class for 2D (non uniform, rational) B-spline geometry

Attributes

Degree: int property writable

Gets spline degree

IsPeriodic: bool property writable

Check if the spline is periodic

Knots: NemAll_Python_Utility.VecDoubleList property writable

Get knot vector

Weights: NemAll_Python_Utility.VecDoubleList property writable

Get control points weights

Functions

Clear()

Clear data, getting invalid state

CreateLine2D(line) staticmethod

Create BSpline2D from Line2D

Parameters:

Name Type Description Default
line Line2D

Input line.

required

Returns:

Type Description
BSpline2D

Created BSpline2D.

Get()

Return type: tuple(list(Point2D), list(float), list(float), int, bool)

GetDegree()

Gets spline degree

Returns:

Type Description
int

spline degree

GetKnots()

Get knot vector

Returns:

Type Description
VecDoubleList

knot vector const reference

GetWeights()

Get control points weights

Returns:

Type Description
VecDoubleList

weights vector const reference

IsClosed()

Check if spline is closed ( first/last points are equal )

Returns:

Type Description
bool

closed spline true/false

IsRational()

Check if the spline is rational

Returns:

Type Description
bool

bool true = rational

IsValid()

Check spline validity

Returns:

Type Description
bool

bool valid = true

Reverse()

Reverse of current spline

Method reverse Spline using reverse from PolyPoints and swapping tangents.

Set(points, weights, knots, degree, isPeriodic)

Get/Set functions

Parameters:

Name Type Description Default
points Point2DList
required
weights VecDoubleList
required
knots VecDoubleList
required
degree int
required
isPeriodic bool
required

SetDegree(degree)

Set spline degree

Parameters:

Name Type Description Default
degree int

desired degree

required

SetKnots(knots)

Set knot vector

Parameters:

Name Type Description Default
knots VecDoubleList

knot vector to set

required

SetPeriodic(arg2)

Set the periodic flag

Parameters:

Name Type Description Default
flag

True if BSpline is periodic

required

SetWeights(weights)

Set weights for control points

Parameters:

Name Type Description Default
weights VecDoubleList

weights vector to set

required

__eq__(bspline)

Comparison of bsplines without tolerance.

Be careful, this method work without tolerance!

Parameters:

Name Type Description Default
bspline BSpline2D

Compared bspline.

required

Returns:

Type Description
object

True when bsplines are equal, otherwise false.

__init__ overload

__init__()

Initialize

__init__(points, weights, knots, degree, isPeriodic)

Constructor from b-spline data. Creates b-spline using provided data.

Parameters:

Name Type Description Default
points Point2DList

control points of b-spline.

required
weights VecDoubleList

weights of b-spline.

required
knots VecDoubleList

knots of b-spline.

required
degree int

degree of b-spline.

required
isPeriodic bool

flag of periodicity of b-spline.

required
__init__(spline)

Copy constructor.

Parameters:

Name Type Description Default
spline BSpline2D

Spline which will be copied.

required

__repr__()

Convert to string