Blue Brain BioExplorer
Plugin.h
Go to the documentation of this file.
1 /*
2  *
3  * The Blue Brain BioExplorer is a tool for scientists to extract and analyse
4  * scientific data from visualization
5  *
6  * This file is part of Blue Brain BioExplorer <https://github.com/BlueBrain/BioExplorer>
7  *
8  * Copyright 2020-2024 Blue BrainProject / EPFL
9  *
10  * This program is free software: you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License as published by the Free Software
12  * Foundation, either version 3 of the License, or (at your option) any later
13  * version.
14  *
15  * This program is distributed in the hope that it will be useful, but WITHOUT
16  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18  * details.
19  *
20  * You should have received a copy of the GNU General Public License along with
21  * this program. If not, see <https://www.gnu.org/licenses/>.
22  */
23 
24 #pragma once
25 
27 
28 namespace core
29 {
31 class PluginAPI
32 {
33 public:
34  virtual ~PluginAPI() = default;
35 
36  virtual Engine& getEngine() = 0;
37 
39  virtual Scene& getScene() = 0;
40 
43 
46 
49 
52 
54  virtual Camera& getCamera() = 0;
55 
57  virtual Renderer& getRenderer() = 0;
58 
60  virtual void triggerRender() = 0;
61 
63  virtual void setActionInterface(const ActionInterfacePtr& interface) = 0;
64 };
65 } // namespace core
The Camera class is an abstract interface for a camera in a 3D graphics application....
Definition: Camera.h:41
Provides an abstract implementation of a ray-tracing engine.
Definition: Engine.h:59
The KeyboardHandler class manages keyboard shortcuts and special keys.
virtual ActionInterface * getActionInterface()=0
virtual KeyboardHandler & getKeyboardHandler()=0
virtual Renderer & getRenderer()=0
virtual Camera & getCamera()=0
virtual ~PluginAPI()=default
virtual void setActionInterface(const ActionInterfacePtr &interface)=0
virtual Engine & getEngine()=0
virtual Scene & getScene()=0
virtual void triggerRender()=0
virtual AbstractManipulator & getCameraManipulator()=0
virtual ParametersManager & getParametersManager()=0
Renderer class inherits from PropertyObject class The Renderer class has methods to render a FrameBuf...
Definition: Renderer.h:42
Scene object This object contains collections of geometries, materials and light sources that are use...
Definition: Scene.h:43
std::shared_ptr< ActionInterface > ActionInterfacePtr
Definition: Types.h:82