PK_SESSION_start   

PK_ERROR_code_t             PK_SESSION_start
(
--- received arguments ---
const PK_SESSION_start_o_t *options
)


This function starts the Parasolid modeller.


Specific Errors:
    PK_ERROR_cant_open_jrnl        journal file could not be opened (MILD)
    PK_ERROR_incorrect_mc_conf     machine configuration not authorised for
                                   Parasolid (MILD)
    PK_ERROR_modeller_not_stopped  PK_SESSION_start already called since last
                                   call to PK_SESSION_stop (MILD)


The majority of PK functions may not be called before PK_SESSION_start
is called.  Calling such a function before calling PK_SESSION_start will
cause the error PK_ERROR_modeller_not_started.

The exceptions to this rule are:

    PK_DELTA_register_callbacks       must be called before PK_SESSION_start

    PK_ERROR_ask_callbacks            }
    PK_ERROR_ask_last                 }
    PK_ERROR_clear_last               }
    PK_ERROR_raise                    }
    PK_ERROR_register_callbacks       }
    PK_ERROR_reraise                  }
    PK_MEMORY_alloc                   }
    PK_MEMORY_ask_block_size          }
    PK_MEMORY_ask_callbacks           }
    PK_MEMORY_free                    }
    PK_MEMORY_register_callbacks      }
    PK_MEMORY_set_block_size          }
    PK_SESSION_abort                  } may be called at any time
    PK_SESSION_ask_binding            }
    PK_SESSION_ask_frustrum           }
    PK_SESSION_ask_kernel_version     }
    PK_SESSION_ask_schema_version     }
    PK_SESSION_ask_unicode            }
    PK_SESSION_is_in_kernel           }
    PK_SESSION_register_applio        }
    PK_SESSION_register_frustrum      }
    PK_SESSION_set_unicode            }
    PK_SESSION_tidy                   }
    PK_THREAD_ask_id                  }
    PK_THREAD_set_id                  }

PK_SESSION_start may not be called again until after PK_SESSION_stop is called.

PK_SESSION_start initialises the session controls as follows:

    PK_SESSION_ask_angle_precision    0.00000000001
    PK_SESSION_ask_behaviour          PK_SESSION_behave_as_unset_c
    PK_SESSION_ask_check_arguments    PK_LOGICAL_true
    PK_SESSION_ask_check_continuity   PK_LOGICAL_true
    PK_SESSION_ask_check_self_int     PK_LOGICAL_true
    PK_SESSION_ask_close_knots        PK_LOGICAL_false
    PK_SESSION_ask_err_reports        PK_ERROR_reports_off_c
    PK_SESSION_ask_facet_geometry     PK_facet_geometry_no_c
    PK_SESSION_ask_general_topology   PK_LOGICAL_false
    PK_SESSION_ask_mesh_angle         pi/9
    PK_SESSION_ask_precision          0.00000001
    PK_SESSION_ask_rebuild_history    { NULL, 0 }
    PK_SESSION_ask_swept_spun_surfs   PK_LOGICAL_false
    PK_SESSION_ask_tag_limit          0 (i.e. no limit)

On platforms where it is possible to vary the machine configuration in ways
that would affect Parasolid (e.g. the format of floating point numbers or the
endian-ness of numbers) the modeller will not be started if the current
configuration is not recognized as being safe.  In this case the error code
PK_ERROR_incorrect_mc_conf will be returned.