# NurbsPositionInterpolator

## Overview

NurbsPositionInterpolator describes a 3D NURBS curve and outputs interpolated position values.

The NurbsPositionInterpolator node belongs to the **NURBS** component and requires at least level **1,** its default container field is *children.* It is available from X3D version 3.0 or higher.

## Hierarchy

1
2
3

+ X3DNode
+ X3DChildNode
+ NurbsPositionInterpolator

## Fields

### SFNode [in, out] **metadata** NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.

#### Hint

- X3D Architecture 7.2.4 Metadata /Part01/components/core.html#Metadata

### SFFloat [in] **set_fraction** (-∞,∞)

Setting *fraction* in range [0,1] selects input key for corresponding keyValue output, computing a 3D position on the curve.

#### Hint

*set_fraction*values are typically in same range interval as values in the key array. Response to an input*set_fraction*value less than minimum is equivalent to minimum key, and response to an input*set_fraction*value greater than maximum is equivalent to maximum key.

#### Warning

- It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.

### SFInt32 [in, out] **order** 3 (2,∞)

Define *order* of surface by polynomials of degree = *order*-1.

### MFDouble [in, out] **knot** [ ] (-∞,∞)

*knot* vector, where size = number of control points + order of curve.

### MFDouble [in, out] **weight** [ ] (-∞,∞)

Output values for linear interpolation, each corresponding to knots.

#### Hint

- Number of weights must match number of knots!

### SFNode [in, out] **controlPoint** NULL [X3DCoordinateNode]

Single contained Coordinate or CoordinateDouble node that can specify control points for NURBS geometry definitions.

### SFVec3f [out] **value_changed**

Computationaly interpolated output value determined by current key time and corresponding keyValue pair.

#### Warning

- It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.

## Advice

### Hint

- The SFNode controlPoint field can contain a single Coordinate or CoordinateDouble node.