PK_SURF_extend   


PK_ERROR_code_t                PK_SURF_extend
(
--- received arguments ---
PK_SURF_t                      surf,        --- surface
const PK_SURF_extend_o_t      *options,     --- options structure

--- returned arguments ---
PK_SURF_extend_status_t *const status       --- status
)


Extends a surface.


Specific Errors:
    PK_ERROR_bad_value          Indicates that a negative ratio value has
                                been supplied in the option structure.

    PK_ERROR_bad_uvbox          Indicates that an invalid uvbox has been
                                supplied.



This function extends a surface.  Options are available to specify parameter
and 3-space extensions.  A status value will be returned to indicate the
result of the extension.

The original surface will be extended and its parameterisation maintained.
However, note that if the surface is of class PK_CLASS_offset the
underlying surface will be extended. The surface will remain unchanged if the
an extension would result in the surface becoming invalid; however, see the
allow_partial_extension option.

The surface may be of any class recognised by Parasolid except
PK_CLASS_fsurf, and may be attached to topology or be orphan.


Received arguments:

option structure:

This function takes an option structure, which defines the extension required.
The default options will result in no change to the surface and a return
status of PK_SURF_extend_unextended_c.  Details of the option structure
can be found in its documentation.


Returned arguments:

status
status indicates the result of the extend operation.  Possible values are:



PK_SURF_extend_ok_c:  Indicates that the surface was successfully extended as
requested.



PK_SURF_extend_unextended_c:  Indicates that the surface has remained unchanged
as the existing surface is large enough.



PK_SURF_extend_partial_c:  Indicates that the surface was extended, but not
by the full amount requested.  It is returned when the
allow_partial_extension option has been provided and the entire extension
could not be performed without invalidating the surface.



PK_SURF_extend_invalid_c:  Indicates that the surface was not extended as it
would become invalid, for example self-intersecting.



PK_SURF_extend_failure_c:  Indicates that the extension algorithm failed.