Blue Brain BioExplorer
FlyingModeManipulator.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2024, EPFL/Blue Brain Project
3  *
4  * The Blue Brain BioExplorer is a tool for scientists to extract and analyse
5  * scientific data from visualization
6  *
7  * This file is part of Blue Brain BioExplorer <https://github.com/BlueBrain/BioExplorer>
8  *
9  * This program is free software: you can redistribute it and/or modify it under
10  * the terms of the GNU General Public License as published by the Free Software
11  * Foundation, either version 3 of the License, or (at your option) any later
12  * version.
13  *
14  * This program is distributed in the hope that it will be useful, but WITHOUT
15  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU General Public License along with
20  * this program. If not, see <https://www.gnu.org/licenses/>.
21  */
22 
23 #pragma once
24 
25 #include "AbstractManipulator.h"
26 
27 namespace core
28 {
33 {
34 public:
35  FlyingModeManipulator(Camera& camera, KeyboardHandler& keyboardHandler);
37 
38 private:
39  void dragLeft(const Vector2i& to, const Vector2i& from) final;
40  void dragRight(const Vector2i& to, const Vector2i& from) final;
41  void dragMiddle(const Vector2i& to, const Vector2i& from) final;
42  void wheel(const Vector2i& position, float delta) final;
43 
44  void _strafeLeft();
45  void _strafeRight();
46  void _flyForward();
47  void _flyBackwards();
48 };
49 } // namespace core
The Camera class is an abstract interface for a camera in a 3D graphics application....
Definition: Camera.h:41
FlyingModeManipulator(Camera &camera, KeyboardHandler &keyboardHandler)
The KeyboardHandler class manages keyboard shortcuts and special keys.
glm::vec< 2, int32_t > Vector2i
Definition: MathTypes.h:130