![]() |
Radium Engine
1.7.0
|
The radium engine basically accept plugins to add functionnalities. An example could be a plug-in to support animation. ImGui, for instance, is implemented as a plugin.
Current possibilities include:
ComponentMessenger class.A plugin is integrated by placing the corresponding .so into ./Plugins/bin.
A plugin generally contains the following classes:
FooPlugin: defines the interface functions needed to be accepted by radium, and exports the widgets.FooSystem: the system will manage and update every component.FooComponent: object that has the ability to communicate with other components.One could also add:
FooTask: add some tasks (threads) to the TaskManager.FooRenderObject: define a new render object that will be rendered just like any others thanks to RenderObjectManager.// register the plugin to the application virtual void registerPlugin( Ra::Engine::RadiumEngine* engine ) override; // notify the need for a place in the toolbox virtual bool doAddWidget( QString& name ) override; virtual QWidget* getWidget() override; // notify the need for a new menu entry virtual bool doAddMenu() override; virtual QMenu* getMenu() override;
...
Will communicate with others components through Entities.
Please see Entity, EntityManager, Component, ComponentMessenger.
...