PK_SURF_general_user_t   

struct PK_SURF_general_user_s
    {
    PK_SURF_general_eval_f_t eval_fn;             --- user evaluator
    PK_POINTER_t             eval_data;           --- evaluator data
    int                      highest_u_deriv;     --- highest u derivative that
                                                  --- 'eval_fn' can compute
    int                      highest_v_deriv;     --- highest v derivative that
                                                  --- 'eval_fn' can compute
    PK_LOGICAL_t             is_u_closed;         --- closure of surface in u
    PK_LOGICAL_t             is_v_closed;         --- closure of surface in v
    PK_LOGICAL_t             is_u_periodic;       --- periodicity of surface
                                                  --- in u
    PK_LOGICAL_t             is_v_periodic;       --- periodicity of surface
                                                  --- in v
    int                      n_u_discontinuities; --- number of params in
                                                  --- 'u_discontinuities'
    double                  *u_discontinuities;   --- array of u parameters
                                                  --- at which surface has a
                                                  --- discontinuity
    int                      n_v_discontinuities; --- number of params in
                                                  --- 'v_discontinuities'
    double                  *v_discontinuities;   --- array of v parameters
                                                  --- at which surface has a
                                                  --- discontinuity
    };

typedef struct PK_SURF_general_user_s  PK_SURF_general_user_t;



This structure contains the data for a user-defined general surf.


Specific Errors:
PK_ERROR_bad_parameter  one of the discontinuity parameters is invalid
PK_ERROR_null_evaluator the evaluator 'eval_fn' is null

Used in:

PK_SURF_general_t



This structure contains the following fields:

'eval_fn'             This field allows an application to supply an evaluator
                      function of form PK_SURF_general_eval_f_t.

'eval_data'           This contains the data required for the chosen external
                      (application-supplied) evaluator function. It will
                      be passed to the evaluator function whenever Parasolid
                      calls it.  Such data will not be examined by Parasolid.

'highest_u_deriv'     The highest u derivative that can be computed
                      by the surf.

'highest_v_deriv'     The highest v derivative that can be computed
                      by the surf.

'is_u_closed'         Whether or not the surface is closed in u.

'is_v_closed'         Whether or not the surface is closed in v.

'is_u_periodic'       Whether or not the surface is periodic in u.

'is_v_periodic'       Whether or not the surface is periodic in v.

'n_u_discontinuities' The number of u parameters at which the surface has
                      discontinuities.

'u_discontinuities'   The u parameters at which the surface has
                      discontinuities.

'n_v_discontinuities' The number of v parameters at which the surface has
                      discontinuities.

'v_discontinuities'   The v parameters at which the surface has
                      discontinuities.