Initialization and Termination
List of: Discussion Topic
Subjects: Building Applications, Modeler Control
Contents: Application Development Manual

Applications must initialize the ACIS modeler and the individual component libraries before use, and terminate them after use.

APIs to Start and Stop the Modeler

Two APIs are provided for starting and stopping the ACIS modeler.

api_start_modeller The API api_start_modeller starts the modeler, defines some global variables, and does a simple check on whether static initializers have been called (which can be a problem for non-C++ application developers).


Its call must precede calls to any other API, DI function, or class method.

api_stop_modeller The API api_stop_modeller attempts to release all memory allocated by ACIS. The application should not attempt to reference any data returned by earlier calls to APIs or DI functions after calling api_stop_modeller.


Its call must not be followed by calls to any other API, DI function, or class method.

Note These APIs use the British spelling of the word "modeler" in their names. This spelling uses two ls: modeller.

Component Libraries

The libraries for each ACIS component must be initialized before use and terminated after use. When an ACIS component is initialized, it initializes any components upon which it depends, so an application only needs to initialize the highest level components in the flow of dependency that it uses. It is the developer's responsibility to make sure any component is initialized by the application before use.

Any component library that was initialized must be terminated. Libraries should be terminated in the reverse order from which they were initialized, to avoid memory problems.

Refer to Chapter 3, Object Libraries, for information about the functions for component library initialization and termination. Refer to the 3D ACIS Getting Started Guide for a component dependency diagram.

Other Functions

Some ACIS components may require calls to additional initialization or termination functions. For example, api_rh_initialise_image_utilities initializes the rendering base Image Format Utilities Library. Refer to the function lists in online help for information on initialization and termination functions.
PDF/APPDEV/02FRAME.PDF
HTM/DATA/ACIS/APPDEV/02FRAME/0001.HTM