 |
PK_SURF_fix_self_int_o_t |
|
struct PK_SURF_fix_self_int_o_s
{
int o_t_version; --- version number of option structure
PK_fix_method_t fix_method; --- method used to generate new
--- surfaces
--- (PK_fix_method_extract_c)
PK_LOGICAL_t allow_multiple; --- whether to allow multiple surfaces
--- to be generated (PK_LOGICAL_true)
PK_SURF_split_t split; --- whether to prefer splitting the
--- surfaces in the u parametric
--- direction or the v parametric
--- direction
--- (PK_SURF_split_prefer_u_c)
double tolerance; --- tolerance for approximating
--- surfaces (1.0e-5)
PK_LOGICAL_t have_uv_param; --- whether uv parameters are supplied
--- (PK_LOGICAL_false)
PK_UV_t uv_param; --- uv parameters used to select the
--- region of interest (0.0, 0.0)
};
typedef struct PK_SURF_fix_self_int_o_s PK_SURF_fix_self_int_o_t;
This structure holds optional controls for fixing self-intersections on a
surface.
Used in:
PK_SURF_fix_self_int
The option structure for fixing self-intersections on a surface has the
following fields :
'fix_method' If set to PK_fix_method_extract_c, then the function will
generate surfaces by extracting from the input 'surf'.
Regions of the surface which cannot be fixed by extracting
will be ignored.
If set to PK_fix_method_approx_c, then the function will
produce surfaces which are either exactly coincident with
'surf' or an approximation.
(PK_fix_method_extract_c)
'allow_multiple' If set to PK_LOGICAL_false, then only a single surface will
be returned. If 'fix_method' is set to
PK_fix_method_extract_c, then the function will attempt to
extract a non-self-intersecting region from 'surf'. The
region extracted can be controlled with the 'have_uv_param'
and 'uv_param' options. If 'fix_method' is set to
PK_fix_method_approx_c, then the function will attempt to
generate a single approximation for the entire surface.
If set to PK_LOGICAL_true, then multiple surfaces may be
returned.
(PK_LOGICAL_true)
'split' When extracting surfaces, or (when 'fix_method' is set to
PK_fix_method_approx_c) if the function is unable to return
a single surface representing the entire input surface, it
must choose to split in the u or v parametric directions.
This option controls which directions to allow splitting,
and whether to prefer splits in the u or v directions.
(PK_SURF_split_prefer_u_c)
'tolerance' The tolerance to be used when approximating surfaces.
(1.0e-5)
'have_uv_param' In some cases, there may be more than one valid region of
a surface. If set to PK_LOGICAL_true, then 'uv_param' is
used to select the region of interest. The resultant
surface(s) will include the point at parameters 'uv_param'
on the input 'surf'. If set to PK_LOGICAL_false, then the
resultant surface(s) will include the point at the low u
and v parametric ranges of the 'surf'.
(PK_LOGICAL_false)
'uv_param' The u and v parameters used to select the region of
interest, if 'have_uv_param' is set to PK_LOGICAL_true.
(0.0, 0.0)