 |
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.