 |
PK_BSURF_create_fitted_o_t |
|
struct PK_BSURF_create_fitted_o_s
{
int o_t_version; --- option structure version number
PK_SURF_general_t surf; --- surface to be fitted
PK_INTERVAL_t u_range; --- u parameter range for B-surface
--- (0,1)
PK_INTERVAL_t v_range; --- v parameter range for B-surface
--- (0,1)
double tolerance; --- distance tolerance (1.0e-5)
double angular_tolerance; --- angular tolerance (0.0)
int n_u_interpolation_parms; --- number of parameters at which
--- to interpolate input surface
--- (0)
const double *u_interpolation_parms; --- u parameters at which to
--- interpolate input surface
--- (NULL)
int n_v_interpolation_parms; --- number of parameters at which
--- to interpolate input surface
--- (0)
const double *v_interpolation_parms; --- v parameters at which to
--- interpolate input surface
--- (NULL)
};
typedef struct PK_BSURF_create_fitted_o_s
PK_BSURF_create_fitted_o_t;
Holds optional controls for the fitting of a general surface by a B-surface.
Specific Errors:
PK_ERROR_bad_interval the range provided is invalid (MILD)
PK_ERROR_bad_tolerance one of the tolerances provided is invalid (MILD)
PK_ERROR_bad_parameter an interpolation parameter is invalid (MILD)
Used in:
PK_BSURF_create_fitted
This structure contains the following fields:
'surf' the surface to be fitted. The default value
for this field is
`surf.type' = PK_SURF_general_surf_c
`surf.surf.parasolid_surf' = PK_ENTITY_null
'u_range' the u parameter range for the resultant
B-surface. The B-surface will exactly fit the
sample points at the start and end of this range.
(0,1)
'v_range' the v parameter range for the resultant
B-surface. The B-surface will exactly fit the
sample points at the start and end of this range.
(0,1)
'tolerance' the distance tolerance to within which the
B-surface will fit the sample data. (1.0e-5)
'angular_tolerance' if non-zero, the maximum angle between the
tangents of the B-surface and the tangents
from the sample data. Note that this will
require the calculation of first derivatives
at all sample parameters during the fit. (0.0)
'n_u_interpolation_parms' the number of 'u_interpolation_parms' supplied.
(0)
'u_interpolation_parms' a strictly increasing array of length
'n_u_interpolation_parms' of parameter values
lying within 'u_range'. The resultant B-surfaces
will exactly pass through the sample points at
these values. If the array is not strictly
increasing, or if one of the elements lies
outside of 'u_range', an error will be returned.
(NULL)
'n_v_interpolation_parms' the number of 'v_interpolation_parms' supplied.
(0)
'v_interpolation_parms' a strictly increasing array of length
'n_v_interpolation_parms' of parameter values
lying within 'v_range'. The resultant B-surfaces
will exactly pass through the sample points at
these values. If the array is not strictly
increasing, or if one of the elements lies
outside of 'v_range', an error will be returned.
(NULL)
If 'u_interpolation_parms' and 'v_interpolation_parms' are specified, they
define a grid of points such that the resulting B-surface matches the input
surface exactly at these points.