OpenFlipper provides a flexible plugin interface. Plugins can implement various interfaces. Each interface provides special signals/slots or functions to communicate with the core or to react on special events. The most important interface is the BaseInterface. This Interface provides the core functionality for the plugin. E.g. loading the plugin, specifying its name and basic communication regrading object changes or view updates ( See BaseInterface for further details).
Additional functionality is provided by the other interfaces. For user interaction one typically uses the MouseInterface or KeyInterface which will provide events based on mouse or keyboard interaction.
The interface of OpenFlipper can also be used by plugins. The MenubarInterface provides functions to add additional icons to the menubar. Using the ToolboxInterface one can add widgets to the toolbox on the right of the OpenFlipper screen.
This is the Basic plugin Interface. All Plugins have to provide at least this interface. It offers plugin name and some important Signals and slots which will be called by the main application. See BaseInterface for details.
You have to provide this interface if you want to get key events in your plugin ( KeyInterface ).
This interface is used to deliver mouse events to a plugin ( MouseInterface ).
Provides functions to handle mesh files and load / unload geometry objects into the scene graph ( LoadSaveInterface ).
Provides a function to add toolbar buttons. ( ToolbarInterface )
Add context menu entries in your plugin. ( ContextMenuInterface )
Provides a function to create an entry in the menubar ( MenuInterface ).
Provides functions to create a separate widget in the toolbox on the right ( ToolboxInterface ).
This is an Interface for Logging to the included textedit widget. You can log to different levels (LOGOUT,LOGWARN,LOGERR,LOGINFO) ( LoggingInterface ).
Allows your plugin to provide a texture. ( TextureInterface )
Handle mouse picking in your plugin ( PickingInterface )
This interface is used to call functions across different plugins ( RPCInterface ).
Provides functions to read and write custom filetypes ( FileInterface )
This interface is used to add additional view widgets ( ViewInterface ).
For plugins who provide scriptable functions ( ScriptInterface )
This interface is used to display messages in the status bar ( StatusbarInterface )
This Interface is used by plugins which will provide their own options by integrating its own options widget into OpenFlipper's options window. ( OptionsInterface )
Use this interface to backup data ( BackupInterface )
Receive an event if an ini file is opened by the application. ( INIInterface )