PK_PARTITION_receive_u   

PK_ERROR_code_t                  PK_PARTITION_receive_u
(
--- received arguments ---
const PK_UCHAR_t                *key,         --- key string
const PK_PARTITION_receive_o_t  *options,     --- receive options

--- returned arguments ---
PK_PARTITION_t            *const partition    --- partition
)


This function receives a partition from the given Unicode 'file' key.


Specific Errors:
    PK_ERROR_rollback_not_started  Partitioned rollback is not active (MILD)
    PK_ERROR_bad_key               Frustrum (UCOPRD) returned FR_bad_name
                                   (MILD)
    PK_ERROR_key_not_found         Frustrum (UCOPRD) returned FR_not_found
                                   (MILD)
    PK_ERROR_cant_open_file        Frustrum (UCOPRD) returned FR_open_fail
                                   (MILD)
    PK_ERROR_file_access_error     Error reading or closing the transmit file
                                   (MILD)
    PK_ERROR_schema_access_error   Error opening, closing, or reading the
                                   schema file (MILD)
    PK_ERROR_schema_corrupt        Contents of schema file not as expected
                                   (MILD)
    PK_ERROR_schema_incompatible   Schema contents in newer format (MILD)
    PK_ERROR_wrong_format          File does not have expected transmit
                                   format (MILD)
    PK_ERROR_wrong_version         File transmitted by incompatible version
                                   of modeller (MILD)
    PK_ERROR_wrong_version_delta   File transmitted by a version of the
                                   modeller that produces deltas
                                   incompatible with the current version
                                   (MILD)
    PK_ERROR_corrupt_file          Invalid transmit file contents (MILD)
    PK_ERROR_file_read_corruption  Corrupt data read, perhaps an NFS problem
                                   (MILD)
    PK_ERROR_applio_not_registered Application i/o functions not registered
                                   (only relevant if option 'transmit_format'
                                   is PK_transmit_format_applio_c) (MILD)
    PK_ERROR_size_mismatch         Transmitted parts created with different
                                   modeller resolution settings (MILD)
    PK_ERROR_attr_defn_mismatch    Transmitted attribute definitions do not
                                   match current ones (MILD)
    PK_ERROR_usfd_mismatch         File has incompatible user-field size (MILD)
    PK_ERROR_withdrawn_surface     File contains a withdrawn blend surface
                                   (MILD)
    PK_ERROR_FG_receive_failure    Part contains irretrievable foreign
                                   geometry (MILD)
    PK_ERROR_deltas_not_available  Frustrum (UCOPRD) returned FR_not_found for
                                   the delta file of the partition (only
                                   relevant if option 'receive_deltas' is
                                   PK_PARTITION_rcv_deltas_yes_c) (MILD)
    PK_ERROR_facet_geometry        The partition contains facet geometry but
                                   facet geometry is not enabled in the session
                                   (MILD)
    PK_ERROR_mixed_geometry        A part contains mixed facet and classic
                                   geometry (MILD)
    PK_ERROR_lattice_geometry      The partition contains a lattice but facet
                                   geometry is not enabled in the session
                                   (MILD)


Before this function can be used, it must be enabled by
PK_SESSION_set_unicode and then calls to PK_SESSION_register_frustrum and/or
PK_SESSION_register_applio.

The Unicode key is passed to the frustrum to identify the 'file' used to
receive the partition from.

The registered frustrum routine UCOPRD is called with guise FFCXMP
(transmit file containing a partition).

The transmit format option affects the format argument to UCOPRD as follows:

    transmit format                format

    PK_transmit_format_text_c      FFTEXT
    PK_transmit_format_binary_c    FFBNRY
    PK_transmit_format_neutral_c   FFBNRY
    PK_transmit_format_applio_c   (function 'open_uc_rd' is called -
                                   see PK_SESSION_register_applio)

If the 'receive_deltas' option is PK_PARTITION_rcv_deltas_no_c, the partition
will have only one (initial) pmark; if it is PK_PARTITION_rcv_deltas_later_c,
the partition will have two pmarks and will be 'at' the non-initial one. if it
is PK_PARTITION_rcv_deltas_yes_c, the partition will have all the pmarks with
which it was transmitted and will be 'at' the same pmark as when it was
transmitted.

If the option 'receive_deltas' is PK_PARTITION_rcv_deltas_yes_c and
'allow_missing_deltas' is PK_LOGICAL_true, a partition file without its
delta file will be received successfully but with no deltas, i.e. as though
'receive_deltas' were PK_PARTITION_rcv_deltas_no_c.

If the option 'receive_deltas' is not PK_PARTITION_rcv_deltas_no_c, and
'receive_prev_version_deltas' is set to PK_LOGICAL_true, it is assumed that an
attempt to read deltas transmitted from an earlier version of Parasolid will
be made. In this case a check is made on the version of Parasolid used to
transmit the file. Where it is found to be from a version of Parasolid which
produces delta files incompatible with the current version, the error
PK_ERROR_wrong_version_delta will be returned.

When option 'receive_deltas' is not PK_PARTITION_rcv_deltas_no_c, and
'receive_prev_version_deltas' is set to PK_LOGICAL_false, PK_PARTITION_receive
will return PK_ERROR_wrong_version_delta if the file is not transmitted from
the same version of Parasolid.

The option 'receive_prev_version_deltas' is ignored when 'receive_deltas' is
PK_PARTITION_rcv_deltas_no_c.