PK_PARTITION_transmit   

PK_ERROR_code_t                  PK_PARTITION_transmit
(
--- received arguments ---
PK_PARTITION_t                   partition,   --- partition
const char                      *key,         --- key string
const PK_PARTITION_transmit_o_t *options      --- transmit options
)


This function transmits the given 'partition' to the given 'file' 'key'.


Specific Errors:
    PK_ERROR_rollback_not_started  Partitioned rollback is not active (MILD)
    PK_ERROR_bad_partition         Partition cannot be transmitted (MILD)
    PK_ERROR_bad_mark              Partition is at its initial pmark or
                                      bad pmarks to transmit (MILD)
    PK_ERROR_not_at_pmark          Partition is not at a pmark (MILD)
    PK_ERROR_bad_key               Frustrum (FFOPWR) returned FR_bad_name
                                     (MILD)
    PK_ERROR_key_in_use            Frustrum (FFOPWR) returned FR_already_exists
                                     (MILD)
    PK_ERROR_cant_open_file        Frustrum (FFOPWR) returned FR_open_fail
                                     (MILD)
    PK_ERROR_schema_access_error   Error opening, closing, or writing the
                                      schema file (MILD)
    PK_ERROR_wrong_version         Cannot transmit as given version (MILD)
    PK_ERROR_file_access_error     Error writing or closing the transmit file
                                     (MILD)
    PK_ERROR_disc_full             Frustrum (FFWRIT) returned FR_disc_full
                                     (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_indexio_not_registered
                                   Application i/o functions not registered
                                     (only relevant if option 'transmit_format'
                                      is PK_transmit_format_indexio_c) (MILD)
    PK_ERROR_bad_text_conversion   Some partition data could not be written
                                     (only relevant if option 'transmit_format'
                                      is PK_transmit_format_text_c) (MILD)
    PK_ERROR_facet_geometry        Partition contains facet geometry but facet
                                   geometry is not enabled in the session
                                     (MILD)
    PK_ERROR_mesh_not_found        Not all requested mesh data successfully
                                      received (MILD)
    PK_ERROR_partial_pmark         Partial pmarks cannot be transmitted (MILD)


The 'key' is passed to the frustrum, identifying to which 'file' the
'partition' will be transmitted.

The frustrum routine FFOPWR is called with guise FFCXMP (transmit file
containing a partition). The 'partition' must not be at its initial pmark.

If the 'transmit_deltas' and 'pmarks' options include pmark deltas to transmit
then the pmarks and deltas are written to a separate file, with the same 'key',
which is opened with guise FFCXMD (transmit file containing deltas). In this
case or if the 'transmit_deltas' option is PK_PARTITION_xmt_deltas_later_c,
the 'partition' must be at a non-initial pmark.

The 'transmit_format' option affects the format argument to FFOPWR 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_wr' is called -
                                   see PK_SESSION_register_applio)
    PK_transmit_format_indexio_c  (function 'ffopwr' is called -
                                   see PK_SESSION_register_indexio)

Light partitions cannot be transmitted.

Partitions that allow partial pmarks have additional restrictions. When
transmitting partitions without deltas, force-loading remaining delayed-load
meshes is required; if the partition was at a partial pmark, the transmit
operation will change the partition such that it is no longer at its partial
pmark.  Partial pmarks (including the current pmark) are not allowed to be
transmitted during a 'transmit_deltas' operation.

See Transmitting a partition for more information.

Note: You are advised to consult with Parasolid Support before using
partial pmarks.