Carna Version 3.3.3
Loading...
Searching...
No Matches
CameraControl.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 CAMERACONTROL_H_6014714286
13#define CAMERACONTROL_H_6014714286
14
15#include <Carna/Carna.h>
16
21namespace Carna
22{
23
24namespace base
25{
26
27
28
29// ----------------------------------------------------------------------------------
30// CameraControl
31// ----------------------------------------------------------------------------------
32
39class CARNA_LIB CameraControl
40{
41
43
44public:
45
49 virtual ~CameraControl();
50
54 virtual void setCamera( Spatial& camera ) = 0;
55
60 virtual void rotateHorizontally( float radians ) = 0;
61
66 virtual void rotateVertically( float radians ) = 0;
67
72 virtual void moveAxially( float distance ) = 0;
73
78 virtual void moveLaterally( float distanceX, float distanceY ) = 0;
79
80}; // CameraControl
81
82
83
84} // namespace Carna :: base
85
86} // namespace Carna
87
88
89
90#endif // CAMERACONTROL_H_6014714286
Represents an association.
Definition Association.h:45
Defines interface for intuitive Camera control.
virtual ~CameraControl()
Does nothing.
virtual void setCamera(Spatial &camera)=0
Sets the camera that this object should control.
virtual void rotateHorizontally(float radians)=0
Rotates the previously set camera horizontally. The rotation axis depends on the implementation.
virtual void rotateVertically(float radians)=0
Rotates the previously set camera vertically. The rotation axis depends on the implementation.
virtual void moveAxially(float distance)=0
Moves the camera along its z-axis. The parameters of this movement depend on the implementation.
virtual void moveLaterally(float distanceX, float distanceY)=0
Moves the camera along its x-/y-axis. The parameters of this movement depend on the implementation.
Represents a spatial scene element. It's location is determined relatively to another spatial that is...
Definition Spatial.h:45
#define NON_COPYABLE
Features class it is placed in as non-copyable.