LibCarna Version 3.4.0
Loading...
Searching...
No Matches
PerspectiveControl.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 PERSPECTIVECONTROL_H_6014714286
16#define PERSPECTIVECONTROL_H_6014714286
17
18#include <LibCarna/LibCarna.hpp>
20
26namespace LibCarna
27{
28
29namespace presets
30{
31
32
33
34// ----------------------------------------------------------------------------------
35// PerspectiveControl
36// ----------------------------------------------------------------------------------
37
44{
45
47
48 struct Details;
49 const std::unique_ptr< Details > pimpl;
50
51public:
52
56 const static float DEFAULT_FOV_HORIZONTAL;
57
62
67
71 virtual void updateProjection( base::math::Matrix4f& perspectiveProjection ) const override;
72
77 void setFovHorizontal( float radians );
78
82 float fovHorizontal() const;
83
84}; // PerspectiveControl
85
86
87
88} // namespace LibCarna :: presets
89
90} // namespace LibCarna
91
92
93
94#endif // PERSPECTIVECONTROL_H_6014714286
Contains forward-declarations.
Defines LibCarna::base::ProjectionControl.
Controls projection matrices.
Controls projection matrices that induce frustum-shaped visible volume.
void setFovHorizontal(float radians)
Sets the half angle between the left and the right frustum planes.
static const float DEFAULT_FOV_HORIZONTAL
Holds the default half angle betwen the left and the right frustum planes.
float fovHorizontal() const
Tells the half angle between the left and the right frustum planes.
virtual void updateProjection(base::math::Matrix4f &perspectiveProjection) const override
Creates perspectiveProjection matrix using base::math::frustum4f.
Eigen::Matrix< float, 4, 4, Eigen::ColMajor > Matrix4f
Defines matrix.
Definition math.hpp:197
#define NON_COPYABLE
Marks the class that it is placed in as non-copyable.