Loading [MathJax]/extensions/tex2jax.js
Carna  Version 3.3.2
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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 
23 namespace Carna
24 {
25 
26 namespace presets
27 {
28 
29 
30 
31 // ----------------------------------------------------------------------------------
32 // CameraNavigationControl
33 // ----------------------------------------------------------------------------------
34 
43 {
44 
46 
47  struct Details;
48  const std::unique_ptr< Details > pimpl;
49 
50 public:
51 
56 
60  virtual ~CameraNavigationControl();
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
Represents a spatial scene element. It&#39;s location is determined relatively to another spatial that is...
Definition: Spatial.h:44
Defines Carna::base::CameraControl.
Implements base::CameraControl, rotates the camera around itself and allows completely free camera mo...
Defines interface for intuitive Camera control.
Definition: CameraControl.h:39
#define NON_COPYABLE
Features class it is placed in as non-copyable.
Definition: noncopyable.h:109