PK_ERROR_code_t PK_SURF_eval_grid ( --- received arguments --- PK_SURF_t surf, --- surface int n_u, --- number of u parameters const double u[], --- u paramters int n_v, --- number of v parameters const double v[], --- v parameters int n_u_derivs, --- number of u derivatives int n_v_derivs, --- number of v derivatives PK_LOGICAL_t triangular, --- triangular derivative array required --- returned arguments --- PK_VECTOR_t p[] --- points ) This function evaluates points on a rectangular grid of parameters on the given surface. Specific Errors: PK_ERROR_bad_parameter cannot evaluate parameters that are out of range on non_periodic and non_extendable surfaces. PK_ERROR_too_many_derivatives too many derivatives requested PK_ERROR_eval_failure internal evaluator failure n_u_derivs and n_v_derivs must be zero. It is not necessarily required that the supplied parameters lie inside the ranges as given by PK_SURF_ask_params. If the surface is PK_PARAM_periodic_yes_c or PK_PARAM_periodic_seamed_c in a parametric direction then any value is acceptable for that parameter. If a parameter is outside the range but the surface is PK_PARAM_bound_extendable_c in that parametric direction, then the evaluation will be performed on the surface extension. The return argument p is a vector array returning the points, the array being filled as follows: p[0] is the point evaluated at u[0], v[0] p[1] is the point evaluated at u[1], v[0] . . . . . . . . . p[n_u] is the point evaluated at u[0], v[1] p[n_u+1] is the point evaluated at u[1], v[1] . . . . . . . . . p[(n_u*n_v)-1] is the point evaluated at u[n_u-1], v[n_v-1]