![]() |
PK_PART_receive_o_t |
struct PK_PART_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_ATTDEF_mismatch_t attdef_mismatch; --- (PK_ATTDEF_mismatch_fail_c) int part_index; --- (0) int n_part_indices; --- (0) const int *part_indices; --- (NULL) int n_identifiers; --- (0) const int *identifiers; --- (NULL) PK_POINTER_t receive_indexed_context; --- (NULL) PK_LOGICAL_t key_is_partition; --- (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_PART_receive_o_s PK_PART_receive_o_t; This option structure contains options pertinent to receiving parts.
PK_DEBUG_receive
PK_PART_receive
PK_PART_receive_b
PK_PART_receive_u
Description of fields: 'transmit_format' Format of the XT data. 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_indexio_c PK_transmit_format_applio_c 'receive_user_fields' PK_LOGICAL_true if user fields are to be received. 'attdef_mismatch' If this option is PK_ATTDEF_mismatch_ignore_c then parts containing mismatched attribute definitions will be received, but without the mismatched attribute definitions and their associated attributes. See here for more information. 'part_index' For XT files containing multiple bodies, when 'transmit_format' is PK_transmit_format_indexio_c, this is the index of the required body from the array passed by the application to part transmit. This option is ignored if 'n_part_indices' > 0. 'part_indices' An array of length 'n_part_indices' selecting the indices of the required bodies from the array passed by the application to part transmit. If 'n_part_indices' is 1, all 'identifiers' are from the single part index, otherwise 'n_part_indices' must equal 'n_identifiers' and each identifier is from the corresponding part index. The indices must be in a monotonically non-decreasing order. 'identifiers' An array of length 'n_identifiers' used to select a subset of a part to receive. If 'transmit_format' is PK_transmit_format_indexio_c then this should be an identifier of a single face and only the face in this array will be received. Otherwise, if 'n_part_indices' is > 0 then this should be identifiers of child bodies and only the child bodies in this array will be received. 'receive_indexed_context' Application specific storage when 'transmit_format' is PK_transmit_format_indexio_c. 'key_is_partition' Setting this option to PK_LOGICAL_true when 'transmit_format' is PK_transmit_format_indexio_c, enables XT data representing an indexed partition to be received. The XT data will be opened with guise FFCXMP rather than FFCXMT, and the XT data must represent an indexed partition. The ordering of bodies used to define their indices is that of PK_PARTITION_ask_bodies. 'receive_compound' Controls receiving transmit files containing compound bodies. Allowed values are: PK_receive_compound_split_c: split any compound bodies into individual bodies 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 parts received from the transmit file. - 'int_arrays' for each part received from the transmit file, an array of child body identifiers if the part was a compound body, otherwise an empty array. - 'item_arrays' for each part received from the transmit file, an array of split bodies if the part was a compound body, otherwise an array containing just that part. 'receive_using_seek' How any delayed-load model data in the parts are handled if they are not immediately needed. If this option is PK_receive_using_seek_no_c then delayed-load 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 part 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 part file was transmitted with PK_transmit_meshes_separate_c then this option is ignored for mesh data. If the part is received or copied to a partition that allows partial pmarks, the application is responsible for maintaining their source copy of the delayed-load information as it may need to be loaded more than once. Transmitting a part with delayed-load model data that is still outstanding will load the missing data as part of the part transmit. This option is ignored for PK_PART_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.