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 [PF]

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


This function extends a surface.

This function offers partial support for facet geometry [PF]


Specific Errors:
    PK_ERROR_illegal_owner      Indicates that the extension could not be
                                performed because the surface is owned by
                                other geometry and the 'extension_shape'
                                option was not PK_extension_shape_linear_c
                                (MILD)

    PK_ERROR_is_attached        Indicates that the extension could not be
                                performed because the surface is attached
                                to topology and either the surface is a mesh or
                                the `extension shape' option was not
                                PK_extension_shape_linear_c (MILD)



This function extends a surface.  Options are available to specify parameter
and 3-space extensions, and the shape of the extension.  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
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; however,
see the 'extension_shape' option.


Received arguments:

option structure:
This function takes an option structure that 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.