 |
PK_BSURF_create |
|
PK_ERROR_code_t PK_BSURF_create
(
--- received arguments ---
const PK_BSURF_sf_t *bsurf_sf, --- b-surface standard form
--- returned arguments ---
PK_BSURF_t *const bsurf --- b-surface
)
This function creates a b-surface from the standard form.
Specific Errors:
PK_ERROR_zero_interval knot set covers a zero interval
PK_ERROR_periodic_open periodic surface is not closed
PK_ERROR_periodic_not_smooth periodic surface is not smooth at the seam
PK_ERROR_bad_dimension dimension != 3 polynomial or != 4 rational
PK_ERROR_cant_make_bspline failed to create the surface
Takes a standard form, and creates a b-surface. Refer to the documentation
of PK_BSURF_sf_t for a description of the standard form. It is the
responsibility of the application to ensure that the surface does not
intersect itself, and that any periodic surfaces with bezier end conditions are
continuous across the seam. Continuity is achieved by satisfying two
conditions:
o Corresponding triplets of vertices across the seam must be co-linear.
o The relative spacing between the vertices in the triplets must be constant
along the boundaries, and, if the surface is rational, the weights must be
in a constant ratio.
See Continuity between patches for more information.
Only 3-space surfaces may be created by this function.