PK_BODY_extend   

PK_ERROR_code_t                  PK_BODY_extend
(
--- received arguments ---
PK_BODY_t                        body,             --- body
int                              n_boundary_edges, --- number of boundary edges
const PK_EDGE_t                 *boundary_edges,   --- boundary edges
const PK_BODY_extend_o_t        *options,          --- options structure [PF]

--- returned arguments ---
PK_TOPOL_track_r_t        *const tracking,         --- tracking information
PK_TOPOL_local_r_t        *const results           --- status information
)


This function will extend a body across a set of laminar boundary edges.

This function offers partial support for facet geometry [PF]


Specific Errors:
    PK_ERROR_unsuitable_entity      body is not a sheet or general body
                                    (MILD)
    PK_ERROR_not_in_same_body       all the edges are not in the same body
                                    (MILD)
    PK_ERROR_cant_extend            failed to extend the body
                                    (SERIOUS)
    PK_ERROR_bad_edge               boundary edges are not laminar
                                    (MILD)
    PK_ERROR_wrong_entity           unexpected target entity
                                    (MILD)
    PK_ERROR_bad_combination        non-terminal vertex of the chain of
                                    edges is specified with 'extend_side_data'
                                    (MILD)
    PK_ERROR_non_manifold           boundary edges are not locally manifold or
                                    their extension intersects non-manifold
                                    edges or vertices of the target body
                                    (SERIOUS)


PK_BODY_extend will extend a body across given boundaries of laminar edges.
Options are available to specify the shape and extent of the extension.
Tracking and status information is returned.

See Extending Body for more information.

The function receives:

'body'             the body to extend.  This must be a sheet or general
                   body.

'n_boundary_edges' number of boundary edges.  This must be positive.

'boundary_edges'   an array of laminar edges belonging to 'body' and
                   defining the boundaries which need to be extended
                   across.  The edges need not form a single connected chain.

Further options can be supplied in the PK_BODY_extend_o_t option structure.

The function will return:

'tracking'         tracking information identifying any new faces with the
                   corresponding received boundary edge or vertex, and any
                   new laminar side edges with the corresponding received
                   boundary vertex.

'results'          a structure containing the results of the operation.
                   If the function returns PK_ERROR_no_errors, the result of
                   the operation will be indicated by the value of the
                   'status' field of this structure.  When this value is not
                   PK_local_status_ok_c or PK_local_status_nocheck_c, it
                   indicates an operation failure and an array of entities
                   involved in this failure is returned through the field
                   'error_entities', when possible.

                   For more information regarding the failure status code and
                   the error_entities, refer to the PK documentation of the
                   PK_TOPOL_local_r_t structure.