 |
PK_SURF_extend_o_t |
|
struct PK_SURF_extend_o_s
{
int o_t_version; --- option structure version
PK_SURF_extension_t extension_type; --- the type of the extension
--- (PK_SURF_extension_none_c) [PF]
PK_VECTOR_t extension_point; --- point to extend to
PK_BOX_t extension_box; --- box to extend to
PK_UVBOX_t extension_uvbox; --- uv box to extend to [NF]
double u_ratio; --- ratio of the u parameter
--- range by which to extend
--- the low u boundary (0.0) [NF]
double U_ratio; --- ratio of the u parameter
--- range by which to extend
--- the high u boundary (0.0) [NF]
double v_ratio; --- ratio of the v parameter
--- range by which to extend
--- the low v boundary (0.0) [NF]
double V_ratio; --- ratio of the v parameter
--- range by which to extend
--- the high v boundary (0.0) [NF]
PK_LOGICAL_t allow_partial_extension;
--- if true we will allow
--- partial extensions
--- (PK_LOGICAL_false)
PK_extension_shape_t extension_shape; --- the method for extending
--- the surface
--- (PK_extension_shape_linear_c)
--- [PF]
PK_SURF_extend_update_t
update; --- update flag
--- (PK_SURF_extend_update_default_c)
};
typedef struct PK_SURF_extend_o_s PK_SURF_extend_o_t;
This structure holds optional controls for extending a surface.
Specific Errors:
PK_ERROR_bad_value Indicates that a negative ratio value has
been supplied (MILD)
PK_ERROR_bad_uvbox Indicates that an invalid 'extension_uvbox'
has been supplied (MILD)
PK_ERROR_bad_combination Indicates that the 'extension_shape'
option was not valid with the given
type of surface (MILD)
Used in:
PK_SURF_extend
The option structure defines options applicable to extending a surface. It
contains the following options:
'extension_type' Specifies what type of extension has been requested.
Note that the values PK_SURF_extension_uvbox_c and
PK_SURF_extension_ratio_c are not supported for facet
geometry.
'extension_point' A three-space point to extend the surface to. This field
will only be looked at if 'extension_type' has been set
to 'PK_SURF_extension_point_c'. The resulting extended
surface will not necessarily contain this point.
'extension_box' A three-space box to extend the surface to. This field
will only be looked at if 'extension_type' has been set
to 'PK_SURF_extension_box_c'.
'extension_uvbox' A parameter box to extend the surface to. This field
will only be looked at if 'extension_type' has been set
to 'PK_SURF_extension_uvbox_c'.
The next four fields will only be looked at if the 'extension_type' field
has been set to 'PK_SURF_extension_ratio_c'. Values must not be less than
zero. A value of zero would provide no extension; a value of 0.1 would extend
a boundary by one tenth of the existing range of the boundary's parameter.
'u_ratio' An extension of the low u boundary of the surface,
expressed as a ratio of the existing u parameter
range.
'U_ratio' An extension of the high u boundary of the surface,
expressed as a ratio of the existing u parameter
range.
'v_ratio' An extension of the low v boundary of the surface,
expressed as a ratio of the existing v parameter
range.
'V_ratio' An extension of the high v boundary of the surface,
expressed as a ratio of the existing v parameter
range.
'allow_partial_extension'
Whether the surface will still be extended by less
than the full extension requested in cases where
the full extension would result in an invalid surface.
'extension_shape' Specifies the shape of the extension. This option
must be set to PK_extension_shape_linear_c for surfaces
of class PK_CLASS_blendsf, and for any surfaces
that are attached to topology or owned by other geometry.
The extension of blend surfaces in the u parameter
direction follows the shape of the underlying surfaces,
rather than being linear.
Note that the values PK_extension_shape_soft_c,
PK_extension_shape_reflective_c,
PK_extension_shape_natural_c and PK_extension_shape_arc_c
are not supported for facet geometry.
'update' The default value allows applications to take
advantage of the latest enhancements to the surface
extension algorithm. To maintain consistency when
rebuilding models created in a previous version of
Parasolid, a non-default value should be specified.
The default value is PK_SURF_extend_update_default_c.