PK_ERROR_code_t PK_PARTITION_receive
(
--- received arguments ---
const char *key, --- key string
const PK_PARTITION_receive_o_t *options, --- receive options
--- returned arguments ---
PK_PARTITION_t *partition --- partition
)
This function receives a partition from the given 'file' key.
Specific Errors:
PK_ERROR_rollback_not_started Partitioned rollback is not active
PK_ERROR_bad_key Frustrum (FFOPWR) returned FR_bad_name
PK_ERROR_key_not_found Frustrum (FFOPWR) returned FR_not_found
PK_ERROR_cant_open_file Frustrum (FFOPWR) returned FR_open_fail
PK_ERROR_file_access_error Error reading or closing the transmit file
PK_ERROR_schema_access_error Error opening, closing, or reading the
schema file
PK_ERROR_schema_corrupt Contents of schema file not as expected
PK_ERROR_schema_incompatible Schema contents in newer format
PK_ERROR_wrong_format File does not have expected transmit format
PK_ERROR_wrong_version File transmitted by incompatible version
of modeller
PK_ERROR_wrong_version_delta File transmitted by a version of the
modeller that produces deltas incompatible
with the current version
PK_ERROR_corrupt_file Invalid transmit file contents
PK_ERROR_file_read_corruption Corrupt data read, perhaps an NFS problem
PK_ERROR_applio_not_registered Application i/o functions not registered
(only relevant if options->transmit_format
is PK_transmit_format_applio)
PK_ERROR_size_mismatch Transmitted parts created with different
modeller resolution settings
PK_ERROR_attr_defn_mismatch Transmitted attribute definitions do not
match current ones
PK_ERROR_usfd_mismatch File has incompatible user-field size
PK_ERROR_withdrawn_surface File contains a withdrawn blend surface
PK_ERROR_FG_receive_failure Part contains irretrievable foreign
geometry
The key is passed to the frustrum to identify the 'file' used to receive the
partition from.
The frustrum routine FFOPRD is called with guise FFCXMP (transmit file
containing a partition).
The transmit format option affects the format argument to FFOPRD 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 (registered function is called, not FFOPWR -
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 the option receive_deltas is PK_PARTITION_rcv_deltas_later_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 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 PK_PARTITION_rcv_deltas_later_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.