PK_FSURF_sf_t   


    struct PK_FSURF_sf_s
        {
        char       *key;       --- surf key
        int         n_ints;    --- number of integer values (>=0)
        int        *ints;      --- integer values
        int         n_doubles; --- number of double values  (>=0)
        double     *doubles;   --- double values
        size_t      space;     --- data space required      (>=0)
        PK_TRANSF_t transf;    --- transformation (may be PK_ENTITY_null)
        };
    typedef struct PK_FSURF_sf_s PK_FSURF_sf_t;




This structure is the standard form of a foreign surface.


Specific Errors:
    PK_ERROR_FG_eval_not_found      surface evaluator not found
    PK_ERROR_FG_data_alloc_error    surface evaluator data allocation fault
    PK_ERROR_FG_doubles             'doubles' data error
    PK_ERROR_FG_ints                'ints' data error
    PK_ERROR_FG_data_not_found      surface evaluator data not found
    PK_ERROR_FG_evaluator_error     surface evaluator failure
    PK_ERROR_FG_modelling_error     cannot model with this surface

Used in:

PK_FSURF_ask
PK_FSURF_create


A separate Foreign Geometry User Guide is available.

Sufficient data space is always allocated to store one double.  The 'space'
field indicates data space in addition to this.