PK_BCURVE_spin   


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.