Further Implementation Decisions
<<< The Example Application | Chapters | Using the PK Interface >>> |
This appendix discusses other functionality that you may want to consider using when integrating your application with Parasolid. None of the issues discussed here are essential in order to get a working frustrum. For more information on any of the functionality discussed here, refer to the full Parasolid documentation.
In addition to an error handler, you can register a signal handler with the operating system to recover from run-time errors and/or user interrupts.
If you don't use a signal handler, then your application will crash when a run-time error occurs.
Parasolid has two types of rollback, both of which are available through the same mechanism.
If implemented, you can use rollback in your application in several ways. For example:
You could implement partition level rollback so that each partition has only one part, users could make changes to individual parts and roll them back without affecting other parts in the session.
Rollback is enabled by registering a delta frustrum before the session is started. The delta frustrum performs a similar function to the standard frustrum, and specifies how rollback (delta) information is written and read.
Your application may need to track various entities within any Parasolid session. For example, tracking is required in order to:
There are several ways of tracking entities in Parasolid, and you need to decide which approach you want to take. The most straightforward ways of tracking entities are:
There are a number of session level parameters that you can set up to alter the behavior for the whole session. Example of session-wide parameters include:
Session level parameters are set just before the Parasolid session is started. For example, journaling can be switched on for the current session as follows:
PK_SESSION_start_o_t options; PK_SESSION_start_o_m( options ); options.journal_file = "c:\\temp\\test" PK_SESSION_start( &options ); |
<<< The Example Application | Chapters | Using the PK Interface >>> |