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 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.