Skip to content

B Spline Surface3D

Class full path: NemAll_Python_Geometry.BSplineSurface3D

3D bsplinesrfc class for 3D (non uniform, rational) B-spline surface geometry

Attributes

Points: None property

Get the points property

:type: None

UClosed: None property

Get and set the closed property

:type: None

UDegree: None property

Get and set the degree property

:type: None

UKnots: None property

Get and set the uknots property

:type: None

UPeriodic: None property

Get and set the periodic property

:type: None

VClosed: None property

Get and set the closed property

:type: None

VDegree: None property

Get and set the degree property

:type: None

VKnots: None property

Get and set the vknots property

:type: None

VPeriodic: None property

Get and set the periodic property

:type: None

Weights: None property

Get and set the weights property

:type: None

Functions

Clear()

Clear data, getting invalid state

Get()

Get all surface members

Returns:

Type Description
List[Point3D]

all control points,

List[float]

all control points weights,

List[float]

knots in u direction,

List[float]

knots in v direction,

int

degree in u direction,

int

degree in v direction,

bool

periodic in u direction,

bool

periodic in v direction,

bool

closed in u direction,

bool

closed in v direction

GetCenterPoint()

Get center point

Returns:

Type Description
Point3D

center point

GetNormalVector(uv)

Evaluate normal vector for given parameters

Parameters:

Name Type Description Default
uv Point2D

uv paramaters

required

Returns:

Type Description
eGeometryErrorCode

error code,

Vector3D

result vector

GetPoints()

Get control points

Returns:

Type Description
Point3DList

all control points

GetUDegree()

Get surface u-degree

Returns:

Type Description
int

surface degree

GetUKnots()

Get u-knot vector

Returns:

Type Description
VecDoubleList

knot vector const reference

GetUPointsCount()

Get control points count in u-direction

Returns:

Type Description
int

size_t control points count

GetVDegree()

Get surface v-degree

Returns:

Type Description
int

surface degree

GetVKnots()

Get v-knot vector

Returns:

Type Description
VecDoubleList

knot vector const reference

GetVPointsCount()

Get control points count in v-direction

Returns:

Type Description
int

size_t control points count

GetWeights()

Get control points weights

Returns:

Type Description
VecDoubleList

weights vector const reference

IsPlanar()

Check if surface is planar

Returns:

Type Description
bool

bool true = yes

IsRational()

Check if the surface is rational

Returns:

Type Description
bool

bool true = rational

IsUClosed()

Check if the surface is closed in U direction

Returns:

Type Description
bool

bool true = closed

IsUPeriodic()

Check if the surface is periodic in U direction

Returns:

Type Description
bool

bool true = periodic

IsVClosed()

Check if the surface is closed in V direction

Returns:

Type Description
bool

bool true = closed

IsVPeriodic()

Check if the surface is periodic in V direction

Returns:

Type Description
bool

bool true = periodic

IsValid()

Check surface validity

Returns:

Type Description
bool

bool valid = true

Set(points, weights, uknots, vknots, udegree, vdegree, isUPeriodic, isVPeriodic, isUClosed, isVClosed)

Set all surface members

Parameters:

Name Type Description Default
points Point3DList

all control points

required
weights VecDoubleList

all control points weights

required
uknots VecDoubleList

knots in u direction

required
vknots VecDoubleList

knots in v direction

required
udegree int

degree in u direction

required
vdegree int

degree in v direction

required
isUPeriodic bool

periodic in u direction

required
isVPeriodic bool

periodic in v direction

required
isUClosed bool

closed in u direction

required
isVClosed bool

closed in v direction

required

SetUDegree(degree)

Set surface v-degree

Parameters:

Name Type Description Default
degree int

desired degree

required

SetUKnots(knots)

Set u-knot vector

Parameters:

Name Type Description Default
knots VecDoubleList

knot vector to set

required

SetVDegree(degree)

Set surface v-degree

Parameters:

Name Type Description Default
degree int

desired degree

required

SetVKnots(knots)

Set v-knot vector

Parameters:

Name Type Description Default
knots VecDoubleList

knot vector to set

required

SetWeights(weights)

Set weights for control points

Parameters:

Name Type Description Default
weights VecDoubleList

weights vector to set

required

__eq__(bsplinesrfc)

Comparison of bsplinesrfcs without tolerance.

Be careful, this method work without tolerance!

Parameters:

Name Type Description Default
bsplinesrfc BSplineSurface3D

Compared bsplinesrfc.

required

Returns:

Type Description
object

True when bsplinesrfcs are equal, otherwise false.

__init__ overload

__init__()

initialize

__init__(points, weights, uknots, vknots, udegree, vdegree, isUPeriodic, isVPeriodic, isUClosed, isVClosed)

Constructor.

Parameters:

Name Type Description Default
points Point3DList

all control points

required
weights VecDoubleList

all control points weights

required
uknots VecDoubleList

knots in u direction

required
vknots VecDoubleList

knots in v direction

required
udegree int

degree in u direction

required
vdegree int

degree in v direction

required
isUPeriodic bool

periodic in u direction

required
isVPeriodic bool

periodic in v direction

required
isUClosed bool

closed in u direction

required
isVClosed bool

closed in v direction

required
__init__(surface)

Copy constructor.

Parameters:

Name Type Description Default
surface BSplineSurface3D

Surface which will be copied.

required

__repr__()

convert the list to a string