Carna Version 3.3.3
Loading...
Searching...
No Matches
CameraNavigationControl.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010 - 2015 Leonid Kostrykin
3 *
4 * Chair of Medical Engineering (mediTEC)
5 * RWTH Aachen University
6 * Pauwelsstr. 20
7 * 52074 Aachen
8 * Germany
9 *
10 */
11
12#ifndef CAMERANAVIGATIONCONTROL_H_6014714286
13#define CAMERANAVIGATIONCONTROL_H_6014714286
14
15#include <Carna/Carna.h>
17#include <memory>
18
23namespace Carna
24{
25
26namespace presets
27{
28
29
30
31// ----------------------------------------------------------------------------------
32// CameraNavigationControl
33// ----------------------------------------------------------------------------------
34
43{
44
46
47 struct Details;
48 const std::unique_ptr< Details > pimpl;
49
50public:
51
56
61
62 virtual void setCamera( base::Spatial& ) override;
63
68 virtual void rotateHorizontally( float radians ) override;
69
74 virtual void rotateVertically( float radians ) override;
75
80 virtual void moveAxially( float units ) override;
81
82 virtual void moveLaterally( float unitsX, float unitsY ) override;
83
84}; // CameraNavigationControl
85
86
87
88} // namespace Carna :: presets
89
90} // namespace Carna
91
92
93
94#endif // CAMERANAVIGATIONCONTROL_H_6014714286
Defines Carna::base::CameraControl.
Defines interface for intuitive Camera control.
Represents a spatial scene element. It's location is determined relatively to another spatial that is...
Definition Spatial.h:45
Implements base::CameraControl, rotates the camera around itself and allows completely free camera mo...
virtual void setCamera(base::Spatial &) override
Sets the camera that this object should control.
virtual void rotateHorizontally(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 rotateVertically(float radians) override
Rotates the camera around its local vector by radians.
virtual void moveAxially(float units) override
Moves the camera along its local vector by units.
#define NON_COPYABLE
Features class it is placed in as non-copyable.