PK_ERROR_code_t PK_BCURVE_spin
(
--- received arguments ---
PK_BCURVE_t bcurve, --- bcurve
const PK_AXIS1_sf_t *axis, --- axis around which to spin bcurve
double angle, --- angle of spin
--- returned arguments ---
PK_BSURF_t *const bsurf --- resulting bsurf
)
This function spins a bcurve into a bsurf.
Specific Errors:
PK_ERROR_bad_angle angle == 0 or |angle| > 2*Pi
The bcurve is swung around the given axis through the given angle.
angle must not be greater than 2pi or less than -2pi.
angle must not be zero.
Returned surface bsurf:
. The bcurve lies along the v = 0 parameter line of the surface.
. The surface is rational.
. The u order of the surface is the order of the bcurve.
. The v order of the surface is 4.
. The surface will be periodic in u if the bcurve is periodic.
. The surface will be periodic in v if 'angle' is 2pi or -2pi.
. For positive angles the curve will be spun anticlockwise when viewed down
the axis ( ie. the right hand screw rule applied to the axis gives the spin
direction ) and the surface normal will be in the direction of the cross
product of the curve tangent and the spin direction.
In general this procedure may construct a self-intersecting surface.