You can add your own modules to the sliceOmatic program. This module can have an interactive user interface, be controlled by the command line and share variables with the program's interface and other modules.
All user modules are in the form of DLLs.
To add a new module, you just have to place a new dll in one of the directory designed for this under sliceOmatic's installation path. When sliceOmatic start, it look in these directories for your dll and add the new module to the program.
Your DLL can create one of the 3 following entities: a new Mode, a new Tool or a new Class.
·A Mode is the principal work module of sliceOmatic. They appear in the Mode menu. Only one Mode can be activated at a time. Modes are associated with windows, so selecting a different window will switch the current mode.
·A Tool will appear in the Tool menu. Multiple tools can be opened at the same time. You should create a tool when you want to provide additional information or supporting functionality to the current Modes. Tools can be limited to certain Modes (2D, 3D or TAG).
·The Classes are used in creating the database tree. Classes are used to re-order the frames, modify the GLI images or create associations between the frames.
Your DLL must contain a set of predefined functions. If the function exist, then they will be used by sliceOmatic. With these functions, you can:
·Have a control interface associated with your module (the functions of the xxx_ctrl.cpp file),
·Can interact with the images (the functions of the xxx_ima.cpp file),
·Can control how the image is drawn (the functions of the xxx_draw.cpp or the xxx_callback files),
·Have your module react to changes occurring in other modules (with the functions of the xxx_update.cpp file),
·Add your own command to the command line mechanism (with the functions of the xxx_script.cpp file)
·Share variables internal to your modules with the rest of sliceOmatic's interface with the functions of the xxx_var.cpp file).
The development package include the following directories:
This manual will provide the definition of the functions needed in your DLL, the definition of the function in the libraries provided with sliceOmatic and a set of "how to" pages for specific problems you may encounter when programming for sliceOmatic.