Module Curve :: Class CurNurb
[frames] | no frames]

Class CurNurb

The CurNurb Object

This object provides access to the control points of the curves that make up a Blender Curve ObData.

The CurNurb supports the python iterator protocol which means you can use a python for statement to access the points in a curve.

The CurNurb also supports the sequence protocol which means you can access the control points of a CurNurb using the [] operator.

Note that CurNurb is used for accesing poly, bezier and nurbs type curves.

Instance Methods
None
__setitem__(n, point)
Replace the Nth point in the curve.
BezTriple (Bezier Curve) or List of 5 floats [x, y, z, w, t] for Poly or Nurbs
__getitem__(n)
Get the Nth element in the curve.
None
append(new_point)
Appends a new point to a curve.
None
setMatIndex(index)
Sets the Material index for this CurNurb.
integer
getMatIndex()
Returns the Material index for this CurNurb.
boolean
isNurb()
Boolean method used to determine whether a CurNurb is of type Bezier or of type Nurb.
boolean
isCyclic()
Boolean method checks whether a CurNurb is cyclic (a closed curve) or not.
integer
getFlagU()
Get the CurNurb knot flag U.
None
setFlagU(flag)
Set the entire CurNurb knot flag U (knots are recalculated automatically).
integer
getFlagV()
Get the CurNurb knot flag V.
None
setFlagV(value)
Set the CurNurb knot flag V (knots are recalculated automatically).
integer
getType()
Get the type of the curve.
None
setType(value)
Set the type of the curve and converts the curve to its new type if needed
Instance Variables
int flagU
The CurNurb knot flag U.
int flagV
The CurNurb knot flag V.
tuple of floats knotsU
The knot vector in the U direction.
tuple of floats knotsV
The knot vector in the V direction.
int orderU
The CurNurb knot order U, for nurbs curves only, this is clamped by the number of points, so the orderU will never be greater.
bool smooth
Set the smoothing for this curve (applies to cuve objects that have a bevel)
int type
The type of the curve (Poly: 0, Bezier: 1, NURBS: 4)
Method Details

__setitem__(n, point)
(Index assignment operator)

 

Replace the Nth point in the curve. The type of the argument must match the type of the curve. List of 4 floats (optional 5th float is the tilt value in radians) for Nurbs or BezTriple for Bezier.

Parameters:
  • n (integer) - the index of the element to replace
  • point (BezTriple or list of 4 floats (optional 5th float is the tilt value in radians)) - the point that will replace the one in the curve. The point can be either a BezTriple type or a list of 4 floats in x,y,z,w (optionally tilt in radians as 5th value) format for a Nurb curve.
Returns: None
None

__getitem__(n)
(Indexing operator)

 

Get the Nth element in the curve. For Bezier curves, that element is a BezTriple. For the rest (Poly and Nurbs), it is a list of 5 floats: x, y, z, weight, tilt (in radians). NOTE 1: This element is independent on the curve, modifying it will not affect the curve. NOTE 2: Each successive call returns a new object.

Parameters:
  • n (integer) - the index of the element to return
Returns: BezTriple (Bezier Curve) or List of 5 floats [x, y, z, w, t] for Poly or Nurbs
The Nth element in the curve

append(new_point)

 

Appends a new point to a curve. This method appends points to both Bezier and Nurb curves. The type of the argument must match the type of the curve. List of 4 floats (optional 5th float is the tilt value in radians) for Nurbs or BezTriple for Bezier.

Parameters:
  • new_point (BezTriple or list of 4 floats (optional 5th float is the tilt value in radians)) - the new point to be appended to the curve. The new point can be either a BezTriple type or a list of 4 floats in x,y,z,w (optionally tilt in radians as 5th value) format for a Nurb curve.
Returns: None
None

setMatIndex(index)

 

Sets the Material index for this CurNurb.

Parameters:
  • index (integer) - the new value for the Material number of this CurNurb. No range checking is done.
Returns: None
None

getMatIndex()

 

Returns the Material index for this CurNurb.

Returns: integer
integer

isNurb()

 

Boolean method used to determine whether a CurNurb is of type Bezier or of type Nurb.

Returns: boolean
True or False

isCyclic()

 

Boolean method checks whether a CurNurb is cyclic (a closed curve) or not.

Returns: boolean
True or False

getFlagU()

 

Get the CurNurb knot flag U.

Returns: integer
See setFlagU for description of return value.

setFlagU(flag)

 

Set the entire CurNurb knot flag U (knots are recalculated automatically). The flag can be one of six values:

  • 0 or 1: uniform knots
  • 2 or 3: endpoints knots
  • 4 or 5: bezier knots

Bit 0 controls whether or not the curve is cyclic (1 = cyclic).

Parameters:
  • flag (integer) - CurNurb knot flag
Returns: None
None

getFlagV()

 

Get the CurNurb knot flag V.

Returns: integer
See setFlagU for description of return value.

setFlagV(value)

 

Set the CurNurb knot flag V (knots are recalculated automatically).

Parameters:
  • value (integer) - See setFlagU for description of return.
Returns: None
None

getType()

 

Get the type of the curve.

Returns: integer
0 - Poly, 1 - Bezier, 4 - NURBS

setType(value)

 

Set the type of the curve and converts the curve to its new type if needed

Parameters:
  • value (integer) - CurNurb type flag (0 - Poly, 1 - Bezier, 4 - NURBS)
Returns: None
None

Instance Variable Details

flagU

The CurNurb knot flag U. See setFlagU for description.
Type:
int

flagV

The CurNurb knot flag V. See setFlagU for description.
Type:
int

knotsU

The knot vector in the U direction. The tuple will be empty if the curve isn't a NURB or doesn't have knots in this direction.
Type:
tuple of floats

knotsV

The knot vector in the V direction. The tuple will be empty if the curve isn't a NURB or doesn't have knots in this direction.
Type:
tuple of floats