PK_ERROR_code_t PK_CURVE_spin_2 ( --- received arguments --- PK_CURVE_t curve, --- curve to spin const PK_AXIS1_sf_t *axis, --- axis around which to spin curve const PK_CURVE_spin_o_t *options, --- options --- returned arguments --- PK_SURF_t *const surf --- spun surface ) This function spins a curve to form a surface. The function allows spinning of sections of axis crossing curves to produce non self intersecting subsets of the surface that would be generated by spinning the whole curve. Specific Errors PK_ERROR_impossible_spin cannot determine spun geometry PK_ERROR_unsuitable_entity not one of the allowed curve types PK_ERROR_su_self_intersect surface would be self intersecting This function creates a spun surface or surface of revolution. The 'curve' is revolved about the specified 'axis', the new surface being the envelope of the curve. The sense of the revolution appears clockwise when viewed along the direction of the axis. The curve must be of one of the following classes: PK_CLASS_line PK_CLASS_circle PK_CLASS_ellipse PK_CLASS_bcurve Options permit forcing a simplifed surface being returned where possible, and selecting a subset of the curve where spinning the whole curve would produce a self-intersecting aurface. If the given curve is not an orphan, then the resulting surface will be created as construction geometry in the owning part.