![]() |
Blue Brain BioExplorer
|
#include <ExtensionPlugin.h>
Public Member Functions | |
virtual | ~ExtensionPlugin ()=default |
virtual void | init () |
virtual void | preRender () |
virtual void | postRender () |
Protected Attributes | |
PluginAPI * | _api {nullptr} |
Friends | |
class | PluginManager |
Defines the abstract representation of an extension plug-in. What we mean by extension is a set a functionalities that are not provided by the core of the application. For example, exposing a REST interface via HTTP, or streaming images to an distant display.
For a plugin to be loaded dynamically at runtime, the following function must be available in the library:
It must return the instance of the plugin, and from hereon Core owns the plugin and calls preRender() and postRender() accordingly. In the shutdown sequence of Core, the plugin will be destructed properly.
Definition at line 49 of file ExtensionPlugin.h.
|
virtualdefault |
|
inlinevirtual |
Called from Core::Core right after the engine has been created
Reimplemented in core::VRPNPlugin, core::RocketsPlugin, core::OpenDeckPlugin, core::MultiviewPlugin, core::DeflectPlugin, bioexplorer::BioExplorerPlugin, sonataexplorer::SonataExplorerPlugin, bioexplorer::metabolism::MetabolismPlugin, and bioexplorer::mediamaker::MediaMakerPlugin.
Definition at line 57 of file ExtensionPlugin.h.
|
inlinevirtual |
Called from Core::postRender() after render() has finished.
Reimplemented in core::RocketsPlugin, core::DeflectPlugin, and bioexplorer::mediamaker::MediaMakerPlugin.
Definition at line 64 of file ExtensionPlugin.h.
|
inlinevirtual |
Called from Core::preRender() to prepare the engine based on the plugins' need for an upcoming render().
Reimplemented in core::VRPNPlugin, core::RocketsPlugin, core::DeflectPlugin, bioexplorer::BioExplorerPlugin, sonataexplorer::SonataExplorerPlugin, and bioexplorer::mediamaker::MediaMakerPlugin.
Definition at line 62 of file ExtensionPlugin.h.
|
friend |
Definition at line 68 of file ExtensionPlugin.h.
|
protected |
Definition at line 67 of file ExtensionPlugin.h.