![]() |
PK_PARTITION_receive_o_t |
struct PK_PARTITION_receive_o_s
{
int o_t_version;
--- version number
PK_transmit_format_t transmit_format;
--- (PK_transmit_format_neutral_c)
PK_LOGICAL_t receive_user_fields;
--- (PK_LOGICAL_false)
PK_PARTITION_rcv_deltas_t receive_deltas;
--- (PK_PARTITION_rcv_deltas_no_c)
PK_LOGICAL_t receive_prev_version_deltas;
--- (PK_LOGICAL_false)
PK_ATTDEF_name_cb_f_t attdef_callback;
--- (NULL)
PK_POINTER_t attdef_context;
--- (NULL)
PK_ATTDEF_cb_on_t attdef_callback_on;
--- (PK_ATTDEF_cb_on_mismatch_c)
const PK_MEMORY_block_t *deltas_block;
--- (NULL)
PK_LOGICAL_t receive_all_attdefs;
--- (PK_LOGICAL_true)
PK_LOGICAL_t allow_missing_deltas;
--- (PK_LOGICAL_false)
PK_receive_compound_t receive_compound;
--- (PK_receive_compound_split_c)
PK_receive_using_seek_t receive_using_seek;
--- (PK_receive_using_seek_no_c)
PK_receive_mixed_t receive_mixed;
--- (PK_receive_mixed_fail_c)
};
typedef struct PK_PARTITION_receive_o_s PK_PARTITION_receive_o_t;
This option structure is supplied to PK_PARTITION_receive.
PK_PARTITION_receive
PK_PARTITION_receive_b
PK_PARTITION_receive_u
Description of fields:
'transmit_format' Format of the 'file'. Permitted values are
PK_transmit_format_text_c
PK_transmit_format_binary_c
PK_transmit_format_typed_binary_c
PK_transmit_format_neutral_c
PK_transmit_format_applio_c
'receive_user_fields' PK_LOGICAL_true if user fields are to be received
'receive_deltas' Whether to receive no deltas, delay receiving deltas
until a later call to PK_PARTITION_receive_deltas, or
receive deltas with the partition.
'receive_prev_version_deltas'
Used to indicate that deltas transmitted from
earlier compatible versions of Parasolid may be
received. This field is ignored if 'receive_deltas'
is set to PK_PARTITION_rcv_deltas_no_c
'attdef_callback' Applications which intend to use this option should
contact Parasolid Technical Support for advice.
'attdef_context' Context used to pass any application information to
'attdef_callback'.
'attdef_callback_on' This option is ignored unless 'attdef_callback' is
non-null. Applications which intend to use this
option should contact Parasolid Technical Support
for advice.
'deltas_block' Memory chain used by PK_PARTITION_receive_b when
'receive_deltas' is not PK_PARTITION_rcv_deltas_no_c,
otherwise ignored.
'receive_all_attdefs' Whether to receive all attribute definitions or only
those used in the partition and/or its deltas.
This field is ignored unless 'receive_deltas' is set
to PK_PARTITION_rcv_deltas_later_c.
See here for more information.
'allow_missing_deltas' Whether to receive a partition without its delta file
instead of failing with PK_ERROR_deltas_not_available.
This field is ignored unless 'receive_deltas' is set
to PK_PARTITION_rcv_deltas_yes_c.
See here for more information.
'receive_compound' Controls receiving partition and delta files
containing compound bodies. Allowed values are:
PK_receive_compound_split_c:
Compound bodies in the partition are split into
individual bodies. This only has effect if
'receive_deltas' is set to
PK_PARTITION_rcv_deltas_no_c - otherwise the behaviour
is the same as with PK_receive_compound_fail_c.
PK_receive_compound_keep_c:
Receive compound bodies as they are.
PK_receive_compound_fail_c:
Fail with PK_ERROR_compound_body if the file
contains compound bodies.
If any compound bodies have been split then a
report will be returned via the Parasolid Report
mechanism containing a record of 'type'
PK_REPORT_record_type_3_c.
This record will have a 'status' of
PK_REPORT_3_compound_split_c and will contain
information on the compound bodies that were
split when the file was received:
- 'n_int_arrays' and 'n_item_arrays'
the number of bodies received from the partition
file.
- 'int_arrays'
for each body received from the partition file,
an array of child body identifiers if the body
was a compound body, otherwise an empty array.
- 'item_arrays'
for each body received from the partition file,
an array of split bodies if the body was a
compound body, otherwise an array containing
just that body.
'receive_using_seek' How any lazily received model data in the partition
are handled if they are not immediately needed.
If this option is PK_receive_using_seek_no_c then
lazily received model data in the file will all be
read sequentially in the same Parasolid call.
If this option is PK_receive_using_seek_yes_c then
only data needed for individual pieces of the model
will be received, which will be faster in many
scenarios and avoids unneeded model data taking up
internal memory.
To support PK_receive_using_seek_yes_c for mesh
data, the partition file must have been transmitted
with the option 'transmit_meshes' set to
PK_transmit_meshes_embedded_c and the Frustrum
seek function 'ffskxt' must be registered using
PK_SESSION_register_fru_2. If the partition file
was transmitted with PK_transmit_meshes_separate_c
then this option is ignored for mesh data.
This option is ignored for PK_PARTITION_receive_b.
'receive_mixed' Controls receiving transmitted files that contain
parts with both facet and classic geometry.
If this option is set to the default
PK_receive_mixed_fail_c and the file contains mixed
parts, then receive will fail with
PK_ERROR_mixed_geometry.
To allow receiving mixed parts, this option should
be set to PK_receive_mixed_allow_c.
PK_receive_mixed_make_facet_c is for future
enhancement and will return
PK_ERROR_not_implemented.