LibCarna Version 3.4.0
Loading...
Searching...
No Matches
CameraNavigationControl.hpp
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010 - 2016 Leonid Kostrykin
3 *
4 * Chair of Medical Engineering (mediTEC)
5 * RWTH Aachen University
6 * Pauwelsstr. 20
7 * 52074 Aachen
8 * Germany
9 *
10 *
11 * Copyright (C) 2021 - 2025 Leonid Kostrykin
12 *
13 */
14
15#ifndef CAMERANAVIGATIONCONTROL_H_6014714286
16#define CAMERANAVIGATIONCONTROL_H_6014714286
17
18#include <LibCarna/LibCarna.hpp>
20#include <memory>
21
27namespace LibCarna
28{
29
30namespace presets
31{
32
33
34
35// ----------------------------------------------------------------------------------
36// CameraNavigationControl
37// ----------------------------------------------------------------------------------
38
46{
47
49
50 struct Details;
51 const std::unique_ptr< Details > pimpl;
52
53public:
54
59
64
65 virtual void setCamera( base::Spatial& ) override;
66
71 virtual void rotateHorizontally( float radians ) override;
72
77 virtual void rotateVertically( float radians ) override;
78
83 virtual void moveAxially( float units ) override;
84
85 virtual void moveLaterally( float unitsX, float unitsY ) override;
86
87}; // CameraNavigationControl
88
89
90
91} // namespace LibCarna :: presets
92
93} // namespace LibCarna
94
95
96
97#endif // CAMERANAVIGATIONCONTROL_H_6014714286
Defines LibCarna::base::CameraControl.
Contains forward-declarations.
Defines interface for intuitive Camera control.
Represents a spatial scene element. It's location is determined relatively to another spatial that is...
Definition Spatial.hpp:48
Implements base::CameraControl, rotates the camera around itself and allows completely free camera mo...
virtual void moveAxially(float units) override
Moves the camera along its local vector by units.
virtual void setCamera(base::Spatial &) override
Sets the camera that this object should control.
virtual void rotateVertically(float radians) override
Rotates the camera around its local vector by radians.
virtual void moveLaterally(float unitsX, float unitsY) override
Moves the camera along its x-/y-axis. The parameters of this movement depend on the implementation.
virtual void rotateHorizontally(float radians) override
Rotates the camera around its local vector by radians.
#define NON_COPYABLE
Marks the class that it is placed in as non-copyable.