Carna Version 3.3.3
Loading...
Searching...
No Matches
CameraShowcaseControl.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 CAMERASHOWCASECONTROL_H_6014714286
13#define CAMERASHOWCASECONTROL_H_6014714286
14
15#include <Carna/Carna.h>
17#include <memory>
18
23namespace Carna
24{
25
26namespace presets
27{
28
29
30
31// ----------------------------------------------------------------------------------
32// CameraShowcaseControl
33// ----------------------------------------------------------------------------------
34
46{
47
49
50 struct Details;
51 const std::unique_ptr< Details > pimpl;
52
53public:
54
58 const static float DEFAULT_MIN_DISTANCE;
59
63 const static float DEFAULT_MAX_DISTANCE;
64
69
74
82 void setMinDistance( float minDistance );
83
91 void setMaxDistance( float maxDistance );
92
96 float minDistance() const;
97
101 float maxDistance() const;
102
106 virtual void setCamera( base::Spatial& ) override;
107
112 virtual void rotateHorizontally( float radians ) override;
113
118 virtual void rotateVertically( float radians ) override;
119
125 virtual void moveAxially( float units ) override;
126
127 virtual void moveLaterally( float unitsX, float unitsY ) override;
128
129}; // CameraShowcaseControl
130
131
132
133} // namespace Carna :: presets
134
135} // namespace Carna
136
137
138
139#endif // CAMERASHOWCASECONTROL_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 its parent node. The camera movement is bou...
virtual void rotateVertically(float radians) override
Rotates the camera around its local vector, shifted to its origin, by radians.
void setMinDistance(float minDistance)
Disallows the camera to move closer than minDistance to its origin. If the camera currently is closer...
virtual void moveAxially(float units) override
Moves the camera along its local vector by units. The location is bounded by the current values for ...
virtual void setCamera(base::Spatial &) override
Sets the node that is to be controlled by this instance.
float maxDistance() const
Tells maximum allowed distance of camera to its origin.
void setMaxDistance(float maxDistance)
Disallows the camera to move further away than maxDistance from its origin. If the camera currently i...
float minDistance() const
Tells minimum allowed distance of camera to its origin.
virtual void rotateHorizontally(float radians) override
Rotates the camera around the vector of its origin by radians.
static const float DEFAULT_MIN_DISTANCE
Holds default minimum allowed distance of the camera to its origin.
static const float DEFAULT_MAX_DISTANCE
Holds default maximum allowed distance of the camera to its origin.
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.
#define NON_COPYABLE
Features class it is placed in as non-copyable.