### Space Curve Geometry

Unlike trimming curves, **space curve**s
are defined in 3D space. A space
curve object may not contain any other type of geometry, such as
free-form surfaces or polygons. Space curves are not rendered but
serve as input geometry for modeling operations, by passing the
space curve object as a parameter to a
geometry shader. The curve geometry is
defined as a list of space curves, each
referencing multiple curve segments.

An object containing space curve geometry follows this
outline:

object "*object_name*"
[ tag *label_number*_{int} ]
[ *basis list* ]
group
*vector list*
*vertex list*
[ *list of curves* ]
*space curve*
[ *list of curve segment references* ]
end group
end object

A single space curve definition follows this outline:

space curve "*curve_name*"*min max*
...

The dots indicate that each space curve statement may be
followed by more than one curve segment reference. The *min*
and *max* parameters allow using only part of the curve
referenced. *min* and *max* must be in the range of the
parameter vector of the curve.

Here is an example of a space curve object:

object "myspacecurve"
basis "bezier_1" bezier 1
group
0.4 0.4 1.2
0.6 0.4 1.2
0.6 0.6 1.2
0.4 0.6 1.2
v 0 v 1 v 2 v 3
curve "curve1" bezier_1
0. 1. 2. 3. 4.
0 1 2 3 0
space curve "sp1"
"curve1" 0. 4.
end group
end object

Copyright © 1986, 2013
NVIDIA Corporation